Consulta de endereço de email

Um campo para decidir sobre um endereço.

Envie um endereço e obtenha um veredito: válido, neutro, arriscado, não entregável ou erro de digitação. Junto com ele, uma pontuação de confiança de 0 a 100, os sinalizadores que indicam o tipo de endereço e o endereço que um erro ortográfico aparenta ser. Uma requisição, sem lista para carregar e sem tarefa para consultar.

email.ts
200
const answer = await bird.lookup.email({
  email: "aisha.khan@exampel.com",
});

console.log(answer.result, answer.delivery_confidence);
// → "typo" 31
console.log(answer.did_you_mean);
// → "aisha.khan@example.com"
console.log(answer.valid, answer.flags);
// → true []

Um veredito sobre o qual pode tomar decisões.

Não uma percentagem para a qual tem de escolher um limite.

A consulta de endereço de email é uma das duas operações na Bird Lookup API. O campo para escrever a sua lógica é result, porque já reduz verificações de sintaxe, domínio, caixa de correio e reputação a cinco resultados. delivery_confidence existe para os casos em que pretende classificar em vez de bloquear, por exemplo, reter um registo arriscado para revisão em vez de o recusar. O endereço que envia é o endereço que recebe de volta: a parte local é sensível a maiúsculas e minúsculas e não é convertida para minúsculas, e o formato com nome de exibição é rejeitado em vez de analisado.

Seis campos e para que serve cada um.

Todos chegam com a mesma requisição única.

  1. 01

    result, o veredito.

    valid é seguro para enviar. neutral é entregável sem nada a recomendar. risky provavelmente aceita emails e traz uma razão para hesitar. undeliverable não pode receber emails. typo parece um erro ortográfico de um endereço real.

  2. 02

    reason, apenas onde se aplica.

    invalid_syntax, invalid_domain ou invalid_recipient, indicando qual das três verificações o endereço falhou. Está presente no veredito undeliverable e em nenhum outro, por isso a sua ausência também é informação.

  3. 03

    did_you_mean, a correção.

    O endereço que um erro de digitação aparenta ser, pronto para apresentar à pessoa que o digitou. Um formulário de registo que oferece a correção recupera a conta em vez de a perder num bounce que ninguém vê.

  4. 04

    delivery_confidence, 0 a 100.

    Uma classificação em vez de uma decisão, e é isso que o diferencia de result. Dois endereços podem partilhar um veredito e estar muito distantes neste número, e essa diferença é onde uma fila de revisão se encaixa.

  5. 05

    flags, o tipo de endereço.

    role para uma caixa de correio partilhada como info ou support, disposable para um fornecedor temporário e free_provider para uma caixa de correio de consumidor. Todos os três são endereços bem formados que aceitam emails, e é por isso que são sinalizadores e não vereditos.

  6. 06

    valid, o booleano restrito.

    Se o endereço está bem formado e o seu domínio pode receber emails. Não diz nada sobre a caixa de correio, por isso é verdadeiro para muitos endereços cujo veredito é arriscado. Quando se refere ao veredito, leia result.

Cinco resultados, quatro ações.

Recuse os não entregáveis, ofereça a correção num erro de digitação, retenha um endereço arriscado para revisão e aceite o resto. Essa é toda a integração, e cabe no handler de submissão do formulário que recolhe o endereço.

verdicts.ts
200
const answer = await bird.lookup.email({
  email: "info@example.com",
});

if (answer.result === "undeliverable") {
  // reason is present on this verdict and no other.
  reject(answer.reason);
} else if (answer.result === "typo") {
  suggest(answer.did_you_mean);
} else if (answer.result === "risky") {
  // A role or disposable address is well formed and still a poor signup.
  review(answer.flags);
} else {
  accept(answer.delivery_confidence);
}

Quanto custa e o que não é.

Um endereço por requisição, e cada veredito é faturado, incluindo não entregáveis, porque chegar a esse veredito é o trabalho. Não existe formato em lote nem carregamento de lista. Uma nova tentativa com a mesma Idempotency-Key reproduz o veredito pelo qual já pagou. Lookup também não é uma lista de supressão: indica como um endereço aparenta ser antes de enviar, enquanto a supressão regista o que aconteceu depois, e uma configuração de envio saudável usa ambos.

Aprofunde-se na documentação.

Consultar um endereço de email explica a requisição e cada campo na resposta. A Visão geral do Lookup abrange ambas as operações numa página, limites de taxa documenta o grupo de consulta e idempotência explica quanto custa um veredito reproduzido.

Perguntas sobre endereços de email, respondidas.

Os vereditos, os sinalizadores, a pontuação de confiança e onde a supressão se encaixa.

O que revela uma consulta de endereço de email?
Se o endereço aceita emails. Uma única chamada devolve um veredito em result, uma pontuação de delivery_confidence, as flags que descrevem o tipo de endereço e uma correção quando o endereço parece ter um erro de digitação.
Quais são os cinco vereditos?
valid significa que o endereço existe e aceita emails — pode enviar. neutral significa que não foi possível confirmar de nenhuma forma, normalmente porque o domínio recetor responde da mesma maneira a todos os destinatários. risky significa que provavelmente aceita emails, mas tem maior probabilidade de devolver ou gerar reclamações. undeliverable significa que não aceita emails. typo significa que o endereço parece ter um erro de digitação.
Por que um endereço é undeliverable?
reason indica qual dos três problemas existe: invalid_syntax para um endereço mal formatado, invalid_domain quando o domínio não aceita emails de todo, e invalid_recipient quando o domínio aceita emails mas esta caixa de correio não existe.
O que devo fazer com um veredito typo?
Ofereça did_you_mean a quem digitou o endereço original em vez de enviar para ele sem confirmação. A correção é uma sugestão, e o endereço pretendido pode não ser nenhum dos dois.
Como é que delivery_confidence difere de result?
Vai de 0, certeza de que não será entregue, a 100, certeza de que será. A mesma pontuação pode estar associada a vereditos diferentes por razões diferentes, por isso leia-a em conjunto com result e não em substituição dele. É o campo a usar quando quer um único limiar para todos os vereditos, incluindo vereditos adicionados no futuro.
Também existe um campo valid. É o mesmo que o veredito valid?
Não, e a diferença é importante. O campo valid é mais restrito: indica se o endereço está bem formatado e se o seu domínio está configurado para receber emails. Nada diz sobre a caixa de correio, por isso um endereço com um domínio funcional mas sem essa caixa de correio será true nesse campo e undeliverable em result.
O que significam as flags?
role significa que o endereço designa uma função e não uma pessoa, como support@ ou info@, pelo que respostas e consentimento são ambíguos e reclamações são mais prováveis. disposable indica um fornecedor de endereços descartáveis, por isso o endereço normalmente deixará de existir. free_provider indica um fornecedor de email gratuito como Gmail ou Outlook.com, o que só é relevante quando se esperava um endereço empresarial.
Como devo escrever o endereço?
Envie o endereço simples, exatamente como o tem registado. Um formato com nome de exibição — com um nome à frente e o endereço entre parênteses angulares — é rejeitado em vez de desembrulhado, porque desembrulhá-lo consultaria um endereço que não foi enviado por si. A parte antes do arroba é passada tal como está, e alterar as maiúsculas e minúsculas pode alterar o delivery_confidence que recebe.
Preciso do Lookup para deixar de enviar para endereços que já devolveram?
Não. As supressões fazem isso automaticamente e sem custos, para endereços que já devolveram ou geraram reclamações. Use o Lookup para endereços para os quais ainda não enviou, no momento do registo ou antes de agir sobre um lead.

Coloque em prática.

Continue com a documentação, guias e exemplos sobre este tópico. Os recursos estão em inglês.

Obtenha um resumo de implementação

Verifique um endereço antes de ele chegar à sua lista.

Uma chamada no seu handler de registo mantém os bounces, as contas descartáveis e os erros de digitação fora da base de dados.

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