One API for every AI answer engine

Send a prompt and an engine — get back exactly what a fresh user would see. Real accounts, real regions, structured JSON.

ChatGPT
Gemini
Perplexity
Claude
Grok
Google AI Overviews
Naver
DeepSeek
Amazon Rufus
Copilot

Every engine, one API — and you can see who's up

Ten answer engines, across regions, at scale. Status is measured, not asserted: an engine under repair says so instead of showing a green light it hasn't earned.

ChatGPTLive
GeminiLive
PerplexityLive
ClaudeLive
GrokLive
Google AI OverviewsLive
NaverLive
DeepSeekLive
Amazon RufusLive
CopilotFixing

Why teams pick querying.ai

Calling each provider's API yourself answers a different question than the one your users asked.

The answer a real user sees

A provider's API and its consumer app don't say the same thing. We drive the real surface with real logged-in accounts, so a result is what a fresh visitor would actually have been told — not an API's sanitised echo.

Localised, per country

Set a country and the task runs on an account that lives there — what Seoul is told is not what New York is told. Can't serve a region? The submission is rejected up front, never answered from the wrong place.

Parsed, not scraped

Every response comes back structured — the answer text, the sources it cited, its timing — so you read JSON instead of maintaining a scraper that someone else's redesign will quietly break.

One task shape, ten engines

ChatGPT, Gemini, Perplexity, Claude, Grok, Copilot, Google AI Overviews, Naver, DeepSeek and Amazon behind one endpoint. Change taskType; the rest of your call stays exactly the same.

Submit a task. The answer comes to you.

Every task is asynchronous, because a real engine takes seconds to answer. Post it, get an id back, and the result arrives at your webhook — the answer text, the sources it cited and its timing, as JSON. Or poll for it instead.

01You submit a task
curl -X POST https://querying.ai/v1/async/task \
  -H "Authorization: Bearer vt_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "taskType": "GEMINI",
    "payload": { "prompt": "best wireless earbuds 2026" },
    "webhook": { "url": "https://yours.app/hooks/querying" }
  }'
02Your webhook receives
{
  "task": {
    "id": "8f2c1e40-…",
    "taskType": "GEMINI",
    "status": "COMPLETED",
    "createdAt": "2026-07-17T04:12:00.000Z"
  },
  "credits": { "creditsToCharge": 12, "creditsCharged": 12 },
  "response": {
    "text": "The best wireless earbuds in 2026 are …",
    "sources": [
      { "position": 1,
        "url": "https://example.com/review",
        "label": "Best earbuds, reviewed" }
    ],
    "timing": { "totalMs": 7400 }
  }
}

Retried five times with backoff if your endpoint is down. Read the docs ↗

Pay for size, not for surprises

$1 buys 2,000 credits on every plan — the plans differ in how much you get, never in what a task costs. Failed tasks are refunded, so an engine outage is not your bill.

Basic
$29/month
58,000 credits included

A single product's tracking, or a build you're still shaping.

19,333–58,000 tasks
  • All 10 engines
  • Every region we serve
  • Webhooks + polling
  • Email support
Max
$749/month
1,498,000 credits included

An agency or platform running many brands at once.

499,333–1,498,000 tasks
  • Everything in Pro
  • Highest sustained throughput
  • Usage review on request
  • Priority support
Enterprise
Custom
Volume pricing

Committed volume, invoicing, and terms that fit procurement.

Talk to us
Negotiated
  • Everything in Max
  • Custom engine mix
  • Invoice billing
  • Shared support channel

See what a credit buys, per engine →