Integrations and API
Build your own dashboard on the API
Use the REST API as your data layer and build a branded AI visibility dashboard on your own domain.
6 minute read · Last reviewed: August 14, 2026
You want a dashboard that looks like your product, on your own domain, showing AI visibility data pulled straight from AI Peekaboo. You can build exactly that.
Yes, this works: the REST API is the data layer, and your app is the UI. Every number you see in the AI Peekaboo dashboard is available through the API, so you own the front end, the branding, the URL, and the layout, while AI Peekaboo keeps running the analysis and feeding it fresh data.
Pull scores, prompts and sources over REST and render them however your product needs.
How the pieces fit
Your app authenticates to the API with a single X-API-Key header, generated from Settings → Integrations. Use a read-only key: your dashboard only needs to display data, and a read-only key does far less damage if it ever leaks. Your server calls the API, caches the response, and renders it however you want. The API never touches your UI code, so you can rebuild the front end without changing a single data call.
Which endpoints feed which parts of the UI
| Your UI piece | Endpoint to call |
|---|---|
| Headline score, hero tiles, and overview | /brands/:brandId/snapshot |
| Score trend and market share over time | /brands/:brandId/visibility |
| Competitor leaderboard and rankings | /brands/:brandId/competitors |
| "Who gets cited" source tables | /brands/:brandId/sources |
| Prompt list with per-prompt scores | /brands/:brandId/prompts |
| A single prompt's run history and cited URLs | /brands/:brandId/prompts/:promptId |
| Suggested next prompts to track | /brands/:brandId/recommendations |
Caching and rate limits
Rate limits are counted per key: 20 requests a minute on Grow, 40 on Custom or Enterprise. A live dashboard that calls the API on every page view will burn through that quickly, so cache on your side.
- Cache the snapshot for a few minutes and serve every visitor from that copy, rather than calling the API per request.
- Refresh no more often than your analysis actually runs. If a brand is tracked daily, pulling its data every few minutes just returns the same numbers.
- The
/recommendationsendpoint is slow, 8 to 15 seconds, since it runs a model call per suggestion. Fetch it on a schedule and store the result, never inline in a page load. - Watch the
X-RateLimit-Remainingheader, and back off until theX-RateLimit-Resettime when you see a 429.
If you don't want to build a UI at all
The same API powers two paths that need no front-end code. Connect the Looker Studio connector and build a branded report with drag-and-drop instead of code. Or connect Claude, Cursor, or ChatGPT over MCP and ask for a report in plain language. Building on the API directly gives you the most control; these give you speed when a full custom dashboard is more than you need. The custom reports article compares all three side by side.
