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

API rate limits by plan
PlanLimits
Peek / Starter5 req/min · 100/day
Grow / Standard10 req/min · 500/day
Pro / Enterprise20 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

API error codes
CodeMeaning
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.