County assessor and recorder data feed
- Coverage
- 3,000+ counties
- Cadence
- Monthly delta
- Typical volume
- ~200k records
- Difficulty
- High
- Price
- $2,800 / mo
What's in it
Property-level records pulled from county assessor and recorder offices, scoped to the counties you name:
- Ownership - current owner of record, mailing address, ownership transfers with dates
- Deeds - recorded instrument type, grantor and grantee, consideration amount, recording date
- Tax assessments - assessed and market value, land versus improvement split, exemptions, tax year
- Liens and encumbrances - tax liens, mechanic's liens, judgments recorded against the parcel
- Mortgages - lender, amount, recording date, releases and reconveyances
Normalized to one schema across every county, with a stable parcel identifier so the same property is the same row month over month. That last part is most of the work.
Delivery
Monthly delta, meaning you get what changed rather than a full re-scan you have to diff yourself. Lands in S3, a webhook, or straight into your database. Typical volume is around 200k changed records per month at normal client county coverage; the quote scales with how many counties you cover and how often you want them refreshed.
Why this one is hard
There is no national property database. There are roughly 3,141 counties and county-equivalents, and each one runs its own system. That is the entire problem, and it is a jurisdictional problem wearing a technical costume.
In practice you are dealing with four or five different vendor platforms that serve most of the population, a long tail of several hundred bespoke county-built portals, and a stubborn remainder where the record is a scanned PDF or a form that only accepts one parcel lookup at a time. The vendor platforms are the easy part and they are still not easy: each deployment is configured differently, and counties upgrade on their own schedule with no notice.
The failure mode that catches teams is not the initial build. It is that a county changes its portal, one source out of 3,000 goes quiet, and nothing alerts because the pipeline is still returning 200s and writing rows for the other 2,999. You find out a quarter later when someone notices Maricopa hasn't updated since March. Running this feed means per-county freshness monitoring, not aggregate success rates, and that is the piece most in-house builds skip.
Then there is normalization. Counties disagree about what a deed type is called, how consideration is recorded, and whether a parcel number has dashes. Making 3,000 vocabularies into one schema is ongoing work, not a one-time mapping.
Build versus buy
Build it yourself if you need three counties. The per-county work is tractable and you will not miss the monitoring layer at that scale.
Past roughly fifty counties the math changes. You are no longer maintaining scrapers, you are running a small operations function: portal changes, freshness alerts, schema drift, and the counties that go down for a week without explanation. That is a recurring engineer-hours cost that does not shrink as you add counties, and it is the number to put next to $2,800/mo before you decide. Crawl economics walks through how to model it honestly.
Related
This feed is the anchor of the Property & Public Record Stack ($5,500/mo), which adds state court systems, Secretary of State filings, and Zillow for teams that need the full encumbrance and entity picture rather than parcel data alone.