ai_answers
The full answer each AI engine gives to a prompt, with its sources.
POST https://geondex.com/api/v1/answers- Cost: 3 credits / engine
- MCP tool:
ai_answers - Auth:
Authorization: Bearer gx_…(see Authentication) - Try it: Open ai_answers in the playground
The full answer Perplexity, ChatGPT, Claude and Gemini 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. 3 credits per engine that answers; timeouts are free. Takes up to 25 s.
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 charactersengines·("perplexity" | "openai" | "claude" | "gemini")[]· optional — Subset of engines. Default: all four. 3 credits per engine that answers. 1–4 items. Each one ofperplexity,openai,claude,gemini
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·stringengines·object[]engines[].engine·"perplexity" | "openai" | "claude" | "gemini"engines[].status·"ok" | "timeout" | "error"engines[].answer·string | null— The engine's full answer text (up to 8 KB); null on failureengines[].citations·object[]engines[].citations[].url·stringengines[].citations[].host·stringengines[].citations[].title·string | nullengines[].citations[].position·numberengines[].durationMs·numberengines[].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",
"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",
"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": 6,
"remaining": 194
}
}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.