API

Read your project’s data from your own tools.

A read-only JSON API over HTTPS, one project per key, with a scope for each dataset.

Authentication

Scoped keys that expire.

Create a key for one project in Settings → API keys. Owners and editors can manage keys; viewers cannot. Give the key only the scopes it needs and an expiry of 30, 90 or 365 days (90 by default).

The secret is shown once. DiscoveredBy stores only a hash of it, so a lost key is replaced, not recovered. Send it in the Authorization header; session cookies and keys in query parameters do not authorize these routes, and a key cannot sign in to the app.

curl --fail-with-body \
  -H "Authorization: Bearer $DISCOVEREDBY_API_KEY" \
  'https://api.discoveredby.ai/customer-api/v1/projects/PROJECT_ID/prompts?limit=50'

The 10 scopes:

  • prompts:read
  • answers:read
  • citations:read
  • metrics:read
  • reports:read
  • reasons:read
  • objections:read
  • attributes:read
  • facts:read
  • explorer:read

Resources

What you can read.

Every path is relative to the project’s base URL, https://api.discoveredby.ai/customer-api/v1/projects/PROJECT_ID. Reports, brand reasons, objections, attributes and fact checks also need that feature on the project owner’s plan.

RouteScopeReturns
GET /promptsprompts:readCurrent prompts, active and paused, with their classifications
GET /answersanswers:readCompleted answers with provenance and a text preview of up to 8,000 characters
GET /answers/{answer_id}/textanswers:readThe full saved text of one answer, in version-checked chunks
GET /citationscitations:readSaved citation records with a snippet of up to 2,000 characters
GET /metrics/dailymetrics:readDaily counts, brand visibility and own-domain citation rate by collection channel
GET /reportsreports:readSaved weekly digests for completed weeks
GET /reports/{report_id}reports:readOne saved weekly digest
GET /brand-reasonsreasons:readStrength and weakness reasons answers gave for tracked brands
GET /objectionsobjections:readObjections found by the objection study
GET /attributesattributes:readAttributes found by the attribute study, one measure at a time
GET /fact-checksfacts:readWhere answers supported or contradicted your approved facts
POST /explorer/queryexplorer:readOne Explorer query, computed now
GET /explorer/viewsexplorer:readThe project’s saved Explorer views
GET /explorer/views/{view_id}/resultexplorer:readOne saved view, run now

Exports

Files in CSV or JSON, from the app.

Separately from the API, the app’s Exports screen downloads thirteen datasets as CSV or JSON, and an Explorer result downloads the same way from the Explorer page. Both formats carry the same rows. File downloads use your signed-in session, not an API key, and follow the project owner’s plan.

Docs: Exports and activity

Limits

Rates, pages and windows.

  • Each key admits 60 authenticated requests a minute, shared across every route and the MCP connector. On a 429, wait for the Retry-After interval.
  • A project can hold up to 10 active keys, and each key reads only its own project.
  • Prompt pages hold up to 100 rows; answer, citation, report, reason, objection, attribute and fact check pages up to 25. Follow next_after_id until it is null.
  • Daily metrics page by 1–31 calendar days; follow next_start until it is null.
  • Dated lists and daily metrics default to the last 28 days and allow a window of at most 366 days.
  • Each Explorer query or view result also spends one query from the project’s Explorer budget of 120 a minute, shared with the app.
  • Read only. Every route reads data, and there is no refreshable BI connector.
  • Missing values stay null; measured zero stays zero.

Plans

Which plans include it.

Access follows the project owner’s plan, whoever created the key. The API and the MCP connector are included together.

FreeStarterGrowthPro

Every field, parameter and error.

The API reference covers pagination, field definitions and every status code.

Start monitoring your AI visibility.

See how AI search engines talk about your brand.

Free to start. No credit card required.