Verifica email
Verifica un singolo indirizzo in tempo reale.
Verifica un indirizzo
Verifica un indirizzo email e restituisce l’esito nella risposta. Ogni verifica costa 5 crediti, addebitati prima che il controllo venga eseguito. Per verificare molti indirizzi in una volta, crea una lista di verifica. Richiede una chiave API full.
/email-verificationsCorpo della richiesta
emailstringObbligatorioL’indirizzo da verificare. Un valore che non è un indirizzo valido restituisce comunque 200, con result: "invalid" e un punteggio di 0, e viene addebitato.
modestringfast (predefinito) controlla la sintassi, gli indirizzi usa e getta e di ruolo, i provider gratuiti, le sequenze di caratteri senza senso, i record MX e l’età del dominio. full si collega anche al server di posta del destinatario per controllare se la casella esiste, è disattivata o è piena, e se il dominio accetta tutti gli indirizzi. In modalità fast, i controlli sulla casella sono null.
Restituisce
Restituisce 200 OK con un oggetto email_verification. Emailit invia anche un evento webhook email_verification.created.
| Stato | Quando |
|---|---|
400 |
email manca oppure mode non è fast o full (errore di convalida standard). |
402 |
Al workspace non restano 5 crediti. Il corpo è {"error": {"message": "…", "code": 402}}. |
Esito
result |
Significato |
|---|---|
safe |
Ha superato tutti i controlli e ha ottenuto 70 o più. |
invalid |
La sintassi non è valida o il dominio non ha record MX, quindi non può ricevere email. |
disposable |
Il dominio appartiene a un servizio email usa e getta. |
disabled |
La casella esiste ma è disattivata. Solo in modalità full. |
inbox_full |
La casella è piena. Solo in modalità full. |
role |
Un indirizzo di ruolo come info@ o support@. |
unknown |
Nessun controllo è fallito, ma il punteggio è inferiore a 70. |
Punteggio e rischio
score va da 0 a 100. risk è high quando la sintassi non è valida, il dominio non ha record MX, l’indirizzo è usa e getta o la casella è disattivata. Altrimenti segue il punteggio: low da 80, medium da 50 e high sotto 50.
Campi
statusstringcompleted per le verifiche singole.
checksobjectI singoli controlli: valid_syntax, disposable, role_account, free_email, gibberish e has_mx_records (booleani), domain_age (età del dominio in giorni, oppure null se sconosciuta) e i controlli della modalità full smtp_connect, deliverable, disabled, inbox_full e catch_all (null in modalità fast).
addressobjectL’indirizzo scomposto in mailbox, domain, suffix (la parte dopo +, oppure null) e root (l’indirizzo senza il suffisso).
did_you_meanstring | nullCorrezione suggerita per un probabile errore di battitura, ad esempio ada@gmail.com per ada@gmial.com.
mx_recordsobject[]I record MX del dominio, ciascuno con priority e 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
}
}