Get Area Market
Returns one area's market over the site's own MLS feeds: live counters, the medians of the last three months of closings, months of supply, the changes and 15 months of closed-sale history.
/v1/market/:slugAuthentication
?key=pk_…Public key in the key query parameter. No OAuth, no secret.
Edge cache: 1 h + stale-while-revalidate 24 h
Path Parameters
slugstringThe area slug: a city or neighborhood name in lowercase with hyphens, as areas[].name of List Areas or area.slug of Get Condo Area, such as aventura.
Query Parameters
keystringThe site's public key (pk_…). It selects the account. Safe to ship to the browser.
typeenumEvery residential sale, or condos (Condominium, Stock Cooperative) or houses (Single Family Residence, Townhouse, Villa) only.
allallcondohouseResponses
application/jsonareaobjectname, slug and query (uppercase search name) of the area.
asOfstringWhen the counters were read (ISO 8601). The medians are recomputed once a day.
snapshotobjectToday's headline numbers.
changesobjectPercent changes with one decimal, null without a base: activeWeekPct (active listings vs last week; type=all only), sold30Pct (closings of the last 30 days vs the 30 before) and pricePerSqftYearPct (median $/sq ft of the last three months vs the same months a year earlier).
historyarrayClosed sales per month, oldest first, 15 months; the last month is the current one so far. A month without closings has sales: 0 and null medians.
inventoryarrayActive listings per day, last 30 days, { date, active }, oldest first (the area's daily report).
cmaobjectarea: the value of ?area= that opens the site's CMA page on this area (fetchHomeValuation({ searchParams })).
Errors
400type is not all, condo or house.404The area does not exist, the slug is malformed or the site has no MLS feed.401Missing or invalid public key.403The account has no active subscription. The body also carries code: "TENANT_INACTIVE".500Unexpected server error.Notes
- Only the site's own MLS feeds count, so two sites on different MLSs can see different numbers for the same area.
- The medians come from the last three calendar months (the current one so far), so they move once a day; the counters move with the hourly MLS sync.
activeWeekPctandinventorycome from the area's daily report, which counts every MLS Panda syncs.
curl --request GET \--url "https://api.pandaidx.com/v1/market/aventura?key={{public_key}}&type=all"
{"area": {"name": "Aventura","slug": "aventura","query": "AVENTURA"},"asOf": "2026-10-21T22:00:00.000Z","type": "all","snapshot": {"active": 1127,"pending": 58,"sold7": 17,"sold30": 71,"sold90": 214,"medianSalePrice": 455000,"medianPricePerSqft": 382,"medianDaysOnMarket": 74,"saleToListPct": 94.6,"monthsOfSupply": 15.8,"marketType": "buyers"},"changes": {"activeWeekPct": -0.4,"sold30Pct": 9.2,"pricePerSqftYearPct": -3.1},"history": [{"month": "2026-09","sales": 69,"medianSalePrice": 449000,"medianPricePerSqft": 379,"medianDaysOnMarket": 77,"saleToListPct": 94.4},{"month": "2026-10","sales": 48,"medianSalePrice": 462000,"medianPricePerSqft": 386,"medianDaysOnMarket": 71,"saleToListPct": 94.9}],"inventory": [{"date": "2026-10-20","active": 1130},{"date": "2026-10-21","active": 1127}],"cma": {"area": "aventura"}}