Una sola llamada indica qué es un número de teléfono: la red que lo sirve, la red que lo emitió, si se ha movido entre ambas y qué tipo de línea es. Una sola llamada indica si una dirección de correo electrónico aceptará mensajes. La misma clave, la misma estructura de errores, el mismo contrato de idempotencia que cualquier otro canal de Bird, porque el mismo equipo de ingeniería los construyó todos.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({
apiKey: process.env.BIRD_API_KEY!,
});
const answer = await bird.lookup.phoneNumber({
phone_number: "+31612345678",
type: ["porting", "score"],
});
console.log(answer.country_code, answer.line_type);
// → "NL" "mobile"
console.log(answer.network_info?.carrier_name, answer.flags);
// → "KPN" ["ported"]
// Only a block whose status is ok carries a value,
// and only that one is billed.
if (answer.score?.status === "ok") console.log(answer.score.value);
// → 84
5 minutos desde npm install hasta tu primera consulta
Consulta un número o una dirección desde el lenguaje que ya utilizas.
Métodos tipados en los SDK de Go, TypeScript, Python y PHP, y bird lookup en la CLI. El dashboard ejecuta las mismas dos operaciones de una en una, que es la forma más rápida de ver una respuesta antes de escribir código.
const answer = await bird.lookup.phoneNumber({
phone_number: "+31612345678",
type: ["classification", "score"],
});
console.log(answer.country_code, answer.line_type);
// Only a block whose status is ok carries a value, and only that one is billed.
if (answer.score?.status === "ok") console.log(answer.score.value);Qué responde una consulta y cuánto cuesta cada respuesta.
Campos nombrados de fuentes de datos reales, no un modelo adivinando. Cada uno de ellos te indica si fue respondido, y solo se te cobra por los que lo fueron.
- 01
País y ambas redes
El país del número, la red que lo sirve hoy y la red que emitió su rango. Difieren cuando el número ha sido portado.
- 02
Detección de tipo de línea
Móvil, línea fija, VoIP, número gratuito, tarifa premium, satélite, buscapersonas, teléfono público, M2M, servicio. Decide si SMS es siquiera posible antes de enviar.
- 03
El indicador de portabilidad, gratis con la respuesta base
Si el número se ha movido alguna vez de red se incluye en cada consulta. Solicita la propiedad de portabilidad cuando también necesites las fechas y el registro completo.
- 04
Seis propiedades bajo demanda
Name classification, porting, presence, roaming, sim_swap o score en type. El servicio asignado del rango, el registro de portabilidad, si la línea está activa, si está en roaming, cuándo se cambió su SIM por última vez y una puntuación de credibilidad de 0 a 100.
- 05
Un estado en cada propiedad
Cada bloque reporta ok, unavailable o inconclusive. Solo ok incluye un valor, así que nunca tienes que inspeccionar una respuesta para descubrir que está vacía.
- 06
Pagas por respuestas, no por intentos
La consulta base se cobra una vez. Una propiedad se cobra solo cuando se entrega, y una consulta fallida no se cobra en absoluto.
- 07
Un solo campo para decidir sobre una dirección de correo electrónico
result es valid, neutral, risky, undeliverable o typo, con reason indicando por qué una dirección no entregable no puede recibir correo.
- 08
Una corrección para una dirección mal escrita
did_you_mean contiene la dirección de la que un typo parece ser un error tipográfico. flags marca una dirección de rol, desechable o de proveedor gratuito, y delivery_confidence califica todo de 0 a 100.
- 09
Un reintento no puede cobrar dos veces
Envía un Idempotency-Key y una solicitud repetida reproduce la respuesta que ya pagaste en lugar de comprar una segunda.
- 10
Misma autenticación, mismo formato de error
Una sola clave API para Lookup, SMS, Email, WhatsApp y Verify. Un solo registro de errores en todos ellos, y un presupuesto de límite de tasa propio para que una consulta nunca consuma tu capacidad de envío.
Por qué creamos Lookup
Porque no deberías enterarte de que un número es fijo al ver fallar el SMS.
La respuesta base proviene de la misma plataforma de operadores que enruta SMS y Voice de Bird, por eso consultarla cuesta tan poco: ya estábamos ejecutando la consulta para elegir una ruta en tiempo real. Lookup es esa consulta como un endpoint de primera clase, para que puedas filtrar un registro, evaluar un lead o enrutar un mensaje de forma diferente sin enviar nada primero. La misma autenticación, la misma estructura de errores, el mismo contrato de idempotencia que el resto de la plataforma.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({
apiKey: process.env.BIRD_API_KEY!,
});
const answer = await bird.lookup.phoneNumber({
phone_number: "+31612345678",
type: ["porting", "score"],
});
console.log(answer.country_code, answer.line_type);
// → "NL" "mobile"
console.log(answer.network_info?.carrier_name, answer.flags);
// → "KPN" ["ported"]
// Only a block whose status is ok carries a value,
// and only that one is billed.
if (answer.score?.status === "ok") console.log(answer.score.value);
// → 84
Dos operaciones, una para cada tipo de destinatario.
Ambas son una sola solicitud y una sola respuesta. No hay nada que crear, nada que consultar periódicamente y nada que limpiar después.
Número de teléfono.
País, ambas redes, el indicador de portabilidad y el tipo de línea, más cualquier propiedad que indiques en type.
Dirección de correo electrónico.
Un veredicto, una puntuación de confianza, los indicadores que explican una dirección riesgosa y una corrección cuando parece un error tipográfico.
Explorar Lookup
Cada operación en detalle. Una clave API, un formato de error unificado.
Paga solo por las respuestas que recibes.
Precio por consulta: un cargo por búsqueda, más uno por cada propiedad que se devuelva respondida. Una propiedad que no podemos responder y una búsqueda fallida no tienen costo. Sin tarifa por usuario.