geondex
Documentation

ai_citations

The pages and domains AI answers cite when they mention you.

POST https://geondex.com/api/v1/citations

Which pages or domains AI answers cite most when they mention your brand or site: where your AI visibility actually comes from, and which third-party pages to get onto. 35 credits.

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 characters
  • domain · 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 characters
  • platform · "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"
  • groupBy · "pages" | "domains" · optional — domains = which sites get cited; pages = which exact URLs. Default "domains"
  • limit · integer · optional — How many top pages or domains to return, 1-10. 1–10. Default 10

Example request

curl -s https://geondex.com/api/v1/citations -H "Authorization: Bearer gx_YOUR_KEY" -H "content-type: application/json" -d '{"brand":"TTSensei","groupBy":"domains","limit":3}'

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

  • groupBy · "pages" | "domains"
  • total · number — All AI answers that match the target, the base that share is measured against
  • items · object[]
  • items[].key · string — The domain, or the page URL when groupBy is pages
  • items[].mentions · number — Matching answers that cite this key
  • items[].aiSearchVolume · number | null — Estimated monthly AI searches behind those answers; null when unknown
  • items[].share · number — mentions / total, in percent, one decimal

Example response

Real-shaped, checked against the output schema by a test. Long lists are shortened.

{
  "summary": "Top cited domain in AI answers that mention TTSensei: www.reddit.com (30% of 40); 3 shown.",
  "data": {
    "groupBy": "domains",
    "total": 40,
    "items": [
      {
        "key": "www.reddit.com",
        "mentions": 12,
        "aiSearchVolume": 2100,
        "share": 30
      },
      {
        "key": "www.tabletennisdaily.com",
        "mentions": 9,
        "aiSearchVolume": 1300,
        "share": 22.5
      },
      {
        "key": "ttsensei.com",
        "mentions": 7,
        "aiSearchVolume": null,
        "share": 17.5
      }
    ]
  },
  "credits": {
    "charged": 35,
    "remaining": 95
  }
}

Errors

Every error has the body {"error":{"code":"…","message":"…"}} and is not charged.

HTTPWhen
400Bad input
401Missing or invalid key
402Out of credits
404Tool not available on this server
429Rate limited
502Upstream failure

Every error.code and what to do about it: Errors & rate limits.

On this page