Brand share of voice in AI answers
https://seolyticize.com /api/v1/tools/get_ai_brand_mentions How often AI answers (Google AI Overviews, or ChatGPT) mention or cite each brand — the client and up to 9 competitors, each given as domains and/or brand keywords — across DataForSEO's database of real AI answers, with share of voice, the AI search volume behind the mentions, and the domains cited. No question tracking needed; works for any brand. Answers 'what is our share of voice in AI search' and 'who do AI answers recommend'. Rows carry source: dataforseo (real users' prompts, with AI search volume) or sampled (the client's tracked questions asked by Seolyticize, no volume); the two are never summed. For platforms other than google and chat_gpt only sampled rows exist and the call is free. A paid lookup on the client's account unless anyone read the same thing recently (spend says which); quote it with estimate_cost. (about $0.10 a call)
Parameters
Idempotency-KeystringheaderRequest body
application/json
clientIdstringrequiredbrandsobject[]requiredShow child parameters
namestringrequireddomainsstring[]keywordsstring[]platformstringincludeSampledbooleansampledDaysintegerlocationCodeintegerlanguageCodestringmaxCostMicrosintegerdryRunboolean{
"clientId": "string",
"brands": [
{
"name": "string",
"domains": [],
"keywords": []
}
],
"platform": "google",
"includeSampled": true,
"sampledDays": 90,
"locationCode": null,
"languageCode": null,
"maxCostMicros": 0,
"dryRun": true
}Code samples
cURL
curl -X POST "https://seolyticize.com/api/v1/tools/get_ai_brand_mentions" \
-H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
-H "Idempotency-Key: <value>" \
-H "Content-Type: application/json" \
-d '{"clientId":"string","brands":[{"name":"string","domains":[],"keywords":[]}],"platform":"google","includeSampled":true,"sampledDays":90,"locationCode":null,"languageCode":null,"maxCostMicros":0,"dryRun":true}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
data, and its meta.Example
{
"data": {},
"meta": {
"requestId": "string",
"costMicros": 0,
"cached": true,
"cachedFrom": "string",
"dataAsOf": "string",
"sources": [
"string"
],
"partial": true,
"next": [
{
"tool": "string",
"args": {},
"why": "string"
}
],
"nextCursor": "string",
"dryRun": true
}
}Schema
datarequiredmetaobjectrequiredShow child parameters
requestIdstringrequiredcostMicrosintegerrequiredcachedbooleanrequiredcachedFromstringdataAsOfstringsourcesstring[]partialbooleanrequirednextobject[]requiredShow child parameters
toolstringargsobjectwhystringnextCursorstringdryRunbooleanX-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerX-Request-IdstringExample
{
"error": "string",
"code": "string",
"next": "string",
"requestId": "string"
}Schema
errorstringrequiredcodestringnextstringrequestIdstringX-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_ai_brand_mentions
WWW-AuthenticatestringSame as 400 · POST /api/v1/tools/get_ai_brand_mentions
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_ai_brand_mentions
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_ai_brand_mentions
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_ai_brand_mentions
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_ai_brand_mentions
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerRetry-AfterintegerSame as 400 · POST /api/v1/tools/get_ai_brand_mentions
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-Resetinteger