Get Site

Returns the public profile of the account: owner profile, brand (logos, colors, typography, buttons), contact channels, homepage media, SEO, legal texts, navigation, plan flags, tracking ids and header/footer menus. It is the first call of any page and is public and read-only.

GET/v1/site

Authentication

Public key?key=pk_…

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

Edge cache: 5 s

Query Parameters

keystring
required

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

Responses

200Success
application/json
urlstring | null

Canonical site URL, null when no domain is configured.

domainstring | null

Hostname of the site, for example www.example.com.

profileobject

Public profile of the account owner: name, title, portrait, biography, phones, social links, MLS agent and office ids.

brandobject

Logos, favicon, color presets, typography presets and button presets, with colors resolved to CSS values.

contactobject

Email, phones and the WhatsApp and Telegram floating button settings (null when not set up).

homepageobject

Hero media (cover, mobile cover, slides, videos), contact image, About block and homepage SEO.

seoobject

Site-wide SEO title and description (both null when empty).

legalobject

Whether custom legal text exists, plus the privacy and terms text as sanitized HTML.

teamobject

`enabled` is true when the team page is switched on.

navigationobject

Links for area libraries, collections, saved searches, custom pages, and flags for stories, off-market, team and MLS inventories.

planobject

What the plan includes (video, data, white label). No billing data.

integrationsobject

Public tracking ids of the integrations the owner turned on. Each is null unless enabled and valid.

headerobject

Classic header settings: top bar, placement, background, navbar style, logo size.

chromeobject

Header and footer menus, either the owner's custom ones or the Panda defaults, and the designed footer as data.

Errors

401Missing or invalid public key
403TENANT_INACTIVE: the account has no active subscription (body also carries `code`)
404Application not found: the key is valid but its account does not exist

Notes

  • The example is trimmed: the real object has more fields (for example `homepage.hiddenSections`, `brand.typography` presets for `h1` to `h6` and `p1` to `p3`, and the full `chrome.footer.design`).
  • Optional text is `null` when empty (never an empty string) and lists are `[]` when empty.
  • Some fields are kept only for older templates and are always false or empty, such as `homepage.hideSearchBar` and `homepage.hiddenSections`.
  • Edits made in the dashboard show on the next request once the 5 s edge copy expires.
Request
curl --request GET \
--url "https://api.pandaidx.com/v1/site?key={{public_key}}"
Response200 OK
{
"url": "https://www.example.com",
"domain": "www.example.com",
"profile": {
"name": "Alex Morgan, Realtor®",
"slug": "alex-morgan",
"title": "Realtor Associate",
"image": "https://media.example.com/alex-morgan/portrait.jpg",
"biography": "Alex helps buyers and sellers across Miami-Dade.\nBilingual and local.",
"brokerageName": "Example Realty",
"email": "alex@example.com",
"phones": [
"+13055550142"
],
"links": {
"instagram": "https://instagram.com/alexmorgan",
"linkedin": null
},
"agentId": "A123456",
"displayAsTeamMember": true
},
"brand": {
"logo": "https://media.example.com/alex-morgan/logo.png",
"favicon": "https://media.example.com/alex-morgan/favicon.png",
"colors": [
{
"id": "color1",
"name": "Primary",
"value": "rgba(22, 38, 46, 1)"
}
],
"typography": {
"h1": {
"fontFamily": "Gilda Display",
"fontSize": 4.5
}
},
"buttons": {
"primary": {
"backgroundColor": "rgba(43, 110, 117, 1)",
"borderRadius": 0
}
}
},
"contact": {
"email": "alex@example.com",
"phones": [
"+13055550142"
],
"whatsapp": {
"phone": "+13055550142",
"subject": null
},
"whatsappWidget": {
"enabled": true,
"phone": "+13055550142",
"position": "right"
},
"telegram": null
},
"homepage": {
"cover": "https://media.example.com/alex-morgan/cover.jpg",
"coverSlides": [],
"coverVideo": null,
"coverSearch": {
"showSearchBar": true,
"showVideo": false
}
},
"seo": {
"title": "Alex Morgan | Miami Real Estate",
"description": "Homes and condos in Miami, with a local agent."
},
"legal": {
"privacyPolicy": true,
"termsAndConditions": false,
"privacyPolicyHtml": "<p>We respect your privacy.</p>",
"termsAndConditionsHtml": null
},
"team": {
"enabled": true
},
"navigation": {
"areaLibraries": [
{
"title": "Miami Beach",
"path": "/areas/miami-beach"
}
],
"customPages": [
{
"title": "Relocation Guide",
"path": "/relocation-guide",
"type": "studio",
"noindex": false
}
],
"stories": true,
"offMarket": false,
"team": true
},
"plan": {
"includes": {
"video": true,
"data": true,
"whitelabel": false
},
"whitelabelActive": false
},
"integrations": {
"googleAnalytics": "G-ABC123XYZ",
"googleTagManager": null
},
"header": {
"placement": "logo-left-menu-right",
"bgColor": "#FFFFFF",
"homepageStyle": "transparent"
},
"chrome": {
"customized": false,
"header": {
"navigation": [
{
"title": "Buy",
"href": "/for-sale",
"newTab": false,
"children": []
}
],
"button": null
},
"footer": {
"designed": false,
"columns": []
}
}
}