AI visibilityGET$0.18
/v1/ai-share-of-voice
Who AI cites most across 2–10 competing domains — one price for the whole set.
One vendor request covers every domain in the set, which is what lets a single price cover ten. Results are ranked by mentions with each domain's sharePct of the compared set, AI search volume, and per-engine and per-language splits. A domain the index has never seen comes back as a zero row rather than a missing one.
sharePct is share of the set you asked about, not of the whole index — the payload says so, so an agent cannot read it as market share.
Parameters#
| Name | Description | |
|---|---|---|
domains | required | comma list of 2–10 hostnames |
platform | optional | chat_gpt or google (default: both) |
Request#
Plain GET. Without a payment header the response is a 402 carrying the price; an x402 client pays and retries on its own — see the quickstart.
GET https://citable.run/v1/ai-share-of-voice?domains=semrush.com,ahrefs.com,profound.com
Response#
200 with the JSON below (trimmed) and the settlement signature in the PAYMENT-RESPONSE header. Every paid response also carries price and cluster.
{
"domains": ["semrush.com", "ahrefs.com", "profound.com"],
"leader": "semrush.com",
"totals": { "mentions": 86629, "aiSearchVolume": 92800939 },
"results": [
{ "domain": "semrush.com", "rank": 1, "mentions": 71069, "aiSearchVolume": 80461811, "sharePct": 82,
"engines": [ { "key": "google", "mentions": 69880, "aiSearchVolume": 79102400 }, { "key": "chat_gpt", "mentions": 1189, "aiSearchVolume": 1359411 } ],
"languages": [ { "key": "en", "mentions": 58211, "aiSearchVolume": 71003210 }, "…" ] },
{ "domain": "ahrefs.com", "rank": 2, "mentions": 15553, "aiSearchVolume": 12336848, "sharePct": 18, "engines": [ "…" ], "languages": [ "…" ] },
{ "domain": "profound.com", "rank": 3, "mentions": 7, "aiSearchVolume": 2280, "sharePct": 0, "engines": [ "…" ], "languages": [ "…" ] }
],
"coverage": { "platforms": ["chat_gpt", "google"], "note": "sharePct is each domain's share of the compared set, not of the whole index; ChatGPT rows are United States / English only" },
"source": "dataforseo_llm_mentions",
"price": "$0.18",
"cluster": "mainnet"
}Errors#
Any non-200 cancels the payment — errors are free.
| Status | Code | When |
|---|---|---|
| 400 | invalid_domains | fewer than 2 distinct hostnames, more than 10, or one that is not a hostname |
| 400 | invalid_platform | platform is not chat_gpt or google |
| 502 | upstream_failed | the data source did not answer — nothing is charged |
| 503 | not_configured | this deployment has no credentials for the source — nothing is charged |
MCP tool#
The same call from Claude, Codex or Cursor once citable-mcp is installed. Arguments mirror the parameters above.
citable_ai_share_of_voice(domains, platform?) $0.18Source & latency#
| Data source | Typical latency |
|---|---|
| DataForSEO LLM Mentions index | ~2–3 s |
Pairs with#
The real questions AI engines already cite a domain for
Monthly AI mentions and AI search volume for a domain, with month-over-month deltas
Which pages of a domain AI engines cite most, from an aggregated index of AI answers.