Resources
Peekaboo REST API.
Read-only programmatic access to your brand visibility analytics. Six endpoints. X-API-Key auth. Same scoring as the dashboard.
5 models tracked. No credit card. ~60s.
Base URL
https://www.aipeekaboo.com/api/v1
Authentication
Every request needs an X-API-Key header. Keys are project-scoped and read-only.
Key format: pk_YOUR_PROJECT_ID_YOUR_SECRET
Generate one in Settings → Integrations inside the Peekaboo app.
Example:
- curl -H "X-API-Key: pk_proj123_secret456" https://www.aipeekaboo.com/api/v1/brands
Rate limits
| Plan | Limits |
|---|---|
| Peek / Starter | 5 req/min · 100/day |
| Grow / Standard | 10 req/min · 500/day |
| Pro / Enterprise | 20 req/min · 1,000/day |
Response format
Every response is a JSON envelope:
- success: boolean
- data: the payload
- pagination: present on list endpoints (offset, limit, total, hasMore)
- metadata: { requestId, timestamp, queryTimeMs }
Error codes
| Code | Meaning |
|---|---|
| UNAUTHORIZED (401) | Missing or invalid key |
| FORBIDDEN (403) | Key cannot access this resource |
| SUBSCRIPTION_INACTIVE (403) | Project subscription lapsed |
| NOT_FOUND (404) | Brand or resource does not exist |
| INVALID_PARAMS (400) | Bad query parameter |
| RATE_LIMITED (429) | Slow down. Retry-After header included. |
| INTERNAL_ERROR (500) | Our fault. Retry with backoff. |
GET /brands
List every brand in your project.
Returns: id, name, domain, createdAt, totals.
GET /brands/:brandId/snapshot
Recommended starting point. One call returns the full pre-computed analytics snapshot:
- brand: id, name, domain
- visibility: { score, rank, maxScore, totalCitations, totalChatsAnalyzed }
- prompts: array of tracked prompts with per-prompt scores
- sources: cited domains across all 5 models
- competitors: tracked + discovered, with scores and traffic
- aiSuggestions: prompt opportunities
- traffic: SimilarWeb data
GET /brands/:brandId/visibility
Score, market share, top prompts.
Query: time_range=7d|30d|90d (default 30d)
Returns: score (0–100), marketShare, topPrompts[], trend.
GET /brands/:brandId/competitors
Competitor comparison with scores and traffic.
Returns: array of { name, domain, visibilityScore, monthlyVisits, trackedYesNo }.
GET /brands/:brandId/sources
Source domains AI models cite when describing your brand.
Returns: array of { domain, citationCount, modelBreakdown }.
GET /brands/:brandId/prompts
Paginated prompt performance.
Query: time_range, category, search_intent, offset, limit
Returns: prompts[] with score, mentions, rank, last run timestamp.
Scoring
score = ((totalMentions - rank + 1) / totalMentions) * 100
Averaged across all runs in the window. Non-mentions count as zero. Identical formula for your brand and every competitor. Source: lib/scoring/visibility-score.ts.
AI models covered
ChatGPT (gpt-4o-mini) · Gemini (2.5-flash) · Perplexity (sonar) · Google AI Mode · Google AI Overview
All 5 included on every paid plan. No model gating.
All 5 models on every plan.
No Enterprise paywall. Pick the plan that fits your team.
FAQs
Everything you need to know
about AI search and Peekaboo
Want the full picture?
Paid plans cover all 5 models.
5 models tracked. No credit card. ~60s.