Skip to content

Introducing the SurfacedBy Data API and Developer Console

Ali Khallad3 min readUpdated
April 18, 2026 , 3 min read
SurfacedBy product update hero: pull your AI visibility into any system, beside a Data API request and JSON response
Share

The dashboard is one way to read your AI visibility. It is not always the right one. If you want these numbers in your data warehouse, a BI tool, an internal dashboard, or a nightly job that flags regressions, you need them as data, not as a screen. The Data API and Developer Console exist for exactly that.

The Data API

Every endpoint lives under one base URL and authenticates with a single header. From there you can read the same things the dashboard shows: a domain’s analytics, its citations and sources, competitors, opportunities, tracked prompts, and generated reports. On Business plans the write endpoints let you manage prompts programmatically too.

A curl request to the SurfacedBy Data API GET domains endpoint and the JSON response listing a domain with visibility score, citation rate, and market rank
One header, predictable JSON. The same numbers as the dashboard, as data.

It behaves the way you would want a modern API to behave. Errors come back as problem+json so a failure is machine-readable, not a guessing game. Writes accept an idempotency key so a retried request never double-acts. Every response carries rate-limit headers and a request id you can quote in a support thread. And test keys return fixture responses from a sandbox, so you can build and debug against a stable shape without spending quota or touching production data.

Keys and credits in the Console

You manage all of this from the Developer Console. Mint a live key or a test key, watch usage, and top up prepaid credits when you need more headroom. Live keys (sk_live_) touch production data and count against your plan’s rate limit; test keys (sk_test_) never consume your quota. Read access is available on Professional; the write endpoints unlock on Business.

Docs and webhooks

The reference at docs.surfacedby.com is generated from the live OpenAPI spec, so it never drifts from what the API actually returns. There is a quickstart, an authentication guide, and a page per endpoint.

SurfacedBy API reference docs showing the base URL api.surfacedby.com/api/v1/ext and X-API-Key authentication with a curl example
Spec-driven docs: base URL, authentication, and live and test keys, straight from the OpenAPI snapshot.

For changes you would rather not poll for, webhooks push events as they happen, so a scan completing or a competitor passing you can trigger something in your own stack without a cron job hammering the API.

API or MCP?

Two ways to read the same data, for two different consumers. The Data API is for systems you build: pipelines, dashboards, jobs. If instead you want an AI assistant to answer questions from this data in plain language, the MCP Intelligence Server wraps the same read surface for Claude, ChatGPT, and Cursor. Same numbers underneath, including everything on your dashboard; pick the interface that fits the job.

A note on timing

SurfacedBy changes often. We build from a mix of customer requests, our own research, and what developers need to integrate cleanly, so the endpoints and console here reflect how the platform looked at launch. The endpoint set has grown since, and because the docs are generated from the spec, they stay current as it does. Start at docs.surfacedby.com.