PUBLIC RECORDS

County Records data scraping service.

Exact counties. Daily refresh. Delivered to your system in the format your workflow already uses.

The problem.

WHY THIS IS HARDER THAN IT LOOKS

Real estate investors who work off-market deals need fresh property records from the counties where they operate. Wholesalers need the same. So do title companies chasing chain-of-title, law firms verifying ownership, and proptech startups building investor-facing products. Five very different buyers, one common requirement: fresh assessor data, tax status, ownership history, and recorded encumbrances from the jurisdictions they actually work. That is the raw material that turns a county database into a working pipeline of leads.

The existing options cover the ends of the market. The all-in-one investor platforms bundle nationwide data inside a subscription UI, which works well if your workflow fits inside the platform. The enterprise data APIs are built for mortgage servicers and title companies at their price point. The list brokers package curated lists at per-record rates for one-off campaigns.

Between those ends there is a specific need that is not well served: operators who work five or ten specific counties, want the data refreshed on their own schedule, and want it delivered into the systems they already use. A Google Sheet. A CRM. A Postgres database. Building this directly from the county sites means dealing with 3,494 jurisdictions, each with its own search interface, data format, and update rhythm.

This service is built for that gap. You tell me which counties you work. I build and maintain the pipeline. The data lands where you need it, on the schedule you need, in the format your workflow already understands.

Is this right for you?

GOOD FIT IF ANY OF THESE SOUND LIKE YOU

You work a specific set of counties and want the data on your own schedule

You need the data in your own system (Google Sheet, CRM, or database) with no platform lock-in

You have already tried an all-in-one platform or a DIY approach and hit the limits

Your workflow depends on freshness: tax-delinquent lists, pre-foreclosure, probate, ownership changes

What you receive.

EXACT FIELDS, DELIVERED IN YOUR FORMAT

parcel_idstringCounty-specific parcel or APN identifier, normalized to a consistent format across all jurisdictions you request.
owner_namestringCurrent owner of record. Normalized to handle LLCs, trusts, and joint ownership consistently.
property_addressstringSitus (physical) address of the parcel, standardized to USPS format where possible.
mailing_addressstringOwner mailing address if different from situs. Useful for identifying absentee owners and out-of-state investors.
assessed_valuenumberLatest county assessed value, in USD. For non-assessment years, the carry-forward value is flagged.
market_valuenumberCounty market value or equalized value if the county publishes one. Not AVM, actual county figure.
annual_taxnumberMost recent full-year property tax amount in USD. Includes any applicable special assessments.
tax_statusenumCurrent tax status: paid, delinquent, partial, or in tax sale. Updated as frequently as the county publishes.
delinquent_sincedateFirst year the parcel went delinquent if currently unpaid. Null if paid.
last_transfer_datedateMost recent recorded deed transfer date. Powers ownership change detection.
last_sale_pricenumberRecorded consideration on the last deed transfer. Nominal if the transfer was a quitclaim or trust transfer.
lien_statusstringActive liens against the parcel where the county exposes this data. Typically tax liens, mechanic's liens, and judgment liens.

Sample record.

county-records.sample.json
{
  "parcel_id": "07-23-301-015",
  "owner_name": "Greenfield Holdings LLC",
  "property_address": "1420 Oak Park Ave, Tinley Park, IL",
  "mailing_address": "PO Box 4821, Chicago, IL 60605",
  "assessed_value": 284500,
  "market_value": 342000,
  "annual_tax": 6812.40,
  "tax_status": "delinquent",
  "delinquent_since": "2024",
  "last_transfer_date": "2023-06-14",
  "last_sale_price": 265000,
  "lien_status": "Active tax lien 2024",
  "county": "Cook",
  "state": "IL",
  "extracted_at": "2026-04-13T06:12:47Z"
}

Straightforward pricing.

SCALE DETERMINES PRICE · NO HIDDEN FEES

Single county

from $199

One-time pull. Delivered in 3 to 5 days.

  • Any single US county
  • All assessor and tax fields
  • CSV, JSON, or Google Sheet
  • Quality-checked before delivery
Get a quote →

Multi-county recurring

from $499/mo

Up to 10 counties. Refreshed on your schedule.

  • Daily or weekly refresh
  • Delivered to your system
  • Maintenance included
  • No per-record fees ever
Get a quote →

Portfolio scale

Custom

50+ counties. Enterprise SLAs.

  • Custom field schema
  • Multiple delivery targets
  • Priority fix window
  • Scoping call required
Get a quote →

Frequently asked questions.

EVERYTHING YOU NEED TO KNOW

The all-in-one investor platforms are built around a nationwide subscription. They include every US county inside a single UI with a standard set of exports, which fits the average user. This service is built around a different shape: you pick the counties you actually work, I build a pipeline for exactly those, refresh it on your schedule, and deliver the data straight into the systems you already use. No UI to log into, no export caps, and no counties in the bill you do not need.

As fresh as the county publishes it. Most counties update assessor records monthly and tax status daily or weekly. When you tell me your target counties, I tell you exactly what refresh cadence each one supports. For recurring clients, I run the pipeline as often as your schedule requires (daily is common for tax-delinquent workflows, weekly for general ownership tracking), and you always see the extraction timestamp on every record.

In principle any county that publishes assessor, tax, or recorder data on a public website, which is effectively all 3,494 US counties. In practice, I prioritize the counties where you actually do deals. For a recent proptech client I built a pipeline covering 932 counties with a 98.1% successful extraction rate. If you send me your target list, I can tell you within 24 hours which ones are easy, which need custom work, and which have restrictions that will require a different approach.

Yes. Tax delinquent is one of the most common requests. I pull the delinquent tax roll for your target counties, normalize the fields, add ownership and mailing address where it is not already in the tax record, and deliver it on whatever cadence you need. Most clients want weekly or monthly refresh because delinquent lists move fast and stale leads are wasted outreach.

Both are possible. Probate lists come from county clerk or probate court records and require per-county extraction because the court systems are separate from the assessor. Pre-foreclosure data usually comes from lis pendens filings or notice of default records, again recorded at the county level. Tell me what your criteria are (minimum equity, specific zip codes, filing date ranges) and I build the filter into the pipeline so what you get back is already targeted.

Six formats cover the vast majority of clients: CSV or JSON dropped in S3 or Google Cloud Storage, Google Sheets updated in place, direct database writes to PostgreSQL or BigQuery, and webhook pushes to CRMs like HubSpot, REsimpli, or InvestorFuse. If you need a format that is not on that list, ask. I have almost certainly built it before.

County sites change on their own schedule. When a change affects a pipeline I run, I fix it and backfill the missed run, usually within 24 hours. For recurring clients, this ongoing maintenance is included in the monthly fee, so you do not see data gaps and you do not have to manage it.

Some counties have public search pages with CAPTCHA protection, which is handled case by case within the provider terms. Some counties sit behind subscription portals for title or legal professionals. Those are only in scope when the license terms allow and the access is available. If a county you need is fully behind credentials and that access is not in place, I flag it during scoping so there are no surprises.

A single-county one-time pull starts at $199, depending on the complexity of the county site and the fields you need. Recurring multi-county delivery starts at $499 per month for up to 10 counties on daily or weekly refresh, and scales from there based on volume. No per-record fees, no credit systems, and no hidden add-ons. You pay once at setup for one-time work, or a flat monthly fee that covers the pipeline, the ongoing maintenance, and the delivery. This is the same pricing model I have used across 200+ projects delivered through sidb.work.

No long-term contract. Recurring clients are month to month. Most of my county-records clients have been shipping data through me for a year or more because the pipeline keeps working and the data keeps flowing, not because there is a contract holding them.

Skip tracing is a separate step that layers on top of the property data. I can integrate with third-party skip trace providers to append phone numbers, email addresses, and additional mailing addresses to the records I deliver. This is priced as an add-on to the recurring tier because the per-record cost of skip tracing varies by provider and volume. I will give you a clear per-record cost during scoping so there are no surprises on the invoice.

Yes. Most clients want pre-filtered output rather than the full county roll. Common filters include minimum equity thresholds, absentee owner status, property type, delinquent tax status, years since last transfer, and zip code or neighborhood boundaries. Filters are built into the pipeline at setup and can be adjusted at any time without rebuilding the whole system.

Every county stores and labels its records differently. One county calls it 'Assessed Value', another calls it 'Total Appraised', another calls it 'Land + Improvement Total'. The normalization step maps each county's field names into a consistent schema so the output you receive has the same columns regardless of which county the record came from. For one ongoing client I maintain a unified schema of 42 standardized fields across 932 counties.

Ready to get County Records data?

Book a 30-minute call and I’ll scope it live.