
Festlandchina wird jetzt für ChatGPT, Gemini und Google unterstützt
Mit country CN oder HK liefern CHATGPT-, GEMINI- und GOOGLE-Aufgaben die Antworten, die Nutzer in Festlandchina und Hongkong sehen.

Senden Sie mit einer einzigen Anfrage einen Prompt an jede unterstützte KI-Engine und erhalten Sie die Antwort als strukturiertes JSON, per Webhook oder Abfrage.
POST /v1/async/task, für alle Engines. Wählen Sie die Engine mit taskType und den Markt mit country.id, status und Zeitstempel der Aufgabe umschließen eine engine-spezifische response.GET /v1/async/task/{id}, wann immer Sie bereit sind.idempotencyKey: Derselbe Schlüssel liefert erneut die Aufgabe, die Sie bereits angelegt haben.KI-Engines brauchen Sekunden bis Minuten für eine Antwort, deshalb wird jede Anfrage zu einer dauerhaft gespeicherten Aufgabe. Eine Aufgabe wechselt von QUEUED zu PROCESSING und endet als COMPLETED mit der Antwort oder als FAILED mit dem Grund. Bei einem vorübergehenden Engine-Fehler kehrt die Aufgabe in die Warteschlange zurück und wird erneut versucht, sodass kurze Störungen behoben sind, bevor sie Sie erreichen.
Mit webhook.url senden wir die fertige Aufgabe an Ihren Server mit bis zu fünf Zustellversuchen innerhalb von etwa 30 Minuten. Fertige Aufgaben bleiben außerdem 24 Stunden lang abrufbar, sodass Webhook und Abfrage zusammen jedes Ergebnis abdecken.
Senden Sie die Anfrage mit Ihrem API-Schlüssel im Header Authorization.
curl -X POST https://api.querying.ai/v1/async/task \
-H "Authorization: Bearer $QUERYING_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"taskType": "CHATGPT",
"payload": {
"prompt": "Best coffee shops near me for working on a laptop",
"country": "US"
},
"webhook": { "url": "https://your-server.example.com/hooks/querying" },
"idempotencyKey": "laptop-cafes-us-0001"
}'taskTypestringPflichtCHATGPT oder GOOGLE.payloadobjectPflichtprompt oder query, dazu country und die Optionen der Engine.webhook.urlstringidempotencyKeystringDer Aufruf antwortet sofort mit der Aufgabe im Status QUEUED. credits bleibt bei 0, bis die Aufgabe fertig ist, und idempotencyKey kommt so zurück, wie Sie es gesendet haben.
{
"success": true,
"task": {
"id": "…",
"taskType": "CHATGPT",
"status": "QUEUED",
"priority": 1,
"createdAt": "…",
"idempotencyKey": "laptop-cafes-us-0001"
},
"credits": { "creditsToCharge": 0, "creditsCharged": 0 }
}Rufen Sie die Aufgabe alle paar Sekunden mit GET /v1/async/task/{id} ab, bis status COMPLETED oder FAILED ist. Ergebnisse bleiben 24 Stunden nach Abschluss abrufbar.
curl https://api.querying.ai/v1/async/task/$TASK_ID \
-H "Authorization: Bearer $QUERYING_API_KEY"Eine fertige Aufgabe enthält die abgerechneten credits und die response der Engine. Diese ist echt, für die Lesbarkeit gekürzt.
{
"success": true,
"task": {
"id": "e5aba119-a26e-4f82-a965-35c9234a428b",
"taskType": "CHATGPT",
"status": "COMPLETED",
"createdAt": "2026-10-02T15:41:03.858Z"
},
"credits": { "creditsToCharge": 2, "creditsCharged": 2 },
"response": {
"text": "Here are several **nearby cafés that look particularly suitable for laptop work**, based on current local listings and work-friendly details:\n…",
"sources": [
{
"position": 1,
"url": "https://awifiplace.com/cities/new-york",
"label": "Best Coffee Shops to Work in New York (2026) | 103 Cafes with WiFi"
}
],
"searchQueries": [
"best coffee shops for laptop work near me wifi outlets"
]
}
}task.statusstringQUEUED, PROCESSING, dann COMPLETED mit der Antwort oder FAILED mit error.credits.creditsChargedintegerMit webhook.url kommt die fertige Aufgabe als POST auf Ihrem Server an, mit denselben task, credits und response wie beim Abfragen. Eine fehlgeschlagene Aufgabe kommt genauso an, mit response.error und 0 abgerechneten Credits. Drei Header signieren jede Zustellung:
querying-webhook-idstringquerying-webhook-timestampstringquerying-webhook-signaturestringv1, gefolgt vom base64-kodierten HMAC-SHA256 von {id}.{timestamp}.{body}, mit dem SHA-256-Digest Ihres API-Schlüssels als Schlüssel.Prüfen Sie die Signatur am unveränderten Body, bevor Sie ihn parsen, und nehmen Sie die Zustellung an, wenn sie passt:
import base64
import hashlib
import hmac
import os
import time
def verify_webhook(headers, body: bytes) -> bool:
"""body is the raw request body, before json.loads."""
task_id = headers["querying-webhook-id"]
timestamp = headers["querying-webhook-timestamp"]
key = hashlib.sha256(os.environ["QUERYING_API_KEY"].encode()).digest()
signed = f"{task_id}.{timestamp}.".encode() + body
digest = hmac.new(key, signed, hashlib.sha256).digest()
expected = "v1," + base64.b64encode(digest).decode()
given = headers.get("querying-webhook-signature", "")
fresh = abs(time.time() - int(timestamp)) <= 300
return fresh and hmac.compare_digest(expected, given)Antworten Sie innerhalb von 30 Sekunden mit einem 2xx-Status. Bei jeder anderen Antwort oder nach 30 Sekunden folgt eine erneute Zustellung nach 2, 4, 8 und 16 Minuten, insgesamt fünf Versuche, alle mit derselben querying-webhook-id.
Eine abgelehnte Anfrage antwortet sofort mit success gleich false und einem error mit code, message und bei Feldfehlern details. Sie bleibt außerhalb der Warteschlange und kostet 0 Credits.
VALIDATION_ERRORHTTP 400details nennt das Feld.MISSING_API_KEYHTTP 401Authorization fehlt, oder sein Schlüssel ist unbekannt, abgelaufen oder widerrufen.INSUFFICIENT_CREDITSHTTP 402KEY_SCOPE_DENIEDHTTP 403RESOURCE_ALREADY_EXISTSHTTP 409idempotencyKey, das Senden bleibt also bei einer Aufgabe. Im Batch zählt der Eintrag als Erfolg.PAYLOAD_TOO_LARGEHTTP 413REGION_UNSUPPORTEDHTTP 422country liegt außerhalb der Länderliste der Engine. Erneutes Senden ergibt dasselbe, daher ist details.retryable gleich false.PLAN_CONCURRENCY_LIMITHTTP 429Retry-After Sekunden erneut.KEY_DAILY_CREDIT_LIMITHTTP 429Retry-After reicht bis zur nächsten Mitternacht UTC.QUEUE_BACKPRESSUREHTTP 429Retry-After Sekunden erneut.Jede Engine hat ihren eigenen Credit-Preis, und eine Aufgabe wird bei Abschluss berechnet. Eine fehlgeschlagene Aufgabe gibt ihre reservierten Credits wieder frei.

Mit country CN oder HK liefern CHATGPT-, GEMINI- und GOOGLE-Aufgaben die Antworten, die Nutzer in Festlandchina und Hongkong sehen.

Mit payload.location liefern GOOGLE-, AIMODE- und GOOGLE_SERP-Aufgaben die AI Overview, die AI-Mode-Antwort und die Suchergebnisse, die jemand an diesem Ort sieht.
Erhalte Produktneuigkeiten per E-Mail.