Developer API

The AI visibility API

A read-only REST API for AI-search visibility. It reports how often ChatGPT, Google AI, Perplexity, Grok, and Claude recommend a business, which competitors they name instead, and which sources shape those answers.

API keys live in the workspace settings, one request away from first data.

What an AI visibility API returns

An AI visibility API returns structured data about how AI engines answer real customer questions: which businesses they recommend, in what order, and which sources they cite. It turns AI visibility from a screenshot into a metric a dashboard can track.

The Reachd API covers five AI engines: ChatGPT, Google AI, Perplexity, Claude, and Grok. One GET request returns a business's visibility score, its share of recommendations against named competitors, and the exact customer queries it wins or loses. Brand mentions, citations, and knowledge gaps come from the same analysis that powers the Reachd dashboard, so the numbers never disagree.

Teams use it to pull generative engine optimization metrics into BI tools, client reports, and internal dashboards. For plain-language questions inside Claude or ChatGPT, the same data is available through the AI visibility MCP server.

AI competitor tracking, included

Every analysis extracts the competitors AI engines recommend alongside or instead of the business. The competitors endpoint ranks them by strength and average position, competitor-quotes returns the exact phrases AI engines use when they recommend a rival, and placements shows the directories where those rivals are already listed. For product brands, channels adds the retail side of the same picture: the shelves AI engines point buyers to, and which of them carry rival products only.

Together they work as an AI competitor tracking API. Who wins the category today, why the AI engines prefer them, and where to catch up, all in the same JSON.

First request in a minute

The base URL is https://api.reachd.ai/v1. Every request carries the API key as a bearer token. Start by listing the businesses in the workspace; the ids in the response feed every other endpoint.

# List the businesses in the workspace
curl https://api.reachd.ai/v1/businesses \
  -H "Authorization: Bearer rk_your_key"
# Illustrative response
[
  {
    "id": 42,
    "name": "Harbor Dental",
    "url": "harbordental.com",
    "category": "Dental clinic",
    "city": "Austin",
    "workspace": "Harbor Dental",
    "is_active": true,
    "analysis_status": "running",
    "last_analyzed": "2026-07-21",
    "locations": ["Austin", "Dallas"]
  }
]
# Visibility for one business
curl https://api.reachd.ai/v1/businesses/42/visibility \
  -H "Authorization: Bearer rk_your_key"

{
  "business": "Harbor Dental",
  "category": "Dental clinic",
  "visibility_score": 61,
  "top_competitors": ["Smile Studio", "Lakeside Dental"],
  "providers": [
    { "provider": "ChatGPT", "found_rate_pct": 74, "avg_position": 1.4 },
    { "provider": "Google AI", "found_rate_pct": 31, "avg_position": 2.2 }
  ],
  "last_analyzed": "2026-07-21"
}

Authentication

Keys are issued per workspace and scoped to it. A key reads the data of its own workspace and nothing else. Keys live in the workspace settings inside the Reachd app.

The full key is shown once at creation; Reachd stores only its hash. A compromised key can be revoked there without affecting the rest of the account. Each key allows 5,000 requests per day.

Endpoints

All endpoints answer to GET and never modify data. The optional location parameter accepts one of a business's configured locations; without it, responses cover all locations.

EndpointQuery paramsReturns
GET/businesses Every business in the workspace with its id, category, city, configured locations, the date of its last analysis, and whether analysis is currently running. Ids from this list feed all other endpoints.
GET/businesses/{id}/visibility location The visibility score across AI engines, the share of recommendations, top competitors, and the date of the last analysis.
GET/businesses/{id}/visibility-history location, days, granularity The day-by-day visibility series the dashboard trend chart shows, with competitor scores per point. Points where the analyzed question set was updated carry a basis_changed flag, so a step in the score across such a point reflects the changed questions rather than a market move.
GET/businesses/{id}/competitors location The competitors AI recommends instead, with strength, average position, and mention counts, next to the business's own mention count and average position over the same runs.
GET/businesses/{id}/query-performance location Customer queries grouped into winning, vulnerable, and lost, with the AI engines that recommend the business in each.
GET/businesses/{id}/customer-queries location The queries monitored for the business and the typical question customers ask in its category.
GET/businesses/{id}/ai-facts provider The brand facts AI engines hold about the business, which of them confirm each fact, and the knowledge gaps.
GET/businesses/{id}/placements location Directories and platforms worth getting listed on, ranked by impact, with the competitors already present.
GET/businesses/{id}/channels location Shops and marketplaces AI names as places to buy in the category, each marked with what the answers show: a cited page carrying the product, a shop named alongside it, or a shelf where only rival products come up.
GET/businesses/{id}/competitor-quotes competitor, location The exact phrases AI engines cite about a competitor's brand. Defaults to the current leader.
GET/businesses/{id}/insights location Dated, evidence-backed insights with concrete action items and their expected impact.

Full request and response schemas live in the interactive reference, generated from the live API. The raw spec at /v1/openapi.json works with any OpenAPI client generator.

Errors

Every error uses one envelope, with a machine-readable code and a human-readable message.

{
  "error": {
    "code": "no_data",
    "message": "Harbor Dental has no completed AI-search analysis yet."
  }
}
StatusCodeWhen
401 unauthorized The API key is missing, invalid, or revoked.
404 not_found No business with this id exists in the key's workspace.
404 no_data The business exists but the requested analysis has not completed yet.
429 rate_limited The key reached its daily request limit.
500 server_error Something failed on our side. Safe to retry in a moment.

Frequently asked questions

What is an AI visibility API?

An AI visibility API returns structured data about how AI engines answer real customer questions: which businesses they recommend, in what order, and which sources they cite. The Reachd API adds competitor tracking, brand-fact audits, and prioritized action items on top of the raw visibility numbers.

Which AI engines does the API cover?

ChatGPT, Google AI, Perplexity, Grok, and Claude. Endpoints aggregate across them, and provider-level detail is available where it matters, such as query performance and AI facts.

How do I get an API key?

Keys live in the workspace settings inside the Reachd app. Each workspace issues and revokes its own keys; a key is shown once at creation and only its hash is stored.

What can the API change in my account?

Nothing. Every endpoint is read-only. The API reads visibility data and cannot touch businesses, settings, or billing.

How is this different from the MCP integration?

Same data, different consumer. MCP connects AI engines like Claude and ChatGPT for plain-language questions. The REST API serves code: dashboards, BI tools, internal reports, scheduled exports.

Is there an OpenAPI spec?

Yes. The interactive reference at api.reachd.ai/v1/docs is generated from the live API, and the raw spec is available at api.reachd.ai/v1/openapi.json for client generation.

Ready to build on it

API access comes with every Reachd workspace. Start the trial, let the first analysis finish, and the first GET request is minutes away.