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.
/v1/siteAuthentication
?key=pk_…Public key in the `key` query parameter. No OAuth, no secret.
Edge cache: 5 s
Query Parameters
keystringThe site's public key (pk_…). It selects the account. Safe to ship to the browser.
Responses
application/jsonurlstring | nullCanonical site URL, null when no domain is configured.
domainstring | nullHostname of the site, for example www.example.com.
profileobjectPublic profile of the account owner: name, title, portrait, biography, phones, social links, MLS agent and office ids.
brandobjectLogos, favicon, color presets, typography presets and button presets, with colors resolved to CSS values.
contactobjectEmail, phones and the WhatsApp and Telegram floating button settings (null when not set up).
homepageobjectHero media (cover, mobile cover, slides, videos), contact image, About block and homepage SEO.
seoobjectSite-wide SEO title and description (both null when empty).
legalobjectWhether custom legal text exists, plus the privacy and terms text as sanitized HTML.
teamobject`enabled` is true when the team page is switched on.
navigationobjectLinks for area libraries, collections, saved searches, custom pages, and flags for stories, off-market, team and MLS inventories.
planobjectWhat the plan includes (video, data, white label). No billing data.
integrationsobjectPublic tracking ids of the integrations the owner turned on. Each is null unless enabled and valid.
headerobjectClassic header settings: top bar, placement, background, navbar style, logo size.
chromeobjectHeader and footer menus, either the owner's custom ones or the Panda defaults, and the designed footer as data.
Errors
401Missing or invalid public key403TENANT_INACTIVE: the account has no active subscription (body also carries `code`)404Application not found: the key is valid but its account does not existNotes
- 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.
curl --request GET \--url "https://api.pandaidx.com/v1/site?key={{public_key}}"
{"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": []}}}