<!-- Agent Datasets docs · Real Estate guide · canonical: https://www.agentdatasets.com/docs/guides/re · rendered from https://www.agentdatasets.com -->

# 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.

## 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

```python
re_search_geographies(query="Austin, TX", limit=10)
```

```json
{
  "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

```python
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

```python
re_get_series(series_key="fhfa_hpi_at_quarterly_nsa_cbsa_12420", start="2020-01-01", end="2026-06-30", limit=100)
```

```json
{
  "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_series` serves the current value for each period. It has no `as_known_at` parameter, so stored vintages are not queryable here; an observation's `source_vintage` and `effective_date` tell 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`, and `seasonal_adjustment` off 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

| Tool | What it does | Reference |
| --- | --- | --- |
| `re_get_hazard_profile` | Fetch one county's latest FEMA National Risk Index hazard profile. | https://www.agentdatasets.com/docs/tools/re_get_hazard_profile.md |
| `re_get_series` | Fetch a bounded, newest-first page of one real-estate series. | https://www.agentdatasets.com/docs/tools/re_get_series.md |
| `re_search_geographies` | Resolve a U.S. place to geography keys and containment links. | https://www.agentdatasets.com/docs/tools/re_search_geographies.md |
| `re_search_series` | Discover real-estate series for a topic and/or exact geography. | https://www.agentdatasets.com/docs/tools/re_search_series.md |

Over HTTP: https://www.agentdatasets.com/docs/rest/real-estate.md
