Recherche d'adresse e-mail

Un seul champ pour statuer sur une adresse.

Envoyez une adresse et obtenez un verdict : valid, neutral, risky, undeliverable ou typo. Avec celui-ci, un score de confiance de 0 à 100, les indicateurs qui précisent le type d'adresse, et l'adresse que la faute de frappe était censée être. Une requête, pas de liste à importer ni de tâche à interroger.

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 []

Un verdict sur lequel brancher votre logique.

Pas un pourcentage pour lequel vous devez choisir un seuil.

La recherche d'adresse e-mail est l'une des deux opérations de l<hub>API Bird Lookup</hub>. Le champ sur lequel écrire votre logique est <code>result</code>, car il réduit déjà les vérifications de syntaxe, de domaine, de boîte aux lettres et de réputation à cinq résultats. <code>delivery_confidence</code> est là pour les cas où vous souhaitez noter plutôt que bloquer, par exemple mettre en attente une inscription à risque pour examen au lieu de la refuser. Ladresse envoyée est l'adresse renvoyée : la partie locale est sensible à la casse et n'est pas convertie en minuscules, et le format display-name est rejeté plutôt qu'analysé.

Six champs, et à quoi chacun sert.

Chacun d'entre eux arrive avec la même requête unique.

  1. 01

    result, le verdict.

    valid signifie que l'envoi est sûr. neutral est délivrable sans rien de particulier à signaler. risky acceptera probablement le courrier et comporte une raison d'hésiter. undeliverable ne peut pas recevoir de courrier. typo ressemble à une faute de frappe d'une adresse réelle.

  2. 02

    reason, uniquement quand c'est pertinent.

    invalid_syntax, invalid_domain ou invalid_recipient, indiquant laquelle des trois vérifications l'adresse a échouée. Présent uniquement avec le verdict undeliverable et aucun autre, donc son absence est aussi une information.

  3. 03

    did_you_mean, la correction.

    L'adresse dont un typo semble être la faute de frappe, prête à être présentée à la personne qui l'a saisie. Un formulaire d'inscription qui propose la correction récupère le compte au lieu de le perdre dans un rebond que personne ne voit.

  4. 04

    delivery_confidence, de 0 à 100.

    Une note plutôt qu'une décision, c'est ce qui le distingue de result. Deux adresses peuvent partager un verdict et être très éloignées sur ce nombre, et cet écart est l'endroit où une file d'attente de révision a sa place.

  5. 05

    flags, le type d'adresse.

    role pour une boîte aux lettres partagée comme info ou support, disposable pour un fournisseur d'adresses jetables, et free_provider pour une boîte aux lettres grand public. Les trois sont des adresses bien formées qui acceptent le courrier, c'est pourquoi ce sont des indicateurs et non des verdicts.

  6. 06

    valid, le booléen strict.

    Indique si l'adresse est bien formée et si son domaine peut recevoir du courrier. Il ne dit rien sur la boîte aux lettres, donc il est true pour de nombreuses adresses dont le verdict est risky. Quand vous parlez du verdict, consultez result.

Cinq résultats, quatre actions à mener.

Refusez les adresses undeliverable, proposez la correction pour un typo, mettez une adresse risky en attente pour examen, et acceptez le reste. C'est toute l'intégration, et elle tient dans le gestionnaire de soumission du formulaire qui collecte l'adresse.

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);
}

Ce que ça coûte, et ce que ce n'est pas.

Une adresse par requête, et chaque verdict est facturé, undeliverable inclus, car parvenir à ce verdict est le travail effectué. Il n'y a pas de mode batch ni d'import de liste. Une nouvelle tentative avec le même Idempotency-Key rejoue le verdict déjà payé. Lookup n'est pas non plus une liste de suppression : il vous dit à quoi ressemble une adresse avant l'envoi, tandis que la suppression enregistre ce qui s'est passé après, et une configuration d'envoi saine utilise les deux.

Approfondissez dans la documentation.

Rechercher une adresse e-mail détaille la requête et chaque champ de la réponse. La vue d'ensemble de Lookup couvre les deux opérations en une page, les limites de débit documentent le groupe lookup, et l'idempotence explique le coût d'un verdict rejoué.

Questions sur les adresses e-mail, réponses incluses.

Les verdicts, les indicateurs, le score de confiance, et où la suppression s'intègre.

Que révèle une recherche d'adresse e-mail ?
Si l'adresse accepte le courrier. Un seul appel renvoie un verdict dans result, un score delivery_confidence, les flags qui décrivent le type d'adresse, et une correction lorsque l'adresse ressemble à une faute de frappe.
Quels sont les cinq verdicts ?
valid signifie que l'adresse existe et accepte le courrier : envoyez. neutral signifie qu'il n'a pas été possible de confirmer dans un sens ou dans l'autre, généralement parce que le domaine destinataire répond de la même manière pour tous les destinataires. risky signifie que l'adresse accepte probablement le courrier mais qu'elle a plus de chances que la moyenne de rebondir ou de générer une plainte. undeliverable signifie qu'elle n'accepte pas le courrier. typo signifie que l'adresse semble mal orthographiée.
Pourquoi une adresse est-elle undeliverable ?
reason indique lequel des trois problèmes est en cause : invalid_syntax pour une adresse mal formée, invalid_domain lorsque le domaine n'accepte aucun courrier, et invalid_recipient lorsque le domaine accepte le courrier mais que cette boîte aux lettres n'existe pas.
Que faire avec un verdict typo ?
Proposez did_you_mean à la personne qui a saisi l'adresse originale plutôt que d'envoyer directement à cette adresse. La correction est une suggestion, et l'adresse voulue peut ne correspondre ni à l'une ni à l'autre.
En quoi delivery_confidence diffère-t-il de result ?
Il va de 0, certitude de non-livraison, à 100, certitude de livraison. Un même score peut se trouver sous différents verdicts pour différentes raisons : lisez-le en complément de result, et non à sa place. C'est le champ à privilégier lorsque vous souhaitez un seuil unique pour tous les verdicts, y compris ceux ajoutés ultérieurement.
Il existe aussi un champ valid. Est-ce le verdict valid ?
Non, et la différence est importante. Le champ valid est plus restrictif : il indique si l'adresse est bien formée et si son domaine est configuré pour recevoir du courrier. Il ne dit rien sur la boîte aux lettres : une adresse avec un domaine fonctionnel mais sans boîte aux lettres correspondante sera true pour ce champ et undeliverable dans result.
Que signifient les flags ?
role signifie que l'adresse désigne une fonction plutôt qu'une personne, comme support@ ou info@ : les réponses et le consentement sont ambigus et les plaintes plus probables. disposable signifie un fournisseur d'adresses jetables : l'adresse cessera généralement d'exister. free_provider signifie un fournisseur de messagerie grand public comme Gmail ou Outlook.com, ce qui n'est un signal que lorsque vous attendiez une adresse professionnelle.
Comment dois-je écrire l'adresse ?
Envoyez une adresse brute, exactement telle que vous la détenez. Un format avec nom d'affichage, avec un nom devant et l'adresse entre chevrons, est rejeté plutôt que décomposé, car le décomposer reviendrait à rechercher une adresse que vous n'avez pas envoyée. La partie avant l'arobase est transmise telle quelle, et modifier sa casse peut changer le delivery_confidence obtenu.
Ai-je besoin de Lookup pour arrêter d'envoyer aux adresses qui ont déjà rebondi ?
Non. Les suppressions s'en chargent automatiquement et gratuitement, pour les adresses qui ont déjà rebondi ou généré une plainte. Utilisez Lookup pour les adresses auxquelles vous n'avez pas encore envoyé, à l'inscription ou avant d'exploiter un prospect.

Mettez-le en pratique.

Poursuivez avec la documentation, les guides et les exemples sur ce sujet. Les ressources sont en anglais.

Obtenir un guide d'implémentation

Vérifiez une adresse avant qu'elle n'atteigne votre liste.

Un seul appel dans votre gestionnaire d'inscription suffit à éliminer les rebonds, les comptes jetables et les fautes de frappe de votre base de données.

Commencez avec un seul canal.
Ajoutez les autres quand vous êtes prêt.

Une clé API de test est disponible immédiatement. L'accès production se débloque dès que vous ajoutez un moyen de paiement et vérifiez un expéditeur.

Vous utilisez Claude Code, Cursor ou Codex ? Copiez un prompt de configuration et votre agent installe la CLI Bird et les compétences pour vous. Choisissez le vôtre :

Cursor