List Area Markets

Returns several areas side by side for a market pulse: each area's snapshot, changes and 30 days of inventory, from an area library or a list of area slugs, sorted.

GET/v1/market

Authentication

Public key?key=pk_…

Public key in the key query parameter. No OAuth, no secret.

Edge cache: 1 h + stale-while-revalidate 24 h

Query Parameters

keystring
required

The site's public key (pk_…). It selects the account. Safe to ship to the browser.

librarystring
optional

Area library slug (libraries[].slug of List Areas). Without it and areas, the site's first homepage area library.

areasstring
optional

Comma-separated area slugs, in order (wins over library, at most 12).

sortenum
optional

active (most listings first), sold (most closings in 30 days), change (largest weekly move) or library (the library's own order).

Default:active
activesoldchangelibrary
limitnumber
optional

Areas returned, at most 12.

Default:6
typeenum
optional

Same as Get Area Market.

Default:all
allcondohouse

Responses

200Success
application/json
libraryobject | null

title and slug of the area library the areas came from; null with areas.

areasarray

Each area as Get Area Market answers it, without history, asOf and type.

Errors

400type, sort or library is malformed.
404The area library does not exist, 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

  • Link each row to the site's CMA page with ?area=<cma.area>: the report opens on that area, ready, with no Google lookup.
Request
curl --request GET \
--url "https://api.pandaidx.com/v1/market?key={{public_key}}&library=miami-areas&areas=aventura%2Cdoral%2Cmiami-beach&sort=active&limit=6&type=all"
Response200 OK
{
"asOf": "2026-10-21T22:00:00.000Z",
"type": "all",
"library": {
"title": "Miami Areas",
"slug": "miami-areas"
},
"areas": [
{
"area": {
"name": "Miami Beach",
"slug": "miami-beach",
"query": "MIAMI BEACH"
},
"snapshot": {
"active": 1845,
"pending": 153,
"sold7": 24,
"sold30": 98,
"sold90": 301,
"medianSalePrice": 640000,
"medianPricePerSqft": 612,
"medianDaysOnMarket": 88,
"saleToListPct": 93.1,
"monthsOfSupply": 18.4,
"marketType": "buyers"
},
"changes": {
"activeWeekPct": 1.4,
"sold30Pct": 4.3,
"pricePerSqftYearPct": 2.2
},
"inventory": [
{
"date": "2026-10-21",
"active": 1845
}
],
"cma": {
"area": "miami-beach"
}
}
]
}