We just released what we believe is the most granular open dataset of US residential property taxes: 51 states/DC, 3,132 counties and 10,058 cities, each with its effective tax rate, median annual bill, median home value and median household income. It's CC BY 4.0, on GitHub and Zenodo (DOI 10.5281/zenodo.21454886). Here's what building it taught us.
State averages hide most of the story
Everyone quotes state rankings: New Jersey and Illinois at the top (1.88% effective rate), Hawaii at the bottom (0.29%). True, but nearly useless for an actual homeowner, because within one state, county rates routinely vary by 3-5× — and city rates vary even more.
A few examples from the data:
- Texas averages 1.40%, but its 200+ counties range from under 0.5% to well over 2%.
- New Jersey's median annual bill ($9,590) is 12× Alabama's ($788) — yet parts of Alabama out-tax parts of New Jersey relative to income.
- The "cheap" states are only cheap on paper: Hawaii's 0.29% applies to a median home value of $841k, so the median bill ($2,239) is still nearly 3× Alabama's.
That's why we resolve the lookup down to the individual city on the US property tax calculator — state pages like New Jersey list every county and city with its own rate.
How the dataset is built
- Method: effective rate = median annual real-estate taxes ÷ median owner-occupied home value (the ratio-of-medians method the Tax Foundation and SmartAsset use).
- County/city figures: US Census Bureau ACS 2023 5-year estimates, tables B25103 (taxes paid), B25077 (home value), B19013 (income), B01003 (population).
- State rates: Tax Foundation 2024, as republished June 2026.
- Anti-noise filters: no imputed values — jurisdictions without real median tax AND home-value estimates are dropped; places under 2,500 population excluded.
For Rust folks
The state and county tables also ship as a zero-dependency crate, us-property-tax-data — CSVs embedded via include_str!, parsed by a ~40-line internal parser:
use us_property_tax_data::{state, counties};
let nj = state("NJ").unwrap(); // effective_rate_pct = 1.88
let tx = counties("TX"); // every Texas county, ranked
Reuse it
Everything is CC BY 4.0 — journalists, researchers and builders can take any figure or the whole CSV with attribution. Citation formats and per-figure credit lines are on the cite-this-data page. If you need a custom cut (one metro, one ranking), ask — it's free.
Top comments (0)