Comment changer
Commencez par ces trois modifications. Vous trouverez ci-dessous les détails et des exemples de demandes.
-
1 Obtenir une clé APICréez votre compte Emailable et générez une clé API depuis le tableau de bord. Utilisez une clé de test pendant la configuration ; les requêtes de test ne consomment aucun crédit.
-
2 Mettre à jour le point de terminaisonEnvoyez l'adresse email et votre clé API dans une seule requête
GET. Vous n'aurez besoin ni d'un paramètre d'adresse IP ni de points de terminaison distincts pour les différentes vérifications. -
3 Mapper les champs de réponseLe
statusde ZeroBounce devientstateetsub_statusdevientreason. La plupart des autres champs correspondent un à un.
Mettez à jour votre intégration API
Comparez les formats des requêtes et des réponses, puis mettez à jour les champs utilisés par votre application.
Requête de ZeroBounce
curl "https://api.zerobounce.net/v2/validate?email=john.doe@zerobounce.net&api_key=your_api_key&ip_address="
Réponse de ZeroBounce
{
"address": "john.doe@zerobounce.net",
"status": "valid",
"sub_status": "",
"free_email": false,
"catchall_domain": true,
"did_you_mean": null,
"account": "johndoe",
"domain": "zerobounce.net",
"domain_age_days": "3431",
"active_in_days": "30",
"active_first_seen": "2026-02-25",
"smtp_provider": "g-suite",
"mx_found": "true",
"mx_record": "aspmx.l.google.com",
"firstname": "dan",
"lastname": "cotet",
"gender": "male",
"country": null,
"region": null,
"city": null,
"zipcode": null,
"processed_at": "2026-06-18 07:05:00.033"
}
Requête d'Emailable
curl "https://api.emailable.com/v1/verify?email=support@example.com&api_key=your_api_key"
Réponse d'Emailable
{
"accept_all": false,
"did_you_mean": null,
"disposable": false,
"domain": "example.com",
"duration": 0.493,
"email": "support@example.com",
"first_name": null,
"free": false,
"full_name": null,
"gender": null,
"last_name": null,
"mailbox_full": false,
"mx_record": "mx.example.com",
"no_reply": false,
"reason": "accepted_email",
"role": true,
"score": 100,
"smtp_provider": null,
"state": "deliverable",
"tag": null,
"user": "support"
}
Requête de ZeroBounce
curl -X POST "https://api.zerobounce.net/v2/validatebatch" \
-H "Content-Type: application/json" \
-d '{
"api_key": "your_api_key",
"email_batch": [
{ "email_address": "john.doe@zerobounce.net", "ip_address": "1.1.1.1" },
{ "email_address": "invalid@example.com", "ip_address": "1.1.1.1" },
{ "email_address": "disposable@example.com", "ip_address": null }
],
"activity_data": true,
"verify_plus": true
}'
Réponse de ZeroBounce
{
"email_batch": [
{
"address": "john.doe@zerobounce.net",
"status": "valid",
"sub_status": "",
"free_email": false,
"catchall_domain": true,
"did_you_mean": null,
"account": "johndoe",
"domain": "zerobounce.net",
"domain_age_days": "3431",
"active_in_days": "30",
"active_first_seen": "2026-02-25",
"smtp_provider": "g-suite",
"mx_found": "true",
"mx_record": "aspmx.l.google.com",
"firstname": "dan",
"lastname": "cotet",
"gender": "male",
"country": null,
"region": null,
"city": null,
"zipcode": null,
"processed_at": "2026-06-18 07:05:00.033"
},
{
"address": "invalid@example.com",
"status": "invalid",
"sub_status": "mailbox_not_found",
"free_email": false,
"did_you_mean": null,
"account": null,
"domain": null,
"domain_age_days": "9692",
"active_in_days": "365",
"active_first_seen": "2026-02-25",
"smtp_provider": "example",
"mx_found": "true",
"mx_record": "mx.example.com",
"catchall_domain": false,
"firstname": "zero",
"lastname": "bounce",
"gender": "male",
"country": null,
"region": null,
"city": null,
"zipcode": null,
"processed_at": "2020-09-17 17:43:11.830"
},
{
"address": "disposable@example.com",
"status": "do_not_mail",
"sub_status": "disposable",
"free_email": false,
"did_you_mean": null,
"account": null,
"domain": null,
"domain_age_days": "9692",
"active_in_days": "365",
"active_first_seen": "2026-02-25",
"smtp_provider": "example",
"mx_found": "true",
"mx_record": "mx.example.com",
"catchall_domain": false,
"firstname": "zero",
"lastname": "bounce",
"gender": "male",
"country": null,
"region": null,
"city": null,
"zipcode": null,
"processed_at": "2020-09-17 17:43:11.830"
}
],
"errors": []
}
Requête d'Emailable
curl -X POST "https://api.emailable.com/v1/batch" \
-H "Content-Type: application/json" \
-d '{
"api_key": "your_api_key",
"emails": [
"tim@smith.com",
"john@smith.com",
"support@emailable.com"
],
"url": "https://example.com/callback"
}'
Réponse d'Emailable
{
"emails": [
{
"accept_all": false,
"did_you_mean": null,
"disposable": false,
"domain": "smith.com",
"email": "tim@smith.com",
"first_name": "Tim",
"free": false,
"full_name": "Tim",
"gender": "male",
"last_name": null,
"mailbox_full": false,
"mx_record": "mx.smith.com",
"no_reply": false,
"reason": "accepted_email",
"role": false,
"score": 100,
"smtp_provider": null,
"state": "deliverable",
"tag": null,
"user": "tim"
},
{
"accept_all": false,
"did_you_mean": null,
"disposable": false,
"domain": "smith.com",
"email": "john@smith.com",
"first_name": "John",
"free": false,
"full_name": "John",
"gender": "male",
"last_name": null,
"mailbox_full": false,
"mx_record": "mx.smith.com",
"no_reply": false,
"reason": "rejected_email",
"role": false,
"score": 0,
"smtp_provider": null,
"state": "undeliverable",
"tag": null,
"user": "john"
},
{
"accept_all": false,
"did_you_mean": null,
"disposable": false,
"domain": "emailable.com",
"email": "support@emailable.com",
"first_name": null,
"free": false,
"full_name": null,
"gender": null,
"last_name": null,
"mailbox_full": false,
"mx_record": "aspmx.l.google.com",
"no_reply": false,
"reason": "low_quality",
"role": true,
"score": 70,
"smtp_provider": "Google",
"state": "risky",
"tag": null,
"user": "support"
}
],
"id": "5cf6dd30093f96d2ac34bb0a",
"message": "Batch verification completed.",
"reason_counts": {
"accepted_email": 1,
"invalid_domain": 0,
"invalid_email": 0,
"invalid_smtp": 0,
"low_deliverability": 0,
"low_quality": 1,
"no_connect": 0,
"rejected_email": 1,
"timeout": 0,
"unavailable_smtp": 0,
"unexpected_error": 0
},
"total_counts": {
"deliverable": 1,
"processed": 3,
"risky": 1,
"total": 3,
"undeliverable": 1,
"unknown": 0,
"duplicate": 0
}
}
En quoi les points de terminaison de traitement par lots diffèrent-ils
Le point de terminaison par lots de ZeroBounce maintient la requête ouverte jusqu'à ce que toutes les adresses aient été vérifiées, et sa documentation vous oriente vers les points de terminaison pour fichiers en masse dès que le nombre d'adresses dépasse 200. L'API par lots d'Emailable accepte jusqu'à 50 000 adresses par requête et peut envoyer les résultats à votre URL de rappel.
Les comptes Enterprise d'Emailable peuvent demander des lots plus volumineux en contactant le support.
Consulter vos résultats
Pour les lots API, utilisez l'identifiant fourni pour vérifier l'état d'avancement, ou ajoutez une URL de rappel : nous avertirons votre application dès que le traitement sera terminé. Les lots comportant plus de 1 000 adresses génèrent un lien de téléchargement au format CSV.
curl "https://api.emailable.com/v1/batch?id=5cf6dd30093f96d2ac34bb0a&api_key=your_api_key"
For batches up to 1,000 addresses, add partial=true to the status request to read results while the batch is still verifying.
Listes ponctuelles
Pour une liste d'adresses email ponctuelle, ne passez pas par l'API de traitement par lots et utilisez plutôt l'outil « Bulk Verifier » dans votre tableau de bord Emailable. Importez-y le fichier, puis exportez les résultats une fois l'opération terminée.
Faites correspondre les réponses
La plupart des éléments renvoyés par ZeroBounce disposent d'un champ « Emailable » correspondant. Consultez ces tableaux pour voir ce qui a changé et ce qui est resté inchangé.
Faire correspondre les statuts aux états
| Statut de ZeroBounce | État Emailable |
|---|---|
valid |
deliverable
|
invalid |
undeliverable
|
catch-all |
risky
|
do_not_mail |
risky
|
abuse |
|
spamtrap |
|
unknown |
unknown
|
Un tiret indique qu'il n'existe pas d'état « Emailable » correspondant. Utilisez les indicateurs de score et de risque pour déterminer comment votre application doit traiter ces adresses.
Aucun état équivalent
Spam trap lists are kept secret, so no verifier can identify them reliably. Read how to protect your list.
Mapper les champs de réponse
| Champ de ZeroBounce | Champ Emailable |
|---|---|
address |
email |
status |
state |
sub_status |
reason |
account |
user |
domain |
domain |
did_you_mean |
did_you_mean |
free_email |
free |
catchall_domain |
accept_all |
smtp_provider |
smtp_provider |
mx_record |
mx_record |
firstname |
first_name |
lastname |
last_name |
gender |
gender |
Emailable renvoie également ces champs, qui n'ont pas d'équivalent dans l'ZeroBounce:
score
role
disposable
mailbox_full
no_reply
tag
Faites un essai avant de changer
Commencez par connecter votre intégration à une clé de test. Les adresses de test d'Emailable renvoient des résultats fixes ; vous pouvez ainsi tester tous les états et tous les attributs avant la mise en production, sans utiliser de crédits.