Pull your measured visibility anywhere.
Everything the dashboard does is available over HTTPS with an API key, and the same surface is exposed as a 47 tool MCP server for Claude, ChatGPT, Cursor and Claude Code: 31 reads plus 16 actions covering the whole loop, from prompts and Acquire scans to drafting, publishing and the outreach send. An agent needs the same explicit confirmation a human does: every action that spends budget or cannot be undone returns a summary and a short-lived confirmation token first, and executes only when called again with it. API and MCP access are included from the $79 tier 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.ansengine.co/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-performance | Pooled named/cited/supported rates per tracked prompt, with sample sizes. |
| GET /brands/:brandId/serp-positions | The two lanes per prompt: classic Google position beside AI presence, plus the authority gaps. |
| GET /brands/:brandId/visibility-trend | Daily pooled rates over time, from dated snapshots. |
| GET /brands/:brandId/source-graph | Which domains each engine pulls from, per engine. |
| GET /brands/:brandId/competitive-report | Per buyer question: your standing, who wins instead, and their sources. |
| GET /brands/:brandId/google-competitors | Who shares your ranked keywords on classic Google, classified rival vs platform. |
| GET /brands/:brandId/citation-targets | The pages engines cite for your category, ranked by leverage, with domain authority. |
| GET /brands/:brandId/link-gaps | Pages linking to the cited sources and not to you. |
| GET /brands/:brandId/crawl-truth | Bot-UA probe verdicts, readability diffs, robots findings. |
| GET /brands/:brandId/onpage | The site-scale retrievability report, ranked by the Search Console traffic of the page each finding sits on. Unmeasured pages read as null, never as zero. |
| GET /brands/:brandId/revenue-pages | Revenue by landing page in three lanes: organic, AI referral, paid. |
| GET /brands/:brandId/search-wins | GSC drops, CTR quick wins, and demand without a page. |
| GET /brands/:brandId/leads | The lead ledger with the measured-window evidence join, plus the influenced tier. ?format=csv exports. |
| GET /brands/:brandId/outreach | The 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 requires an explicit confirmation step, in the app (the armed two-click) and over MCP (the confirmation token) alike.
| POST /brands/:brandId/serp-track | Queue the Google position lane for the tracked prompts. |
| POST /brands/:brandId/crawl-truth | Queue the probe + readability capture. |
| POST /brands/:brandId/onpage | Queue the site crawl (page caps are the cost cap). |
| POST /brands/:brandId/onpage/benchmark | Compare one of your pages against the pages engines were observed citing, on the same deterministic checks. Not what ranks, what gets quoted. |
| POST /brands/:brandId/citation-authority | Queue the authority refresh and link-gap expansion. |
| POST /brands/:brandId/google-competitors | Queue the Google competitor capture. |
| POST /brands/:brandId/outreach/seed | Promote measured citation targets into the outreach pipeline. |
| POST /brands/:brandId/outreach/:targetId/contact | Find the public contact behind one cited page (scraped, verified, encrypted). |
| POST /brands/:brandId/outreach/:targetId/draft | Draft the pitch, grounded only in your verified brand facts. Nothing sends. |
| POST /brands/:brandId/leads/:leadId/crm | Push one lead into your connected CRM (HubSpot or Salesforce; pass target when both). Idempotent. |
| POST /brands/:brandId/leads/sheets | Append the lead ledger to your own Google Sheet, evidence included. |
| POST /brands/:brandId/search/sitemap | Submit your sitemap to Google Search Console through your own connection. |
| POST /brands/:brandId/search/inspect | Google's own index verdict for one URL, verbatim (their data can lag by days). |
| POST /brands/:brandId/search/indexnow | Notify Bing, Yandex and IndexNow partners about changed URLs on your domains. |
The MCP server
The same surface, as tools an agent can call. 2 are free and need no account (the crawler check and pricing); the other 45 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.ansengine.co/mcp \ --header "Authorization: Bearer ak_your_key"
All 47 tools, writes marked. An agent can do everything the app does. Every one of the 16 writes that spends or acts, publishing and sending included, needs an explicit two-step confirmation and runs with your own key, so your role, plan, budget and provider limits apply exactly as they do in the console.
Questions or a missing read you need: kailesk@houseofmvps.com.
