// post /v1/bulk/phone-validator
API de validación de teléfono masivo
Valide y normalice conjuntos de datos telefónicos de gran volumen en una operación API asincrónica diseñada para escalar.
Phone numbers, with an optional countryHasta 10,000 filas
curl -X POST "https://api.tomba.io/v1/bulk/phone-validator" \
-H "X-Tomba-Key: $TOMBA_API_KEY" \
-H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Phone Validator job","list":"+16505550132","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'const res = await fetch("https://api.tomba.io/v1/bulk/phone-validator", {
method: "POST",
headers: {
"X-Tomba-Key": process.env.TOMBA_API_KEY,
"X-Tomba-Secret": process.env.TOMBA_SECRET_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "Phone Validator job",
"list": "+16505550132",
"launch": true,
"webhook_url": "https://hooks.example.com/tomba"
})
});
const { data } = await res.json(); // { id }import os, requests
res = requests.post(
"https://api.tomba.io/v1/bulk/phone-validator",
headers={
"X-Tomba-Key": os.environ["TOMBA_API_KEY"],
"X-Tomba-Secret": os.environ["TOMBA_SECRET_KEY"],
},
json={
"name": "Phone Validator job",
"list": "+16505550132",
"launch": True,
"webhook_url": "https://hooks.example.com/tomba"
},
)
job_id = res.json()["data"]["id"]// 01 · solicitud
Phone Validator masivo es una solicitud HTTPS
Envía los parámetros con tu clave y tu secreto. Cada SDK, la CLI y el servidor MCP hacen esta misma llamada.
- type
- phone-validator
- list | data | file
- Phone numbers, with an optional country
- launch
- true inicia el trabajo de inmediato
- webhook_url
- Recibe un evento firmado cuando termina el trabajo
- rows
- Hasta 10,000 por trabajo
curl -X POST "https://api.tomba.io/v1/bulk/phone-validator" \
-H "X-Tomba-Key: $TOMBA_API_KEY" \
-H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Phone Validator job","list":"+16505550132","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'const res = await fetch("https://api.tomba.io/v1/bulk/phone-validator", {
method: "POST",
headers: {
"X-Tomba-Key": process.env.TOMBA_API_KEY,
"X-Tomba-Secret": process.env.TOMBA_SECRET_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "Phone Validator job",
"list": "+16505550132",
"launch": true,
"webhook_url": "https://hooks.example.com/tomba"
})
});
const { data } = await res.json(); // { id }import os, requests
res = requests.post(
"https://api.tomba.io/v1/bulk/phone-validator",
headers={
"X-Tomba-Key": os.environ["TOMBA_API_KEY"],
"X-Tomba-Secret": os.environ["TOMBA_SECRET_KEY"],
},
json={
"name": "Phone Validator job",
"list": "+16505550132",
"launch": True,
"webhook_url": "https://hooks.example.com/tomba"
},
)
job_id = res.json()["data"]["id"]// 02 · respuesta
Lo que recibes
JSON, igual en todos los lenguajes. Los campos que Tomba no conoce son null, nunca se adivinan.
GET
/phone-validatorCampodataobject | array- The number's details; an empty array, with phone repeating your input, when it isn't valid
data.validboolean | null- Whether the number is a valid phone number
data.intl_format, data.e164_format, data.local_formatstring | null- The number in international, E.164 and national formats
data.country_codestring | null- Country of the number (ISO code)
data.line_typestring | null- MOBILE, FIXED_LINE, FIXED_LINE_OR_MOBILE, VOIP, TOLL_FREE…
data.carrierstring | null- The network operator
data.region, data.timezonesobject | null, array | null- Where the number is registered, and its time zones
POST /bulk/phone-validator
201 Created
{
"data": {
"id": 1042
}
}Cada fila, tal como la devuelve GET /phone-validator
200 OK
{
"data": {
"valid": true,
"local_format": "(650) 555-0132",
"intl_format": "+1 650-555-0132",
"e164_format": "+16505550132",
"rfc3966_format": "tel:+1-650-555-0132",
"country_code": "US",
"line_type": "MOBILE",
"carrier": "AT&T",
"region": {
"name": "California",
"code": "CA"
},
"timezones": [
"America/Los_Angeles"
]
}
}// 03 · coste y límites
Lo que cuesta una llamada
Una llamada solo se cobra en la condición indicada abajo. Los límites de solicitudes dependen de tu plan.
// coste
1 search credit per valid number.
Charged once, at the first download; later downloads are free
- Jobs created: 15 per day for each type
- Running jobs: 2 per type
- Downloads: 25 per day for each job
- Request size: 4 MB (CSV, list or rows)
Cree una operación masiva cargando números de teléfono y luego inicie la operación. La API valida cada número de teléfono de forma asíncrona con comprobaciones de formato, operador y tipo de línea.
Puede validar hasta 100.000 números de teléfono por operación masiva. Para listas más grandes, cree varias operaciones masivas.
Cada número de teléfono se valida para determinar la corrección del formato, la coincidencia de patrones de países, la identificación del operador, la detección del tipo de línea (móvil, fija, VoIP) y la estructura numérica.
Cada resultado incluye estado válido, número de teléfono en múltiples formatos (local, internacional, E164, RFC3966), código de país, tipo de línea, información del operador y zona horaria.
La validación es rápida: el procesamiento típico es de 500 a 1000 teléfonos por minuto. Un lote de 100.000 números de teléfono normalmente se completa en 2 o 3 horas.
La API acepta números en varios formatos, incluidos locales, internacionales con +, E.164 y más. La detección de países es automática.
Sí, configure una URL de webhook para recibir una notificación cuando se complete la validación masiva de su teléfono con los resultados listos para descargar.
Una vez que se complete el procesamiento, use el punto final de descarga para obtener todos los resultados de la validación en formato CSV o JSON.
Sí. La validación masiva ayuda a eliminar números riesgosos o con formato incorrecto antes del lanzamiento de la campaña, lo que reduce el desperdicio y mejora la calidad del contacto.
Ejecute la validación al importar, normalice a E.164, filtre por tipo de línea o reglas de país y vuelva a validar listas obsoletas periódicamente.