NovedadesNuevo

Los lotes ya admiten 10.000 tareas

API
10.000 tareas por lote, junto a un lote abierto con sus tareas por estado y sus elementos para ChatGPT, Gemini y Perplexity

Un lote guarda hasta 10.000 tareas y las ejecuta según el límite de tu plan, y todos los planes de pago ejecutan ahora más tareas a la vez.

Qué obtienes

  • POST /v1/batches acepta hasta 10.000 elementos (32 MiB), cada uno con su propio taskType y payload, y responde 202 con el lote.
  • GET /v1/batches/:id informa del progreso con el número de elementos pendientes, en cola, en proceso, completados, fallidos y rechazados.
  • GET /v1/batches/:id/items lista los elementos en el orden de envío, y include=response añade cada resultado terminado.
  • Las tareas activas por plan son ahora Basic 25, Pro 150, Scale 500 y Max 1.000 (antes 10, 25, 50 y 100). Free se queda en 2.
  • GET /v1/capabilities lista los campos de entrada, el precio en créditos y la política de países de cada motor. No necesita clave de API.

Cómo funciona

El lote guarda tus elementos y los inicia como tareas dentro del límite de tareas activas de tu plan. Los elementos que deben esperar siguen pendientes y se inician solos, así que envías el lote una sola vez.

Cada elemento se valida al enviarlo con las mismas reglas que una tarea individual. Un solo elemento inválido rechaza todo el lote con 400, indica hasta 50 índices y no guarda nada. Repetir un idempotencyKey devuelve el primer lote. Un webhook.url opcional recibe el resultado de cada tarea y un evento batch.completed firmado cuando el lote termina.

Para qué sirve

  • Rastrea un día completo de prompts en todos los motores con un solo envío.
  • Carga una lista de miles de palabras clave y lee los resultados página a página.
  • Crea selectores de motores y países a partir de /v1/capabilities.

Envía la solicitud

Envía un array items. customId es tu propia etiqueta para un elemento y vuelve junto con su resultado.

curl -X POST https://api.querying.ai/v1/batches \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {
        "customId": "crm-chatgpt",
        "taskType": "CHATGPT",
        "payload": { "prompt": "best CRM for startups", "country": "US" }
      },
      {
        "customId": "crm-gemini",
        "taskType": "GEMINI",
        "payload": { "prompt": "best CRM for startups", "country": "US" }
      },
      {
        "customId": "crm-perplexity",
        "taskType": "PERPLEXITY",
        "payload": { "prompt": "best CRM for startups", "country": "US" }
      }
    ],
    "idempotencyKey": "daily-2026-10-09"
  }'

Respuesta

La llamada responde 202 con el lote. Los recuentos cambian a medida que los elementos salen y terminan.

JSON
{
  "success": true,
  "batch": {
    "id": "…",
    "status": "OPEN",
    "total": 3,
    "counts": {
      "pending": 3,
      "queued": 0,
      "processing": 0,
      "completed": 0,
      "failed": 0,
      "rejected": 0
    },
    "idempotencyKey": "daily-2026-10-09",
    "createdAt": "…"
  }
}

Lee los resultados página a página, en el orden de envío. Cada elemento muestra su estado, el ID de su tarea y, con include=response, su resultado.

curl "https://api.querying.ai/v1/batches/$BATCH_ID/items?include=response&limit=20" \
  -H "Authorization: Bearer $QUERYING_API_KEY"

Errores

Un elemento rechazado con PLAN_CONCURRENCY_LIMIT, QUEUE_BACKPRESSURE o KEY_DAILY_CREDIT_LIMIT sigue pendiente y el lote lo reintenta. Cualquier otro rechazo termina ese elemento como rejected, con el código en error.

VALIDATION_ERRORHTTP 400
Falta un campo o su valor está fuera de rango. details indica el campo.
PAYLOAD_TOO_LARGEHTTP 413
El cuerpo supera 1 MiB, u 8 MiB en un lote.
KEY_SCOPE_DENIEDHTTP 403
El motor queda fuera de los Motores permitidos de la clave. Usa otra clave o añade el motor en Gestionar clave.
INSUFFICIENT_CREDITSHTTP 402
El saldo es menor que el precio de la tarea. Añade créditos o mejora el plan y vuelve a enviarla.

Precio

Cada elemento cuesta los créditos de una tarea individual en su motor. Los límites de cada plan están en https://querying.ai/pricing .

Más novedades

Recibe las novedades

Recibe las actualizaciones por correo.

Feed RSS