CarrierLookup Referencia de la API

Todos los endpoints comparten una clave API y un saldo.

ElementoValor
URL basehttps://carrierlookup.online
Cabecera de autenticaciónX-API-Key: sk_your_api_key
Estructura de la respuesta{ code, msg, data }

Los precios no se indican aquí; cada producto se factura por verificación correcta. Ver precios

Autenticación

Use una clave API creada en Configuración y envíela con cada solicitud.

Cabecera de autenticación
X-API-Key: sk_your_api_key

Mantenga su clave API en secretoLlame siempre a este endpoint desde su servidor. Cualquiera que tenga la clave puede gastar su saldo.

Verificaciones síncronas

POST/api/v1/checkPOST/api/v1/batch-check

Envíe un número de teléfono, o hasta 100 en una sola solicitud, y lea el resultado en la misma respuesta. Sin sondeo ni callbacks. Un resultado indeterminado devuelve 422 con el código 42200 y no se cobra. Una solicitud múltiple conserva el orden de entrada, factura cada identificador de forma independiente y dispone de 300 segundos para finalizar; si no lo consigue, toda la solicitud falla y se reembolsan todos los cargos.

Parámetros

CampoTipoDescripción
service_typestringCódigo de producto, uno de los productos indicados a continuación.
identifierstringVerificación individual: un número de teléfono. El servidor lo normaliza.
identifiersstring[]Verificación múltiple: de 1 a 100 números de teléfono. La respuesta conserva este orden.

Consulta del operador original

carrierteléfono

Averigüe el operador al que se asignó originalmente un número, con el tipo de línea y la ubicación.

Verificación individual

POST/api/v1/check
Solicitud
curl -X POST "https://carrierlookup.online/api/v1/check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "carrier", "identifier": "+17253100591" }'
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "carrier",
    "identifier": "+17253100591",
    "carrier": "T-Mobile",
    "underlying_carrier": "",
    "number_type": "Fixed Line or Mobile",
    "country_code": "US",
    "region": "NV",
    "city": "LAS VEGAS"
  }
}
Campos de la respuesta
CampoTipoDescripción
carrierstringOperador al que se asignó originalmente el número. No es el operador actual tras una portabilidad.
underlying_carrierstringOperador subyacente indicado por el proveedor cuando difiere del asignado; cadena vacía cuando el proveedor no lo facilita.
number_typestringTipo de línea indicado por el proveedor; vacío cuando no está disponible.
country_codestringCódigo ISO del país al que pertenece el número.
regionstringRegión de asignación; vacío cuando el proveedor no la facilita.
citystringCiudad de asignación; vacío cuando el proveedor no la facilita.

Verificación múltiple

POST/api/v1/batch-check
Solicitud
curl -X POST "https://carrierlookup.online/api/v1/batch-check" \
  -H "X-API-Key: sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "service_type": "carrier", "identifiers": ["+17253100591", "12345"] }'
Respuesta
{
  "code": 0,
  "msg": "ok",
  "data": {
    "service_type": "carrier",
    "total": 2,
    "succeeded": 1,
    "failed": 1,
    "results": [
      {
        "identifier": "+17253100591",
        "exists": true,
        "carrier": "T-Mobile",
        "underlying_carrier": "",
        "number_type": "Fixed Line or Mobile",
        "country_code": "US",
        "region": "NV",
        "city": "LAS VEGAS"
      },
      {
        "identifier": "12345",
        "exists": false
      }
    ]
  }
}
Campos de la respuesta
CampoTipoDescripción
existsbooleanSi este número produjo un resultado. false significa que el formato no era válido, que el resultado fue indeterminado o que la verificación falló; cuando es false, no aparece ninguno de los campos siguientes.
carrierstringOperador al que se asignó originalmente el número. No es el operador actual tras una portabilidad.
underlying_carrierstringOperador subyacente indicado por el proveedor cuando difiere del asignado; cadena vacía cuando el proveedor no lo facilita.
number_typestringTipo de línea indicado por el proveedor; vacío cuando no está disponible.
country_codestringCódigo ISO del país al que pertenece el número.
regionstringRegión de asignación; vacío cuando el proveedor no la facilita.
citystringCiudad de asignación; vacío cuando el proveedor no la facilita.

Verificaciones asíncronas

POST/api/v1/bulk-tasksGET/api/v1/bulk-tasks/{id}

Suba un archivo y obtenga al instante un ID de tarea; después, consulte ese ID hasta que se complete correctamente. La respuesta correcta incluye result_url, el enlace de descarga del resultado. Solo existen dos acciones: enviar y consultar. No sondee más de una vez cada 30 segundos.

Parámetros

CampoTipoDescripción
service_typestringCódigo de producto masivo, uno de los productos indicados a continuación.
countrystringCódigo ISO 3166-1, como US. Obligatorio para las tareas de números: cada número debe incluir su código de país y pertenecer a este país (los que no lo cumplan se excluyen y no se cobran); también selecciona el enrutamiento. En multipart debe ir antes de file.
filefileUn archivo .txt o .csv con un identificador por línea, de hasta max_file_bytes (20MB por defecto).
Idempotency-KeyheaderOpcional, hasta 128 caracteres. Repetir la misma clave devuelve la tarea original en lugar de crear una segunda.

Consulta de operador global

carrier_batchteléfono1000–500.000 por tarea

Suba un archivo completo de números: operador, operador subyacente, tipo de línea, país, región y ciudad de cada uno, los mismos campos que la consulta de operador en tiempo real.

Enviar una tarea

POST/api/v1/bulk-tasks
Solicitud
curl -X POST "https://carrierlookup.online/api/v1/bulk-tasks" \
  -H "X-API-Key: sk_your_api_key" \
  -F service_type=carrier_batch \
  -F country=US \
  -F file=@numbers.txt
Respuesta
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "carrier_batch",
    "status": "processing",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1015,
    "invalid_cnt": 0,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 0,
    "preparing": true,
    "created_at": "2026-09-08T09:30:00Z"
  }
}

Consultar la tarea

GET/api/v1/bulk-tasks/{id}
Solicitud
curl "https://carrierlookup.online/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
  -H "X-API-Key: sk_your_api_key"
Respuesta
{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
    "product": "carrier_batch",
    "status": "success",
    "country": "US",
    "submitted_lines": 1015,
    "total": 1000,
    "invalid_cnt": 3,
    "no_code_cnt": 0,
    "other_country_cnt": 0,
    "duplicate_cnt": 12,
    "preparing": false,
    "success_cnt": 990,
    "failure_cnt": 10,
    "result_url": "https://…/result.csv",
    "created_at": "2026-09-08T09:30:00Z"
  }
}
Columnas del resultado
Campoejemplo:Descripción
identifier17253100591El número enviado como dígitos sin formato con el código de país, sin signo más ni espacios (p. ej., 17253100591).
carrierT-MobileOperador al que se asignó originalmente el número. No es el operador actual tras una portabilidad.
underlying_carrierOperador subyacente indicado por el proveedor cuando difiere del asignado; vacío cuando el proveedor no lo facilita.
number_typeFixed Line or MobileTipo de línea indicado por el proveedor, como Fixed Line or Mobile; vacío cuando no está disponible.
country_codeUSCódigo ISO del país al que pertenece el número.
regionCARegión de asignación; vacío cuando el proveedor no la facilita.
cityLOS ANGELESCiudad de asignación; vacío cuando el proveedor no la facilita.

Saldo

GET/api/v1/balance

Consulte el saldo actual de la cuenta en micros de USD. Solo lectura: no crea ningún registro de verificación ni cobra nada.

Saldo

GET/api/v1/balance
Solicitud
curl "https://carrierlookup.online/api/v1/balance" \
  -H "X-API-Key: sk_your_api_key"
Respuesta
{
  "code": 0,
  "msg": "ok",
  "data": {
    "balance_micros": 12500000
  }
}

Concurrencia, tiempos de espera y comportamiento de reintento

Las consultas de operador son síncronas. Use el código devuelto para decidir si acepta el resultado o reintenta más tarde.

CampoDescripción
5 solicitudes simultáneas por usuarioLas verificaciones individuales y múltiples comparten este límite, y una solicitud múltiple cuenta como una sola solicitud, independientemente de cuántos números incluya. Además, solo se ejecuta una verificación múltiple por cuenta a la vez; una segunda se rechaza hasta que termine la primera. Alcanzar cualquiera de los dos límites devuelve de inmediato el código 42901 sin cargo, junto con una cabecera Retry-After: vuelva a enviar la solicitud cuando termine una solicitud en curso.
60 s individual, 300 s múltipleSuperar el tiempo límite devuelve el código 50400 sin cargo. Una verificación múltiple que supera el tiempo de espera falla en su totalidad: no hay resultados parciales y se reembolsa el importe completo.
Una verificación múltiple admite hasta 100 númerosLos resultados conservan el orden y la longitud del envío. Solo se ejecuta una verificación múltiple por cuenta a la vez; envíe el siguiente lote cuando el anterior haya devuelto sus resultados.

Códigos de error

CódigoDescripción
40000Tipo de servicio no compatible o campos de la solicitud en conflicto
40001Cuerpo JSON no válido
40002Número no válido
40100Clave API ausente o no válida
40200Saldo insuficiente
42200No se ha podido determinar el número en este momento. No se devuelven datos y la solicitud no se cobra
42900Se ha agotado una cuota de uso o hay demasiados pedidos sin finalizar
42901Las cinco plazas de solicitudes simultáneas están ocupadas o ya hay una verificación múltiple en ejecución en esta cuenta; envíe la solicitud cuando termine una solicitud en curso. La solicitud rechazada no se cobra e incluye una cabecera Retry-After
50303El servicio está a plena capacidad en este momento; no se cobra. Espere los segundos indicados en Retry-After y vuelva a enviar la misma solicitud
50400La verificación no finalizó dentro de su tiempo de espera y no se cobra; reinténtela. Si se agota el tiempo de un lote, falla el lote completo y se reembolsa el importe total
50300Mantenimiento del servicio de consulta