A real estate data platform sounds like a six-month engineering project. It isn’t. I needed one for our 615-acre ranch sale outreach, so I built it in a weekend — 264 parcels mapped, $26.8M of land valuation pipeline, 30 owner states reached. Then so many people asked “can you do this for my market?” that I turned it into a service. Here’s exactly how the platform works, what it took to build, and why it eats traditional real estate prospecting tools alive.
In April 2026, my family put a 615-acre hunting ranch in Long Prairie, Minnesota on the market for $3.2 million. Read the full ranch FSBO breakdown for that story. The MLS wasn’t getting it done — the buyer pool for a $3.2M high-fence preserve isn’t local Realtor.com browsers; it’s ranch buyers in Texas, Tennessee, Florida, Alaska, and a handful of high-net-worth conservation-minded outdoorsmen who don’t shop on Zillow.
I needed a way to find every adjacent landowner, every existing recreational ranch buyer in Minnesota, and every out-of-state owner of large hunting property in the broader region, then reach them with a personalized letter that has my phone number on the return address. Tools like PropStream and DataTree exist, but they’re subscription products built for residential flippers. I needed something tuned to land — acreage, EMV ranges, owner type, distance from any address, recent inheritances. So I built it.
The platform now lives at stylemarking.com/landintel as a done-for-you service, not software you log into. You tell us your buy box; we deliver a CSV, a private dashboard, and personalized USPS letters dropped in 24 hours.
There is a category of real estate prospecting software — PropStream, DataTree, BatchLeads, REIPro, Privy. They’re great products. They are also built for one specific user: the residential wholesaler / flipper who wants 50,000 distressed-homeowner leads in a metro and a way to skip-trace them in bulk. None of them are built for serious land deals, recreational property, ranch ownership, or owner-of-X-acres-or-more strategies.
The structural problems for land buyers using these tools are obvious once you try: the filters are residential (3+ bedrooms, single-family, cap rate, etc.), the geographic filters are city-level (no township, no school district, no “within 50 miles of this address”), and the skip-trace pricing is per-record — viable for 50,000 homes in a metro, brutal for 264 specific parcels in a rural region.
Worse: none of them mail letters for you. They give you a CSV, you push it to Click2Mail or Lob, you wait a week, you hope your stamp count is right. By the time the letter is in the mailbox, the conversation has been lost.
LandIntel exists to fill that gap: land-specific filtering, county GIS scraping, owner skip-tracing, AND the printed letter dropped in USPS — all in 24 hours, all in one product.
Every U.S. county publishes parcel data through one of three flavors of GIS: ArcGIS Open Data portals, Esri REST endpoints, or PDF property cards (the worst). Most counties also expose tax records and EMV (estimated market value) through a separate property tax search system. The first piece of LandIntel is a Python pipeline that pulls parcel polygons, owner names, addresses, EMV, acreage, zoning, and tax-status from each county’s primary system.
# Pseudocode: county GIS parcel scrape
import requests, pandas as pd
def scrape_county(county_code, criteria):
url = f"https://gis.{county_code}.us/arcgis/rest/services/parcels/MapServer/0/query"
params = {
"where": f"ACRES > {criteria.min_acres}",
"outFields": "PARCEL_ID,OWNER,ACRES,EMV,ZONING",
"f": "json",
}
r = requests.get(url, params=params).json()
return pd.json_normalize(r["features"])Once we have raw parcels, we filter to the client’s buy box. This is the core of the product because the filters are land-native, not residential-native: state / county / township / ZIP / school district / distance from any address, acreage range, EMV range, vacant vs improved, zoning (residential / commercial / industrial / ag), soil type, water access, road frontage, owner type (LLC / Trust / Inc / Estate / Individual), out-of-state vs local owner, years owned, recently inherited, multiple-parcels-same-owner, foreclosure pattern, tax-delinquent.
A typical buy box for a hunting-ranch buyer might be: “Minnesota or Wisconsin, 100–1,500 acres, EMV $500K–$3M, owner type Individual or Trust, zoning ag or recreational, owner age 60+ (where data exists), out-of-state.” That single criteria set narrows roughly 12 million U.S. parcels to maybe 800. The Python pipeline then sorts by likelihood-of-sale signals (years owned, owner age proxy, parcel-aggregation patterns) and returns the top 200–400 to skip-trace.
Skip-tracing is the part that turns “name on a parcel” into “phone number you can dial.” LandIntel uses commercial skip-trace APIs that input a name + last-known address and return current phone, email, and social-profile data. The hit rate is not 100% — some parcels are owned by trusts or LLCs whose principals are intentionally hidden. For most individual-owner parcels we get name, phone, email, and at least one social profile.
The visual half of LandIntel is a Mapbox GL JS dashboard. Every matched parcel becomes a pin on a map, color-coded by EMV bucket and owner type. Click a pin and you see the parcel detail panel: address, owner name, contact info, acreage, EMV, zoning, distance from any reference address. Toggle filters in the side panel to re-segment the map in real time.
The dashboard also shows the campaign metrics that matter: total parcels mapped, total pipeline value (sum of EMV across all matched parcels), distinct owner states reached, and a campaign-status overview — how many letters mailed, how many delivered, how many callbacks logged. The whole thing is a static React app that hydrates from a Supabase query, hosted on Netlify, accessible via a private link the client can share with partners or investors.
The screenshot you’ll see on the LandIntel page is from our actual McCoy Hunting Ranch outreach: 264 parcels mapped, $26.8M of pipeline, 30 states represented in the owner data. That’s the same dashboard we hand to clients — the platform is the product, not a screenshot.
The final — and most important — piece is the printed letter. We integrate with Click2Mail (or Lob, depending on volume) to upload a templated PDF with mail-merge fields (owner name, parcel address, your name, your phone), set First Class postage, and trigger the mail run. Letters print, fold, stuff, stamp, and drop in USPS within the same business day. The letters use the client’s name and phone on the return address — so callbacks come straight to them, not to LandIntel.
Here is the actual hour-by-hour breakdown of the weekend I built the original LandIntel system for the McCoy Ranch buyer outreach:
Mapped which Minnesota counties expose parcel data through ArcGIS REST endpoints. Tested API limits, identified field names (every county uses slightly different field labels — PARCEL_ID vs PIN vs PARCEL_NUMBER).
Wrote the parallel parcel scraper across 5 counties. Pulled approximately 12,000 parcels matching minimum acreage. Cleaned EMV columns, normalized owner names (UC normalization: “JOHN SMITH” vs “Smith, John” vs “Smith John Trustee”).
Applied the buy-box filters (acreage, EMV, owner type, distance from ranch). Reduced 12,000 parcels to 264. Pushed the 264 to a skip-trace API in batch. Got back name, phone, email, social on roughly 220 of them — 83% hit rate.
Built the static HTML + Mapbox GL JS dashboard with parcel pins, side-panel filters, EMV totalizer, and CSV export. Hosted on Netlify. Designed for fast scanning, not data-table tedium.
Wrote the personalized letter template, set up the mail-merge in Click2Mail with parcel-specific variables, uploaded a clean CSV. Mail run posted by Sunday 11am. First letters in mailboxes by Tuesday.
Realized this was reusable. Wrote the LandIntel landing page on stylemarking.com. Posted on Instagram with the dashboard screenshot. Got 14 inbound DMs the first week. Service was born.
Total weekend build: roughly 16 hours of focused development. The architecture worked because each piece was a thin layer of glue around a battle-tested service: county GIS for parcels, commercial skip-trace API for contact data, Mapbox for visualization, Click2Mail for printed mail, Netlify for hosting. The hard problem isn’t building any one of these — it’s assembling them into a single 24-hour pipeline.
Acreage, soil, water access, road frontage, school district, distance-from-any-address — the filters land buyers actually need, not residential templates.
Every parcel comes pre-skip-traced with name, phone, email, and social profiles where data exists. No add-on subscription, no separate tool, no data export.
Personalized letters printed, stamped, and dropped in USPS within 24 hours of buy-box lock. Your name and phone on the return address — callbacks go straight to you.
Mapbox-powered dashboard with parcel pins, EMV totalizer, owner-state heatmap, and shareable URL. Send it to your investor, partner, or team without exporting a CSV.
From criteria locked to letters in USPS, the whole process is one business day. Not a SaaS login — an actual delivered campaign with letters in the mailbox.
County GIS coverage in every state, plus commercial property database fallback. Any state, any county, any niche — ranches, lakefront, infill lots, rural commercial.
The platform is built for anyone whose deal flow depends on finding off-market property, reaching the owner before competitors do, and converting cold contacts into deals. Specifically:
Land flippers use LandIntel to find tax-delinquent, out-of-state, multi-parcel-same-owner, or recently-inherited properties — the highest-likelihood-of-sale signals in vacant land. A typical flipper campaign maps 500–2,000 parcels and converts 1–3% of mailings to discussions, with 0.2–0.5% closing into deals.
Realtors use LandIntel for “farm” outreach — a specific neighborhood, school district, or geographic area where they want to dominate listings. We map every owner who has lived in the property 7+ years (most likely to sell next), skip-trace them, and drop letters with the realtor’s call-to-action: “thinking about moving? Let’s talk.”
Builders use LandIntel to find buildable lots, infill parcels, or assemblage opportunities. Filter by zoning + minimum lot size + proximity to existing infrastructure, skip-trace the owners, and reach out before the parcel hits the broker market. Site-selection that normally takes 6 months happens in 24 hours.
The original use case — FSBO sellers of high-value or unconventional property who need to reach a national, dispersed buyer pool. Map every owner of similar property type (e.g. every other 500+ acre owner in a 5-state region), skip-trace, send letters describing your listing. We did this for the McCoy Hunting Ranch.
Investors use LandIntel to map deal flow in a target asset class (self-storage facilities, single-family rentals, gas stations, marinas, mobile home parks) and reach owners directly with acquisition outreach. Especially powerful for niche assets where there’s no MLS / Loopnet listing volume.
PropStream costs $99/month and gives you a SaaS login. LandIntel is per-campaign and gives you a finished campaign in 24 hours. Different products, different buyers. But here’s why land-focused buyers consistently switch:
Filters built for land deals (acreage, water access, soil type, distance from address) instead of bedroom counts and cap rates.
Not a tool you log into — an entire campaign delivered. Letters in USPS in 24 hours, dashboard live, CSV exported, callbacks coming to you.
Per-campaign pricing. Pay only for the campaigns you run. No monthly fee, no minimum, no contract.
Real human walks through your strategy and locks the buy box with you — not a software wizard guessing what you mean.
The full LandIntel service page lives at stylemarking.com/landintel with the live dashboard demo, every filter we support, and the deliverables included in each campaign. If you’ve made it this far in the post, you already know whether it fits your deal flow. The next step is one DM or one phone call.
Tell us your buy box. We’ll map every parcel, skip-trace every owner, and drop personalized USPS letters with your phone on the return address — in 24 hours. DM HUNT on Instagram or call (320) 360-8285.