Developer API
The same data behind every chart, as JSON. Machine-readable spec: /api/v1/openapi.json.
1 · Get an API key
API access starts on the Max plan. Upgrade, then create keys here or on your account page.
No API keys yet.
2 · Authenticate
Send the key as a bearer token. Every response includes an attribution field — display it wherever the data is shown.
curl "https://YOUR-DOMAIN/api/v1/inventory/country?metrics=median_listing_price" \ -H "Authorization: Bearer cs_live_YOUR_KEY"
3 · Endpoints
Inventory & derived signals
GET /api/v1/inventory/{country|state|metro|county|zip}
?geo_id=CA,TX # state id, CBSA code, 5-digit FIPS, or ZIP (max 25; not needed for country)
&metrics=median_listing_price,active_listing_count
&from=202001&to=202606 # yyyymm inclusive
&transform=raw # raw | mom | yoy | rolling3 | rolling6 | rolling12 | index10022 inventory metrics
median_listing_price— Median listing priceactive_listing_count— Active listingsmedian_days_on_market— Median days on marketnew_listing_count— New listingsprice_increased_count— Price increasesprice_increased_share— Price-increase shareprice_reduced_count— Price reductionsprice_reduced_share— Price-cut sharepending_listing_count— Pending listingsmedian_listing_price_per_square_foot— Median $/sqftmedian_square_feet— Median square feetaverage_listing_price— Average listing pricetotal_listing_count— Total listingspending_ratio— Pending ratioprice_yoy— Price YoYinventory_yoy— Inventory YoYdom_yoy— Days-on-market YoYnew_listings_yoy— New listings YoYprice_cut_share— Price-cut share (derived)ppsf_vs_national— $/sqft vs national ★price_percentile— Price percentile ★momentum— Market momentum ★
Market hotness
GET /api/v1/hotness/{metro|county|zip}?geo_id=35620&metrics=hotness_rank,hotness_score9 hotness metrics
hotness_score— Hotness scorehotness_rank— Hotness rankhotness_rank_yy— Hotness rank Δ YoYsupply_score— Supply score ★demand_score— Demand score ★median_dom_vs_us— DOM vs US ★page_views_per_property_yy— Views/property YoY ★page_views_per_property_vs_us— Views vs US ★median_listing_price_vs_us— Price vs US
Segment deep-dive (values & rents)
GET /api/v1/segments/{country|state|county|zip}
?geo_id=90210
&metrics=zhvi # zhvi (home values) | zori (rents; country/county/zip)
&segments=bd3,sfr # all | sfr | condo | bd1 | bd2 | bd3 | bd4 | bd5
# series come back keyed "geo|segment", e.g. data.zhvi["90210|bd3"]zhvi, zori, mortgage_rate_30y, fhfa_hpi, redfin_median_sale_price, redfin_sale_to_list, redfin_sold_above_list, redfin_homes_sold, redfin_months_supply, building_permits, migration_inflow, migration_outflow, migration_net, migration_agi_in, unemployment_rate_bls, hud_fmr_2br · attribution: Zillow Research.
Weekly national pulse
GET /api/v1/inventory/country?metrics=weekly_median_listing_price_yy # weekly series use ISO week-end dates; YoY deltas only (all the source publishes)
4 · Response shape
{
"meta": {
"dataset": "inventory", "level": "state", "transform": "yoy",
"latest_month": 202606,
"attribution": "Source: Realtor.com Economic Research",
"attribution_url": "https://www.realtor.com/research/data/"
},
"data": {
"median_listing_price": {
"CA": [ { "x": "2026-05", "y": -0.0323 }, { "x": "2026-06", "y": -0.0286 } ]
}
}
}5 · Limits & errors
- 60 requests/minute per key; monthly quota by plan (Max 10k · Analyst 25k · Agency 50k · Brokerage 250k). Over-limit returns
429. 401missing/invalid/revoked key ·400bad metric/segment/transform ·404unknown dataset.- Bulk needs? Custom plans include bigger quotas and exports.
★ premium metrics require Max+. Data: Realtor.com Economic Research, Zillow Research, U.S. Census Bureau — see data sources.