Bird Lookup

Verifique o destinatário antes de enviar.

Uma chamada revela o que é um número de telefone: a rede que o serve, a rede que o emitiu, se mudou entre as duas e que tipo de linha é. Uma chamada revela se um endereço de e-mail aceitará mensagens. Mesma chave, mesmo envelope de erro, mesmo contrato de idempotência de qualquer outro canal Bird, porque a mesma equipa de engenharia construiu todos.

lookup.ts
200
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 do npm install à primeira consulta

Consulte um número ou um endereço a partir da linguagem que já utiliza.

Métodos tipados nos SDKs de Go, TypeScript, Python e PHP, e bird lookup na CLI. O painel executa as mesmas duas operações uma de cada vez, sendo a forma mais rápida de ver uma resposta antes de escrever qualquer código.

1
2
3
4
5
6
7
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);

O que uma consulta responde e quanto custa cada resposta.

Campos nomeados de fontes de dados reais, não um modelo a adivinhar. Cada um deles indica se foi respondido, e só é cobrado pelos que foram.

  1. 01

    País e ambas as redes

    O país do número, a rede que o serve hoje e a rede que emitiu o seu intervalo. Diferem quando o número foi portado.

  2. 02

    Deteção de tipo de linha

    Móvel, fixo, VoIP, gratuito, tarifa premium, satélite, pager, telefone público, M2M, serviço. Decida se SMS é sequer possível antes de enviar.

  3. 03

    O indicador de portabilidade, gratuito com a resposta base

    Se o número já mudou de rede é incluído em cada consulta. Solicite a propriedade de portabilidade quando também precisar das datas e do registo completo.

  4. 04

    Seis propriedades sob pedido

    Name classification, porting, presence, roaming, sim_swap ou score em type. O serviço alocado do intervalo, o registo de portabilidade, se a linha está ativa, se está em roaming, quando o SIM foi alterado pela última vez e uma pontuação de credibilidade de 0 a 100.

  5. 05

    Um estado em cada propriedade

    Cada bloco reporta ok, unavailable ou inconclusive. Apenas ok contém um valor, para que nunca tenha de inspecionar uma resposta para descobrir que está vazia.

  6. 06

    Paga por respostas, não por tentativas

    A consulta base é cobrada uma vez. Uma propriedade é cobrada apenas quando é entregue, e uma consulta que falha não é cobrada de todo.

  7. 07

    Um campo para decidir sobre um endereço de e-mail

    result é valid, neutral, risky, undeliverable ou typo, com reason a indicar por que um endereço não entregável não pode receber mensagens.

  8. 08

    Uma correção para um endereço mal escrito

    did_you_mean contém o endereço de que o erro de digitação parece ser. flags assinala um endereço de função, descartável ou de fornecedor gratuito, e delivery_confidence classifica tudo de 0 a 100.

  9. 09

    Uma nova tentativa não pode cobrar duas vezes

    Envie um Idempotency-Key e um pedido repetido reproduz a resposta que já pagou em vez de comprar uma segunda.

  10. 10

    Mesma autenticação, mesmo formato de erro

    Uma chave API para Lookup, SMS, Email, WhatsApp e Verify. Um registo de erros comum a todos, e um orçamento de rate-limit próprio para que uma consulta nunca consuma o seu envio.

Porque criámos o Lookup

Porque não deveria descobrir que um número é fixo ao ver o SMS falhar.

A resposta base vem da mesma plataforma de operadora que encaminha SMS e Voice da Bird, e é por isso que o custo é tão baixo: já estávamos a executar a consulta para escolher uma rota em tempo real. Lookup é essa consulta como um endpoint de primeira classe, para que possa validar um registo, filtrar um lead ou encaminhar uma mensagem de forma diferente sem enviar nada primeiro. Mesma autenticação, mesmo envelope de erro, mesmo contrato de idempotência que o resto da plataforma.

lookup.ts
200
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

Duas operações, uma para cada tipo de destinatário.

Ambas são um único pedido e uma única resposta. Não há nada para criar, nada para consultar e nada para limpar depois.

Número de telefone.

phone-number

País, ambas as redes, o indicador de portabilidade e o tipo de linha, mais qualquer propriedade que indicar em type.

Endereço de e-mail.

email

Um veredito, uma pontuação de confiança, os indicadores que explicam um endereço arriscado e uma correção quando parece um erro de digitação.

Pague apenas pelas respostas que recebe.

Preço por consulta: uma cobrança por pesquisa, mais uma por cada propriedade retornada com resposta. Uma propriedade que não conseguimos responder, e uma pesquisa que falhe, não têm custo. Sem taxa por utilizador.

Put it into practice.

Continue with the documentation, guides and examples for this topic. Resources are in English.

Get an implementation brief

Comece com um canal.
Adicione os outros quando estiver pronto.

Uma chave API de teste é sua imediatamente. A produção é desbloqueada quando você adiciona um método de pagamento e verifica um remetente.

Usa Claude Code, Cursor ou Codex? Copie um prompt de configuração e o seu agente instala o Bird CLI e as skills por si. Escolha o seu:

Cursor