MessGEODocs
Get an API key

Reading data

Every panel call needs the pt:read scope and a live package on that panel. If the package of a panel has ended, its calls return 402 package_inactive, and GET /v1/panels shows package_active: false.

curl https://api.messgeo.com/v1/panels -H "Authorization: Bearer mgk_xxxxxxxxxx_your_secret"

What each call returns

CallResult
/panelsYour panels
/panels/{panel_id}Brand, market, engines, package
/panels/{panel_id}/promptsPrompts. Filters: active, topic
/panels/{panel_id}/statsVisibility per measurement, the same series as your panel. Filters: runs or from and to, at most 90 days
/panels/{panel_id}/prompts/{prompt_id}/resultsPer engine result of one prompt
/panels/{panel_id}/answersAI answers, one per measurement, prompt and engine
/panels/{panel_id}/sourcesCited sources
/panels/{panel_id}/competitorsCompetitors and share
/panels/{panel_id}/opportunitiesSource opportunities of active prompts and your marks
/panels/{panel_id}/alerts, /events, /actionsAlerts, chart events, actions
/panels/{panel_id}/market, /brand, /insightsMarket map, brand image, recommendations
/panels/{panel_id}/prompts/metrics, /engines, /sources/gapsPrompt metrics, engine details, source gaps
/panels/{panel_id}/gsc, /ga4, /integrations, /sharesSearch Console, AI traffic, connections, share links
/panels/{panel_id}/export?tab=overviewThe same CSV as the panel, once per minute per key

Pages

Lists with many rows use limit and cursor. Send the next_cursor of the answer as cursor until it is null.