geondex
Documentation

ai_answers

The full answer each AI engine gives to a prompt, with its sources.

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

The full answer Perplexity, ChatGPT, Claude, Gemini and Grok each give to PROMPT, with the sources each one cited, in one normalized shape. No brand check: use check_visibility for that. Useful to see how engines frame a topic before writing content, or to read what they say about a competitor. Credits depend on the model (see models); timeouts are free. Takes up to 30 s (45 s with a premium model).

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)

  • prompt · string · required — The question to ask, e.g. 'which table tennis blade suits a beginner?'. 3–2,000 characters
  • engines · ("perplexity" | "openai" | "claude" | "gemini" | "grok")[] · optional — Subset of engines. Default: all five. Each engine that answers costs its model's credits (see models). 1–5 items. Each one of perplexity, openai, claude, gemini, grok
  • models · object · optional — Model per engine. Default = the model the engine's free consumer app uses, or a fast model from the same provider where that one is too slow. perplexity: sonar (Perplexity default, 2 credits); openai: gpt-5.6-luna (ChatGPT Free default, 8 credits); openai: gpt-5.6-sol (ChatGPT Plus default, 64 credits); claude: claude-sonnet-5-5 (Claude Sonnet 5.5, current Sonnet, 15 credits, default); claude: claude-opus-5-5 (Claude Opus 5.5, 27 credits); gemini: gemini-3.5-flash (Gemini 3.5 Flash, low thinking, 16 credits, default); grok: grok-4.3 (Grok 4.3, fast, 16 credits, default)

Example request

curl -s https://geondex.com/api/v1/answers -H "Authorization: Bearer gx_YOUR_KEY" -H "content-type: application/json" -d '{"prompt":"which table tennis blade suits a beginner?","engines":["perplexity","openai"]}'

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

  • prompt · string
  • engines · object[]
  • engines[].engine · "perplexity" | "openai" | "claude" | "gemini" | "grok"
  • engines[].status · "ok" | "timeout" | "error"
  • engines[].model · string
  • engines[].answer · string | null — The engine's full answer text (up to 8 KB); null on failure
  • engines[].citations · object[]
  • engines[].citations[].url · string
  • engines[].citations[].host · string
  • engines[].citations[].title · string | null
  • engines[].citations[].position · number
  • engines[].durationMs · number
  • engines[].error · string · optional

Example response

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

{
  "summary": "2 of 2 engines answered; 5 distinct sources cited.",
  "data": {
    "prompt": "which table tennis blade suits a beginner?",
    "engines": [
      {
        "engine": "perplexity",
        "status": "ok",
        "model": "sonar",
        "answer": "For a beginner, an all-round wooden blade such as the Stiga Allround Classic or the Butterfly Primorac gives control while you learn strokes. Avoid carbon blades at first: they are fast and forgive little.",
        "citations": [
          {
            "url": "https://ttsensei.com/blades/beginner",
            "host": "ttsensei.com",
            "title": "Best beginner blades",
            "position": 1
          },
          {
            "url": "https://www.reddit.com/r/tabletennis/comments/abc",
            "host": "reddit.com",
            "title": null,
            "position": 2
          },
          {
            "url": "https://revspin.net/blade/",
            "host": "revspin.net",
            "title": "Blade ratings",
            "position": 3
          }
        ],
        "durationMs": 4210
      },
      {
        "engine": "openai",
        "status": "ok",
        "model": "gpt-5.6-luna",
        "answer": "Choose a 5-ply all-wood blade with an ALL or ALL+ speed rating. Popular picks are the Stiga Allround Classic and the Yasaka Sweden Extra.",
        "citations": [
          {
            "url": "https://www.megaspin.net/blades/",
            "host": "megaspin.net",
            "title": "Allround blades",
            "position": 1
          },
          {
            "url": "https://ttsensei.com/blades/beginner",
            "host": "ttsensei.com",
            "title": "Best beginner blades",
            "position": 2
          },
          {
            "url": "https://tabletennis11.com/blades",
            "host": "tabletennis11.com",
            "title": null,
            "position": 3
          }
        ],
        "durationMs": 6870
      }
    ]
  },
  "credits": {
    "charged": 10,
    "remaining": 490
  }
}

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