List Libraries

Returns the owner's libraries and the Panda template libraries. A library is a curated or rule-based list of areas, buildings, new developments, searches, collections, stories, team members or reviews.

GET/v1/libraries

Authentication

Public key?key=pk_…

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

Edge cache: None (private, no-store)

Query Parameters

keystring
required

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

Responses

200Success
application/json
librariesarray

Root libraries. The owner's come first, oldest first, then the Panda templates sorted by name.

Errors

401Missing or invalid public key.
403The account has no active subscription. The body also carries `code: "TENANT_INACTIVE"`.
500Unexpected server error.

Notes

  • Template libraries are read by reference and are read-only. An update by Panda reaches every site that shows one.
  • The owner edits these lists, so the response is never cached at the edge. Cache it on your side.
  • A library can also carry `slot: "homepage"` (an assignable slot the owner fills with Display On) or `sample: true` (sample items in the AI Builder preview). Neither appears on a published site with real data.
Request
curl --request GET \
--url "https://api.pandaidx.com/v1/libraries?key={{public_key}}"
Response200 OK
{
"libraries": [
{
"id": "6a0c4e2f9b1d3a0012ab34d2",
"name": "Miami Areas",
"type": "areas",
"source": "tenant",
"subtitle": "Explore Miami neighborhoods",
"description": null,
"previewImages": [
"https://media.pandaidx.com/areas/brickell.jpg"
],
"href": "/areas/miami-areas",
"kind": "manual",
"slug": "miami-areas",
"placement": [
"homepage"
],
"itemCount": 8,
"variants": [
{
"id": "6a0c4e2f9b1d3a0012ab34d2",
"label": "All",
"count": 8
}
]
},
{
"id": "6a0c4e2f9b1d3a0012ab34e5",
"name": "Miami Condo Buildings",
"type": "buildings",
"source": "template",
"subtitle": null,
"description": null,
"previewImages": [],
"href": "/condos",
"kind": "manual",
"slug": null,
"placement": [],
"itemCount": 12,
"variants": []
}
]
}