Real Estate
US housing and real-estate indicators — FHFA house price indices and related series.
Where the data comes from
Every value this category returns is attributable to one of these publishers, and every payload carries the source tag with it.
| Source | Publisher | What we hold | Licence |
|---|---|---|---|
| fema-nri | Federal Emergency Management Agency | National Risk Index county and census-tract profiles with composite risk, expected annual loss, social vulnerability, community resilience, and 18 hazard-specific scores and ratings | U.S. Government work, public domain (17 U.S.C. § 105) |
| abs | Australian Bureau of Statistics | ABS Data API SDMX series: Building Approvals (BA_GCCSA), Building Activity (BUILDING_ACTIVITY), and Total Value of Dwellings (RES_DWELL_ST), as curated in the real-estate series catalog | Creative Commons Attribution 4.0 International (cc-by-4.0) |
| census | U.S. Census Bureau | ACS curated housing estimates and margins of error at nation, state, county, CBSA, and ZCTA levels; Building Permits Survey authorized units by structure class at county and CBSA levels; economic indicator release calendar | U.S. Government work, public domain (us-gov-public-domain); standard Census non-endorsement caveat applies |
| fdic_sod | Federal Deposit Insurance Corporation | FDIC Summary of Deposits | U.S. Government work, public domain (17 U.S.C. § 105) |
| fhfa | Federal Housing Finance Agency | FHFA House Price Index | U.S. Government work, public domain (us-gov-public-domain) |
| hud | U.S. Department of Housing and Urban Development | HUD USER Fair Market Rents | U.S. Government work, public domain (us-gov-public-domain) |
| noaa | National Oceanic and Atmospheric Administration | National Centers for Environmental Information (NCEI) Storm Events Database | U.S. Government work, public domain (17 U.S.C. § 105) |
| census_geo | U.S. Census Bureau | State and county geography reference codes (2020 vintage) | U.S. Government work, public domain (us-gov-public-domain); standard Census non-endorsement caveat applies |
| census_rel2020 | U.S. Census Bureau | ZCTA-to-county relationship file (2020 vintage) | U.S. Government work, public domain (us-gov-public-domain); standard Census non-endorsement caveat applies |
| omb_delineation_2023 | Office of Management and Budget (delineation lists distributed via the U.S. Census Bureau) | Core-based statistical area (CBSA) delineation lists (2023 vintage) | U.S. Government work, public domain (us-gov-public-domain); standard Census non-endorsement caveat applies |
| realestate_catalog | Curated internal catalog (FHFA, HUD, FDIC SOD, NOAA NCEI, Census ACS + BPS) | Discovery metadata for real-estate series spanning FHFA House Price Indexes, HUD Fair Market Rents, FDIC Summary of Deposits, NOAA NCEI Storm Events, Census ACS housing, and Census Building Permits Survey permits | Aggregates U.S. Government public-domain series metadata from FHFA, HUD, FDIC, NOAA, and Census; the catalog identifier carries no separate license |
Required notices
- This product uses the Census Bureau Data API but is not endorsed or certified by the Census Bureau.
- This product uses Census Bureau data but is not endorsed or certified by the Census Bureau.
Full licence text, attribution strings, and every source on the surface are in Attribution.
Three calls, in order
Real-estate data is organised by place and series, and the two are resolved separately. A place — "Austin, TX", a county, a ZIP code — becomes a stable geo_key. A geo_key plus a topic becomes a series_key. A series_key becomes observations. Skipping a step and guessing at a key is the one reliable way to get an unknown_entity back.
Geography is a graph, not a label. A match carries a bottom-up parents chain and outgoing crosswalks with a relation, a weight where one exists, a source, and a vintage — so an agent can move between a ZCTA and its county, or a county and its CBSA, and know how much of that mapping is approximate.
Worked workflows
Resolve a place
re_search_geographies(query="Austin, TX", limit=10){
"data": {
"query": "Austin, TX",
"matches": [
{
"geo_key": "cbsa_12420",
"level": "cbsa",
"code": "12420",
"name": "<CBSA title>",
"state_code": "TX",
"score": 1.0,
"match_reason": "name_exact",
"parents": [],
"crosswalks": []
}
]
},
"meta": { "source": "census_geo", "as_of": "2026-08-19T00:00:00Z", "notice": "..." },
"pagination": null
}Values are illustrative; field names are real. A blank query is a normal empty success rather than an error, and pagination is null because a relevance list is bounded rather than paged.
Find the series available for that place
re_search_series(geo_key="cbsa_12420", query="house price", limit=10)Matches sort by series_key and carry dataset and source metadata, units, frequency, seasonal adjustment, licence tag, and the observation coverage window — coverage_start and coverage_end, either of which can be null when nothing is ingested yet. Reading the coverage window before you request observations is how you avoid asking for a decade of a series that starts in 2019.
Either filter works alone, but at least one is required: a call with neither query nor geo_key is a bad_parameter, and an unknown geo_key is an unknown_entity with suggestions.
Read the observations
re_get_series(series_key="fhfa_hpi_at_quarterly_nsa_cbsa_12420", start="2020-01-01", end="2026-06-30", limit=100){
"data": {
"series_key": "fhfa_hpi_at_quarterly_nsa_cbsa_12420",
"dataset_key": "fhfa_hpi_at_quarterly_nsa",
"source": "fhfa",
"source_series_id": "<publisher series id>",
"title": "FHFA House Price Index (all-transactions, NSA)",
"attribution": "Data sourced from the FHFA House Price Index.",
"units": "index",
"base_period": "1995Q1=100",
"currency": null,
"frequency": "quarterly",
"seasonal_adjustment": "not_seasonally_adjusted",
"license_tag": "us-gov-public-domain",
"geography": {
"geo_key": "cbsa_12420",
"level": "cbsa",
"code": "12420",
"name": "<CBSA title>",
"state_code": "TX"
},
"start": "2020-01-01",
"end": "2026-06-30",
"observations": [
{
"period": "2026-04-01",
"period_type": "quarter",
"value": "412.250000",
"as_of": "2026-08-19T00:00:00Z",
"source_vintage": "2026Q2",
"effective_date": "2026-08-19",
"meta": null
}
]
},
"meta": { "source": "fhfa", "as_of": "2026-08-19T00:00:00Z" },
"pagination": { "limit": 100, "has_more": true, "next_cursor": "eyJ2IjoxLCJrIjpbLi4uXX0" }
}Observations are newest-first and page with a cursor; keep series_key, start, and end constant while you walk backwards. Bounding the window with start and end is almost always better than paging a whole history you will discard.
Coverage and caveats
- This is market-level data, not property-level. Everything here describes a geography — a CBSA, a county, a ZCTA, a state — over a period. There are no addresses, parcels, listings, or transactions in this category, and no tool that will synthesise them.
- Latest values only.
re_get_seriesserves the current value for each period. It has noas_known_atparameter, so stored vintages are not queryable here; an observation'ssource_vintageandeffective_datetell you which publication a value came from, but you cannot ask what the series looked like on a past date. - Sources differ in kind, and it matters. Index levels, fair market rents, survey estimates, and hazard event counts are all in this category and none of them mean the same thing. Read
units,base_period, andseasonal_adjustmentoff the series before comparing anything to anything. - Survey estimates carry uncertainty. Census ACS observations come with 90-percent margins of error in the observation's own
meta. An estimate quoted without its margin is a smaller-sounding number than the data supports. - Geography vintages are dated. Delineations and relationship files are versioned, and a crosswalk carries the vintage it came from. A county-to-CBSA link has no weight; a ZCTA-to-county link can.
Tools and endpoints
Each tool's full input schema, provenance, and bounds are on its own page; the REST endpoints mirror them one for one.
| Tool | What it does | Page size |
|---|---|---|
| re_get_hazard_profile | Fetch one county's latest FEMA National Risk Index hazard profile. | scalar result |
| re_get_series | Fetch a bounded, newest-first page of one real-estate series. | default 100 · min 1 · max 500 |
| re_search_geographies | Resolve a U.S. place to geography keys and containment links. | default 10 · min 1 · max 50 |
| re_search_series | Discover real-estate series for a topic and/or exact geography. | default 10 · min 1 · max 50 |
Over HTTP: Real Estate REST endpoints.