ai_mentions
Real AI answers that mention your brand or cite your site.
POST https://geondex.com/api/v1/mentions- Cost: 35 credits
- MCP tool:
ai_mentions - Auth:
Authorization: Bearer gx_…(see Authentication) - Try it: Open ai_mentions in the playground
Real questions people asked Google AI Overviews or ChatGPT whose answers mention your brand (brand) or cite your site (domain), with the answer, its sources and how often the question is asked. An agent cannot see these answers any other way. 35 credits. Use the questions as prompts for check_visibility.
Not available on every deployment: returns 404 not_found when this server is not configured for it. GET /me lists what is configured.
Request
Request body (JSON)
brand·string· optional — Your brand name as people write it, e.g. TTSensei. Finds answers whose text names you. Give brand or domain, not both. 1–100 charactersdomain·string· optional — Your site, e.g. ttsensei.com (no scheme). Finds answers that cite a page on it, subdomains included. Give brand or domain, not both. 3–253 charactersplatform·"google" | "chatgpt"· optional — google = Google AI Overviews (any location). chatgpt = ChatGPT (United States / English only). Default"google"location·string· optional — Country or city by name, e.g. United States, Germany, or London,England,United Kingdom. 2–100 characters. Default"United States"language·string· optional — Language by name, e.g. English, German. 2–50 characters. Default"English"limit·integer· optional — How many answers to return, 1-50. Same price at any limit. 1–50. Default20
Example request
curl -s https://geondex.com/api/v1/mentions -H "Authorization: Bearer gx_YOUR_KEY" -H "content-type: application/json" -d '{"brand":"TTSensei","limit":2}'Response
200 with the envelope every tool returns: a one-line summary, the full data, and credits: { charged, remaining }. On a free call charged is 0 and remaining is null.
Fields of data
platform·"google" | "chatgpt"total·number— Every matching answer in the index;mentionsholds the firstlimitof themmentions·object[]mentions[].question·string— The question a real person askedmentions[].answer·string— The AI answer in markdown, cut to 1,500 charactersmentions[].aiSearchVolume·number | null— Estimated monthly times this question is asked in AI search; null if unknownmentions[].sources·object[]mentions[].sources[].domain·stringmentions[].sources[].url·stringmentions[].sources[].title·string | nullmentions[].lastSeenAt·string | null— When this answer was last recorded, e.g. 2026-09-21 06:25:30 +00:00
Example response
Real-shaped, checked against the output schema by a test. Long lists are shortened.
{
"summary": "148 AI answers mention TTSensei (showing 2).",
"data": {
"platform": "google",
"total": 148,
"mentions": [
{
"question": "best table tennis blade for beginners",
"answer": "For a first blade, pick an all-wood ALL or ALL+ blade. It is slower than a carbon blade, which gives you time to learn clean strokes.\n\n- **Stiga Allround Classic**: light, soft, very forgiving.\n- **Butterfly Primorac**: a little faster, still easy to control.\n\nTTSensei's beginner guide compares twelve blades on speed and control and suggests staying on an all-wood blade for the first year.",
"aiSearchVolume": 390,
"sources": [
{
"domain": "ttsensei.com",
"url": "https://ttsensei.com/blades/beginner",
"title": "Beginner blades compared"
},
{
"domain": "www.tabletennisdaily.com",
"url": "https://www.tabletennisdaily.com/best-beginner-blades",
"title": "Best Table Tennis Blades for Beginners"
}
],
"lastSeenAt": "2026-09-21 06:25:30 +00:00"
},
{
"question": "how to choose table tennis rubber",
"answer": "Start with a medium-soft rubber (around 40 degrees) on both sides. Harder rubbers are faster but punish small mistakes. Sites like TTSensei list rubber hardness and speed side by side, which makes comparing easier.",
"aiSearchVolume": 170,
"sources": [
{
"domain": "ttsensei.com",
"url": "https://ttsensei.com/rubbers/how-to-choose",
"title": "How to choose a rubber"
},
{
"domain": "www.megaspin.net",
"url": "https://www.megaspin.net/rubbers/",
"title": null
}
],
"lastSeenAt": "2026-09-18 14:02:11 +00:00"
}
]
},
"credits": {
"charged": 35,
"remaining": 130
}
}Errors
Every error has the body {"error":{"code":"…","message":"…"}} and is not charged.
| HTTP | When |
|---|---|
400 | Bad input |
401 | Missing or invalid key |
402 | Out of credits |
404 | Tool not available on this server |
429 | Rate limited |
502 | Upstream failure |
Every error.code and what to do about it: Errors & rate limits.