Use case
Zillow market data API
A place name or region id in, one row per month out: market temperature with Zillow's buyer or seller label, for-sale inventory, new listings, new pending, median days to pending, and the share sold above and below list. Up to 100 months, newest first.
curl "https://zillow-full-data-api.p.rapidapi.com/market?location=Austin%2C%20TX&months=3" \
-H "X-RapidAPI-Key: YOUR_KEY" -H "X-RapidAPI-Host: zillow-full-data-api.p.rapidapi.com"{
"regionId": "10221",
"region": "Austin, TX",
"months": 3,
"latest": {
"temperature": {
"timePeriodEnd": "2026-08-31",
"marketTempIndex": 44.30447932808681,
"marketTempLabel": "buyer",
"marketTempLabelDescription": "Sellers outnumber buyers. Listing price cuts and concessions…"
},
"listings": {
"timePeriodEnd": "2026-08-31",
"forSaleInventory": 5249,
"newListings": 915,
"newPending": 328,
"medianDaysToPending": 58.5
},
"sales": {
"timePeriodEnd": "2026-07-31",
"pctSoldAboveList": 0.1693121693121693,
"pctSoldBelowList": 0.6957671957671958,
"medianSaleToList": 0.9778864439011138
}
},
"listings": [
{
"timePeriodEnd": "2026-08-31",
"forSaleInventory": 5249,
"newListings": 915,
"newPending": 328,
"medianDaysToPending": 58.5
},
{
"timePeriodEnd": "2026-07-31",
"forSaleInventory": 5525,
"newListings": 1130,
"newPending": 378,
"medianDaysToPending": 41.5
},
{
"timePeriodEnd": "2026-06-30",
"forSaleInventory": 5670,
"newListings": 1317,
"newPending": 403,
"medianDaysToPending": 47
}
]
}Shown: the latest month and the listings series. The full answer carries the temperature, listings and sales series for every month asked, and a forecast where Zillow publishes one.
What you get
Three monthly series — temperature, listings, sales — plus latest, the newest row of each, so a dashboard needs one call. Regions are Zillow's: a city, a ZIP, a neighborhood, a county or a metro.
Where it fits
Market reports, a heat map by ZIP, a trend line behind a listing page, or a weekly job that snapshots a hundred markets in one /batch call.
Resolve a place first
/region turns a place name into the region id, type, parents and boundaries; pass regionId to /market when you already hold it, or location and let the API resolve it.
Pair it with search
The same place name works on /search, so inventory counts from the market rows and the listings themselves come from one input.
Endpoint: GET /market · also /region and /mortgage/rates.