Vérification d’e-mails
Vérifiez une adresse unique en temps réel.
Vérifier une adresse
Vérifie une adresse e-mail et renvoie le résultat dans la réponse. Chaque vérification coûte 5 crédits, débités avant le contrôle. Pour vérifier de nombreuses adresses à la fois, créez une liste de vérification. Nécessite une clé API avec la portée full.
/email-verificationsCorps de la requête
emailstringObligatoireAdresse à vérifier. Une valeur qui n’est pas une adresse valide renvoie tout de même 200, avec result: "invalid" et un score de 0, et elle est facturée.
modestringfast (par défaut) vérifie la syntaxe, les adresses jetables et génériques, les fournisseurs gratuits, le charabia, les enregistrements MX et l’âge du domaine. full se connecte en plus au serveur de messagerie du destinataire pour vérifier si la boîte aux lettres existe, si elle est désactivée ou pleine, et si le domaine accepte toutes les adresses. En mode fast, les contrôles de la boîte aux lettres valent null.
Réponse
Renvoie 200 OK avec un objet email_verification. Emailit envoie aussi l’événement webhook email_verification.created.
| Statut | Cas |
|---|---|
400 |
email est absent ou mode ne vaut ni fast ni full (erreur de validation standard). |
402 |
Il reste moins de 5 crédits dans l’espace de travail. Le corps est {"error": {"message": "…", "code": 402}}. |
Résultat
result |
Signification |
|---|---|
safe |
A réussi tous les contrôles avec un score d’au moins 70. |
invalid |
La syntaxe est invalide ou le domaine n’a pas d’enregistrement MX : l’adresse ne peut pas recevoir d’e-mails. |
disposable |
Le domaine appartient à un service d’adresses e-mail jetables. |
disabled |
La boîte aux lettres existe, mais elle est désactivée. Mode full uniquement. |
inbox_full |
La boîte aux lettres est pleine. Mode full uniquement. |
role |
Une adresse générique, comme info@ ou support@. |
unknown |
Aucun contrôle n’a échoué, mais le score est inférieur à 70. |
Score et risque
score va de 0 à 100. risk vaut high si la syntaxe est invalide, si le domaine n’a pas d’enregistrement MX, si l’adresse est jetable ou si la boîte aux lettres est désactivée. Sinon, il suit le score : low à partir de 80, medium à partir de 50 et high en dessous de 50.
Champs
statusstringcompleted pour les vérifications unitaires.
checksobjectContrôles individuels : valid_syntax, disposable, role_account, free_email, gibberish et has_mx_records (booléens), domain_age (âge du domaine en jours, ou null s’il est inconnu), ainsi que les contrôles du mode full : smtp_connect, deliverable, disabled, inbox_full et catch_all (null en mode fast).
addressobjectL’adresse décomposée en mailbox, domain, suffix (la partie après +, ou null) et root (l’adresse sans le suffixe).
did_you_meanstring | nullCorrection suggérée pour une faute de frappe probable, par exemple ada@gmail.com pour ada@gmial.com.
mx_recordsobject[]Les enregistrements MX du domaine, chacun avec priority et exchange.
{
"id": "ev_2xLd4Wq8Bn1Ys6Pk3Rm9Tc0Fh5a",
"object": "email_verification",
"email": "ada@example.com",
"status": "completed",
"score": 100,
"risk": "low",
"result": "safe",
"mode": "fast",
"checks": {
"valid_syntax": true,
"disposable": false,
"role_account": false,
"inbox_full": null,
"deliverable": null,
"disabled": null,
"catch_all": null,
"free_email": false,
"smtp_connect": null,
"has_mx_records": true,
"domain_age": 10957,
"gibberish": false
},
"address": {
"mailbox": "ada",
"domain": "example.com",
"suffix": null,
"root": "ada@example.com"
},
"did_you_mean": null,
"mx_records": [
{ "priority": 10, "exchange": "mx1.example.com" }
],
"created_at": "2026-10-01T10:20:31.118000+00:00",
"updated_at": "2026-10-01T10:20:31.118000+00:00"
}{
"error": {
"message": "Workspace has insufficient email credits for email verification. Each verification requires 5 credits.",
"code": 402
}
}