POST/api/v6/numberinsight/batch

Consulta por lote

Resuelve muchos números en una sola solicitud, en línea o como trabajo asíncrono.

Alcance y límites

Alcance

Cualquier API key válida

Límite de uso

10 solicitudes por minuto

Idempotencia

Admite Idempotency-Key

  • Modalidad síncrona: hasta 500 números por solicitud.
  • Modalidad asíncrona: archivo de texto plano UTF-8, una línea por número, cada línea de máximo 64 caracteres.
  • El resultado de un trabajo queda disponible durante unos 90 días desde su creación.

Procesa muchos números en una sola solicitud. Hay dos modalidades y se eligen con el Content-Type.

  • Síncrona: application/json con { "numbers": [...] }, hasta 500 números. Se resuelve en línea y responde 200 con { "results": [...] }.
  • Asíncrona: multipart/form-data con file (texto plano, un número por línea) y webhookUrl opcional. Encola un trabajo y responde 202 con jobId.

Cuando el trabajo asíncrono termina se dispara el evento numberinsight.batch.completed y el resultado en NDJSON queda disponible en una URL de descarga temporal que entrega el endpoint de estado.

El contrato de los eventos que emite este servicio está en Webhooks de Number Insight.

Cabeceras

Idempotency-Key
stringopcional
Llave de idempotencia opcional (1 a 255 caracteres de A-Za-z0-9_-). Repetir la misma operación con la misma llave devuelve la respuesta original sin volver a ejecutarla. Ver la guía de idempotencia.

Cuerpo de la petición

application/jsonModalidad síncrona.
numbers
arrayobligatorio
Números a resolver. Mismo formato que la consulta uno a uno.
{
  "numbers": ["3001234567", "6017430000", "+5491123456789"]
}
multipart/form-dataModalidad asíncrona.
file
fileobligatorio
Archivo de texto plano UTF-8, un número por línea (cada línea de máximo 64 caracteres).
webhookUrl
stringopcional
URL opcional para recibir el evento numberinsight.batch.completed cuando el trabajo termine.

Respuestas

200

Modalidad síncrona: resuelto en línea.

{
  "success": true,
  "data": {
    "results": [
      {
        "phoneNumber": {
          "e164": "+573001234567",
          "national": "3001234567",
          "raw": "3001234567"
        },
        "valid": true,
        "country": { "iso2": "CO", "callingCode": "57", "name": "Colombia", "mcc": "732" },
        "lineType": "mobile",
        "numberType": "mobile",
        "ported": false,
        "operator": { "name": "Tigo", "brand": "Tigo", "mnc": "103", "nrn": "103" },
        "area": null,
        "timezone": null,
        "portability": null,
        "zone": { "id": "103", "name": "Tigo" }
      }
    ]
  },
  "meta": {
    "requestId": "b9b1704baffab21150213c02fd853975",
    "timestamp": "2026-06-02T19:43:59+00:00",
    "responseTimeMs": 4.1
  }
}
202

Modalidad asíncrona: trabajo aceptado y en cola.

{
  "success": true,
  "data": {
    "jobId": "4e2c8b91-3f12-4ad6-9b91-09e8e9c5e7a1",
    "status": "queued",
    "count": 12450,
    "expiresAt": "2026-09-15T14:00:00Z"
  },
  "meta": {
    "requestId": "b9b1704baffab21150213c02fd853975",
    "timestamp": "2026-06-02T19:43:59+00:00",
    "responseTimeMs": 4.1
  }
}
400

Falta numbers en la modalidad síncrona, el cuerpo es inválido, o la llave de idempotencia no cumple el formato.

401

Credenciales inválidas o faltantes.

409

Una petición con la misma llave de idempotencia sigue en proceso.

413

El lote síncrono superó los 500 números: usa la modalidad asíncrona.

422

El archivo asíncrono es inválido (no es texto, tiene líneas de más de 64 caracteres o está vacío), o la llave de idempotencia se reusó con un cuerpo distinto.

429

Se excedió el límite de solicitudes.

503

El servicio de consulta se está actualizando. Reintenta en unos segundos.

Errores posibles

Códigos que este endpoint puede devolver en error.code. El detalle completo está en el catálogo.

Ver el catálogo completo
POST /api/v6/numberinsight/batch
curl -X POST 'https://developers.hablame.co/api/v6/numberinsight/batch' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer hk_TU_API_KEY' \
  -H 'Content-Type: application/json' \
  --data '{"numbers":["3001234567","6017430000","+5491123456789"]}'

Try-It

Ejecuta la petición contra la API real con tu propia API key.

La key se usa solo en tu navegador para esta petición. No se guarda ni se envía a ningún otro lado.

Parámetros

Llave de idempotencia opcional (1 a 255 caracteres de A-Za-z0-9_-). Repetir la misma operación con la misma llave devuelve la respuesta original sin volver a ejecutarla. Ver la guía de idempotencia.

Cuerpo de la petición

Números a resolver. Mismo formato que la consulta uno a uno.

POST https://developers.hablame.co/api/v6/numberinsight/batch

Respuesta

Todavía no has enviado ninguna petición.