Docs · API and MCP

Pull your measured visibility anywhere.

Everything the dashboard shows is readable over HTTPS with an API key, and the same surface is exposed as a 24-tool MCP server for Claude and other agents: 20 reads plus 4 writes covering only the reversible configuration surface (prompts, competitors, the outreach worklist). An agent can never publish, send, or spend through MCP. API and MCP access are included from the Growth plan up.

Authentication

Create a key under Settings, API in the dashboard. Send it as a Bearer token. Keys are org-scoped: a brand id from another org reads as not found, never as someone else’s data.

curl https://api-production-a87a.up.railway.app
/brands/BRAND_ID/prompt-performance \
  -H "Authorization: Bearer ak_your_key"

Reads

Reads never spend measurement budget. Rates come with their sample sizes; a value that was not measured is null, never zero.

GET /brands/:brandId/prompt-performancePooled named/cited/supported rates per tracked prompt, with sample sizes.
GET /brands/:brandId/serp-positionsThe two lanes per prompt: classic Google position beside AI presence, plus the authority gaps.
GET /brands/:brandId/visibility-trendDaily pooled rates over time, from dated snapshots.
GET /brands/:brandId/source-graphWhich domains each engine pulls from, per engine.
GET /brands/:brandId/competitive-reportPer buyer question: your standing, who wins instead, and their sources.
GET /brands/:brandId/google-competitorsWho shares your ranked keywords on classic Google, classified rival vs platform.
GET /brands/:brandId/citation-targetsThe pages engines cite for your category, ranked by leverage, with domain authority.
GET /brands/:brandId/link-gapsPages linking to the cited sources and not to you.
GET /brands/:brandId/crawl-truthBot-UA probe verdicts, readability diffs, robots findings.
GET /brands/:brandId/onpageThe site-scale retrievability report with offending URLs per category.
GET /brands/:brandId/revenue-pagesRevenue by landing page in three lanes: organic, AI referral, paid.
GET /brands/:brandId/search-winsGSC drops, CTR quick wins, and demand without a page.
GET /brands/:brandId/leadsThe lead ledger with the measured-window evidence join, plus the influenced tier. ?format=csv exports.
GET /brands/:brandId/outreachThe publisher pitch pipeline: targets, leverage, contact state, outcomes.

Triggers

Triggers queue work and return immediately; poll the matching read. Each is rate-limited and stops at your plan’s monthly measurement budget. Anything public or irreversible still goes through the human approval gate in the app; the API never places content.

POST /brands/:brandId/serp-trackQueue the Google position lane for the tracked prompts.
POST /brands/:brandId/crawl-truthQueue the probe + readability capture.
POST /brands/:brandId/onpageQueue the site crawl (page caps are the cost cap).
POST /brands/:brandId/citation-authorityQueue the authority refresh and link-gap expansion.
POST /brands/:brandId/google-competitorsQueue the Google competitor capture.
POST /brands/:brandId/outreach/seedPromote measured citation targets into the outreach pipeline.
POST /brands/:brandId/outreach/:targetId/contactFind the public contact behind one cited page (scraped, verified, encrypted).
POST /brands/:brandId/outreach/:targetId/draftDraft the pitch, grounded only in your verified brand facts. Nothing sends.
POST /brands/:brandId/leads/:leadId/crmPush one lead into your connected CRM (HubSpot or Salesforce; pass target when both). Idempotent.
POST /brands/:brandId/leads/sheetsAppend the lead ledger to your own Google Sheet, evidence included.
POST /brands/:brandId/search/sitemapSubmit your sitemap to Google Search Console through your own connection.
POST /brands/:brandId/search/inspectGoogle's own index verdict for one URL, verbatim (their data can lag by days).
POST /brands/:brandId/search/indexnowNotify Bing, Yandex and IndexNow partners about changed URLs on your domains.

The MCP server

The same reads, as tools an agent can call. Two are free and need no account (the crawler check and pricing); the other twenty-two use your API key. The server card at/.well-known/mcp/server-card.jsonon the MCP host describes the full catalog. Connect from Claude Code:

claude mcp add ansengine --transport http \
  https://mcp-production-2403.up.railway.app/mcp \
  --header "Authorization: Bearer ak_your_key"

All 24 tools. The last four are the only writes, and they touch configuration you can undo (prompts, competitors, the outreach worklist). Nothing an agent calls can publish, send, or spend.

check_ai_crawler_accessget_pricingmeasure_ai_visibilitydiagnose_visibility_gapsget_serp_positionsget_crawl_truthget_onpage_reportget_citation_targetsget_link_gapsget_google_competitorsget_prompt_performanceget_source_graphget_competitive_reportlist_locationsget_gbp_featuresget_review_featuresget_local_gridget_visibility_trendget_prompt_answersget_budget_statusadd_promptset_prompt_activeset_competitorsseed_outreach_targets

Questions or a missing read you need: kailesk@houseofmvps.com.