REAL ESTATE

Real Estate Tax Records

Property records, tax assessments, lien data, and ownership history across 932 US counties. Automated pipeline with monthly data refresh and change detection.

932 countiesPostgreSQL + Monthly Change Reports (CSV)Ongoing monthly

The challenge.

A proptech startup needed unified property tax data across 932 US counties, but each county has its own website with different layouts, search interfaces, and data formats. No standardized API exists, and many county sites use outdated technology with CAPTCHAs and session-based navigation.

The approach.

01

County Site Classification

Cataloged all 932 county assessor websites and classified them into 14 template groups based on their underlying software (Tyler Technologies, Aumentum, custom, etc.). Built specialized parsers for each template type.

02

Selenium-Based Extraction

Used Selenium with custom wait conditions for each county template to handle JavaScript-rendered content, multi-step search forms, and pagination patterns that vary by site.

03

Schema Normalization

Mapped 200+ different field names across counties into a unified schema with 42 standardized fields covering assessed value, market value, tax amount, exemptions, lien status, and ownership chain.

04

Change Detection & Alerts

Monthly pipeline compares new extractions against stored records, flagging ownership transfers, assessment changes, and new liens. Generates change reports for the client's analyst team.

Sample output.

real-estate-tax-records.json
{
  "parcel_id": "07-23-301-015",
  "owner_name": "Greenfield Holdings LLC",
  "property_address": "1420 Oak Park Ave, Tinley Park, IL",
  "assessed_value": 284500,
  "annual_tax": 6812.40,
  "last_transfer_date": "2023-06-14"
}

The results.

932

Counties covered

4.2M

Property records

42

Normalized fields

98.1%

Coverage rate

Tech stack.

PythonSeleniumPostgreSQLMonthly RefreshChange Detection

Ready to get your data?

Book a 30-minute call and I’ll scope your project live. No commitment required.

Or reach out directly:

hello@sidb.work