
China continental ya está disponible en ChatGPT, Gemini y Google
Usa country CN o HK en tareas CHATGPT, GEMINI y GOOGLE para ver las respuestas que reciben los usuarios de China continental y Hong Kong.

El endpoint de lotes pone en cola hasta 500 tareas con cualquier combinación de motores en una sola llamada e informa del resultado de cada una.
POST /v1/async/task/batch acepta un array de hasta 500 tareas, cada una con el mismo formato que una tarea individual.results[] informa de cada elemento por separado: la tarea creada o el motivo por el que se rechazó ese elemento.idempotencyKey funciona por elemento, así que un lote reenviado devuelve las tareas que ya había creado.Un lote bien formado siempre responde 200. Cada elemento se valida por separado, de modo que un prompt mal formado aparece en su propia entrada de results[] mientras el resto del lote entra en la cola. Cada tarea creada se ejecuta, se completa y se cobra igual que una tarea individual, y cada una envía su propio webhook.
Con los lotes, miles de llamadas HTTP se reducen a unas pocas, y los trabajos programados son más rápidos y sencillos.
Envía hasta 500 tareas en un solo array JSON, cada una con la misma forma que una tarea individual. Motores y países se combinan libremente en un mismo lote.
curl -X POST https://api.querying.ai/v1/async/task/batch \
-H "Authorization: Bearer $QUERYING_API_KEY" \
-H "Content-Type: application/json" \
-d '[
{
"taskType": "CHATGPT",
"payload": { "prompt": "best CRM for startups", "country": "US" }
},
{
"taskType": "GEMINI",
"payload": { "prompt": "best CRM for startups", "country": "US" }
},
{
"taskType": "PERPLEXITY",
"payload": { "prompt": "best CRM for startups", "country": "US" }
}
]'La llamada responde 200 con una entrada por tarea, en el orden en que las enviaste. Aquí los ID de tarea van abreviados.
{
"success": true,
"summary": { "total": 3, "succeeded": 3, "failed": 0 },
"results": [
{
"success": true,
"index": 0,
"task": {
"id": "…",
"taskType": "CHATGPT",
"status": "QUEUED",
"priority": 1,
"createdAt": "…"
},
"credits": { "creditsToCharge": 0, "creditsCharged": 0 }
},
{
"success": true,
"index": 1,
"task": {
"id": "…",
"taskType": "GEMINI",
"status": "QUEUED",
"priority": 1,
"createdAt": "…"
},
"credits": { "creditsToCharge": 0, "creditsCharged": 0 }
},
{
"success": true,
"index": 2,
"task": {
"id": "…",
"taskType": "PERPLEXITY",
"status": "QUEUED",
"priority": 1,
"createdAt": "…"
},
"credits": { "creditsToCharge": 0, "creditsCharged": 0 }
}
]
}summaryobjecttotal, succeeded y failed.resultsarrayindex, success y la task en cola, o error con su código.La solicitud devuelve la tarea al instante con status QUEUED. Consulta GET /v1/async/task/{id} hasta que status sea COMPLETED o FAILED, o añade webhook.url y la tarea terminada llega a tu servidor con los mismos task, credits y response. Los resultados siguen disponibles 24 horas después de terminar la tarea.
curl https://api.querying.ai/v1/async/task/$TASK_ID \
-H "Authorization: Bearer $QUERYING_API_KEY"El lote completo responde 400 VALIDATION_ERROR si el cuerpo es un array vacío o supera 500 elementos, y 413 por encima de 8 MiB. En un lote de tamaño correcto, un elemento que supera la concurrencia de tu plan o el límite de cola del motor vuelve con success en false y su código en error.code, y el resto entra en la cola. Reenvía esos elementos tras una breve espera.
PLAN_CONCURRENCY_LIMITHTTP 429Retry-After segundos.QUEUE_BACKPRESSUREHTTP 429Retry-After segundos.VALIDATION_ERRORHTTP 400details indica el campo.PAYLOAD_TOO_LARGEHTTP 413Un lote cuesta la suma de sus tareas al precio de cada motor, y cada tarea se cobra cuando se completa.

Usa country CN o HK en tareas CHATGPT, GEMINI y GOOGLE para ver las respuestas que reciben los usuarios de China continental y Hong Kong.

Usa payload.location en tareas GOOGLE, AIMODE y GOOGLE_SERP para ver la AI Overview, la respuesta de AI Mode y los resultados que ve un usuario en ese lugar.
Recibe las actualizaciones por correo.