API access
Create a key, authenticate with a bearer token, and pull citations, prompts, competitors, changes, forecasts and Trace data into your own tools.
The public API v1 gives you your own data for your own dashboards, scripts and warehouse. Keys are scoped, rate-limited per plan, and read-only by default.
What you'll learn
- How to create a key and what scopes it gets
- How to authenticate, and what the responses look like
- What you can read and write
Create a key
- Open API settings.
- Create a key and copy it immediately. It is shown once.
- Restrict its permissions to what the integration needs.
A new key defaults to read-only permissions. Write and trigger permissions are opt-in, deliberately.
Authenticate
Send the key as a bearer token:
curl -H "Authorization: Bearer $OUTERCITE_API_KEY" \
https://app.outercite.com/api/v1/citationsA missing or malformed header returns 401 with a message telling you the expected form. Rate limits come from your plan and are reported back on the response headers, so a client can back off rather than guess.
Permissions
| Permission | Covers |
|---|---|
read:dashboard | Headline stats |
read:citations | Citations and their answers |
read:keywords, write:keywords | Prompts |
read:competitors, write:competitors | Competitors |
read:insights | Insights |
read:actions, write:actions | Actions |
read:recommendations, write:recommendations | Changes |
trigger:audits | Starting a check run |
manage:webhooks | Webhook endpoints |
read:products, write:products | Shopping products |
read:citetrace | Trace visits |
agency:cross_workspace | Reading across client workspaces, for agencies |
What you can reach
Endpoints exist for citations, prompts and their trends, competitors and the competitive landscape, insights, actions, changes, forecasts, platform coverage, briefs, products, Trace visits, webhooks and dashboard stats. Agencies can scope a request to a client workspace where the key carries the cross-workspace permission.
Two conventions worth knowing before you write a client:
- Lists are paginated, with the total returned alongside the rows.
- Unknown values are rejected rather than ignored. Asking for an unrecognised platform id returns a validation error listing the valid ids, instead of quietly creating a prompt that gets checked on nothing.
Naming note
Some endpoints and permissions still say keywords where the product says prompts. They are the same thing: the path is
kept stable so existing integrations keep working.
Rate limits and etiquette
Your limit comes from your plan. Three habits that keep you inside it:
- Poll on a schedule that matches the check cadence, not every minute. Checks do not run continuously.
- Use webhooks for anything event-shaped. Polling for a citation loss is wasteful and slower.
- Cache reference data such as your prompt list.
Try this in Outercite
Create a read-only key and pull GET /api/v1/platforms/coverage. It is the smallest useful request and it confirms your
authentication, your plan's surfaces and your rate-limit headers in one call.
Related
API v1 reference
Endpoints, parameters and response shapes.
Webhooks
Events instead of polling.
MCP
The same data inside an AI client.
Last updated on
