API di Verifica Email

Verifica indirizzi email in tempo reale, 50 per richiesta o intere liste in blocco. Ogni chiamata controlla sintassi, dominio, MX e la casella stessa, e segnala gli indirizzi usa e getta, generici e catch-all. Al destinatario non viene mai inviata alcuna email.

  • 50 verifiche gratuite al giorno
  • Senza carta di credito
  • Chiave sandbox pubblica
  • Crediti che non scadono
Ottieni una chiave API gratuitaLeggi il riferimento dell’API (in inglese)
curl --get "https://api.easyemailverification.com/v1/verify" \
  -H "X-API-Key: eev_sandbox_key" \
  --data-urlencode "email=valid@sandbox.easyemailverification.com"
import requests

r = requests.get(
    "https://api.easyemailverification.com/v1/verify",
    headers={"X-API-Key": "eev_sandbox_key"},
    params={"email": "valid@sandbox.easyemailverification.com"},
    timeout=30,
)
data = r.json()
print(data["result"], data["reason"], data["safe_to_send"])
const url = new URL("https://api.easyemailverification.com/v1/verify");
url.searchParams.set("email", "valid@sandbox.easyemailverification.com");

const res = await fetch(url, {
  headers: { "X-API-Key": "eev_sandbox_key" },
  signal: AbortSignal.timeout(30000),
});
const data = await res.json();
console.log(data.result, data.reason, data.safe_to_send);
$query = http_build_query(["email" => "valid@sandbox.easyemailverification.com"]);
$ch = curl_init("https://api.easyemailverification.com/v1/verify?" . $query);
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER => ["X-API-Key: eev_sandbox_key"],
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 30,
]);
$data = json_decode(curl_exec($ch), true);
echo $data["result"], " ", $data["reason"];

Funziona così com’è: la chiave eev_sandbox_key non richiede un account e non consuma crediti.

Una chiamata, una risposta chiara

Leggi prima result, poi safe_to_send. Gli altri campi spiegano il perché, così la tua applicazione può decidere cosa accettare.

CampoCosa ti dice
resultvalid, invalid o unknown. Un risultato sconosciuto non viene mai indicato come valido.
reasonIl dettaglio, per esempio accepted_email, rejected_email, invalid_domain, no_mx_record o timeout.
safe_to_sendtrue solo per indirizzi validi senza segnali di rischio.
did_you_meanUna correzione quando viene rilevato un errore di battitura, come gmial.com → gmail.com.
disposable, role, free, accept_allSegnali di rischio: caselle temporanee, indirizzi condivisi come info@, provider gratuiti e domini catch-all.
mx_record, domain, userDove il dominio riceve la posta e come si suddivide l’indirizzo.
200 OK · application/json
{
  "email": "valid@sandbox.easyemailverification.com",
  "result": "valid",
  "reason": "accepted_email",
  "disposable": false,
  "accept_all": false,
  "role": false,
  "free": false,
  "user": "valid",
  "domain": "sandbox.easyemailverification.com",
  "mx_record": "mx.sandbox.easyemailverification.com",
  "mx_domain": "easyemailverification.com",
  "safe_to_send": true,
  "did_you_mean": "",
  "success": true,
  "message": "Sandbox response: no credits used",
  "http_code": "200"
}

In tempo reale, in batch o in blocco

Gli stessi controlli e gli stessi campi ovunque. Scegli la chiamata adatta al modo in cui ti arrivano gli indirizzi.

Tempo reale

GET /v1/verify?email=

Un indirizzo alla volta, per moduli di iscrizione, checkout e inserimenti nel CRM. Mostra did_you_mean all’utente invece di rifiutare senza spiegazioni.

Riferimento di GET /verify

Batch

POST /v1/verify

Fino a 50 indirizzi per richiesta in un array JSON, per importazioni e pulizie periodiche di piccoli segmenti.

Riferimento di POST /verify

Liste in blocco

POST /v1/bulk/upload

Carica un file TXT o CSV fino a 16 MB, controlla lo stato dell’elaborazione e scarica i risultati in CSV. I risultati restano disponibili per 30 giorni.

Riferimento degli endpoint in blocco

Paga a verifica, non al mese

Inizia gratis con 50 verifiche al giorno. Quando ti servono di più, acquista crediti una sola volta e usali quando vuoi: i crediti pay-as-you-go non scadono. Ogni indirizzo verificato consuma un credito, e controllare il saldo con GET /credits è gratuito. Sono disponibili anche abbonamenti mensili.

Inizia gratisTutti i piani e i prezzi
CreditiPrezzoOgni 1.000
1,000$8$8.00
10,000$60$6.00
100,000$320$3.20
1,000,000$1,350$1.35

Acquisto unico in dollari (USD). Pacchetti più piccoli e più grandi nella pagina dei prezzi. Stai confrontando API? Vedi Easy Email Verification vs Abstract API (in inglese).

Trasparenti su ciò che non si può confermare

Alcuni server di posta rallentano i mittenti sconosciuti (greylisting), vanno in timeout o rifiutano la verifica. Invece di tirare a indovinare, l’API restituisce unknown, e decidi tu se riprovare più tardi o trattarlo come un rischio. I risultati sconosciuti non consumano crediti.

I domini catch-all accettano qualsiasi indirizzo, quindi una risposta "valid" non dimostra che la casella esista. L’API li segnala con accept_all: true e lascia safe_to_send a false.

Dati e sicurezza

  • All’indirizzo verificato non viene inviata alcuna email.
  • Gli indirizzi verificati uno alla volta non vengono conservati.
  • I file dei risultati in blocco vengono eliminati 30 giorni dopo il caricamento.
  • Solo HTTPS; le chiavi API viaggiano nell’intestazione X-API-Key e si possono creare e revocare per applicazione nella tua dashboard.

Domande frequenti sull’API di verifica email

Esiste un’API di verifica email gratuita?

Sì. Il piano gratuito include 50 verifiche al giorno, senza carta di credito. Per sviluppare e testare senza account né crediti, usa la chiave sandbox pubblica eev_sandbox_key: restituisce risposte fisse per gli indirizzi di sandbox.easyemailverification.com.

L’API invia un’email all’indirizzo?

No. Controlla la sintassi, il dominio e i suoi record MX, poi chiede al server di posta del destinatario se la casella accetta messaggi e si disconnette prima di qualsiasi invio. La persona non riceve mai nulla.

Che differenza c’è tra validazione e verifica di un’email?

La validazione controlla che l’indirizzo sia ben formato e che il dominio possa ricevere posta. La verifica va oltre e chiede al server di posta se quella casella specifica esiste. Ogni chiamata all’API fa entrambe le cose e in più rileva gli indirizzi usa e getta, generici e catch-all.

Perché alcuni indirizzi restituiscono "unknown"?

Alcuni server di posta rallentano i mittenti sconosciuti (greylisting), vanno in timeout o bloccano la verifica. In questi casi l’API restituisce unknown invece di tirare a indovinare. Non trattare unknown come valido né come non valido: decidi secondo la tua politica o riprova più tardi (perché alcuni risultati sono sconosciuti, in inglese). I risultati sconosciuti non consumano crediti. I domini catch-all, che accettano qualsiasi indirizzo, sono segnalati con accept_all: true e safe_to_send: false.

Quanto è veloce e ci sono limiti di richieste?

Una verifica dialoga con il server di posta del destinatario, quindi di solito richiede da meno di un secondo a diversi secondi; usa un timeout di circa 30 secondi. Gli account non hanno limiti al minuto. Una richiesta in batch accetta fino a 50 indirizzi, e la chiave sandbox è limitata a 60 richieste al minuto.

Come verifico un’intera lista?

Carica un file TXT o CSV (fino a 16 MB) sull’endpoint in blocco, controlla lo stato dell’elaborazione e scarica i risultati in CSV. L’account deve avere crediti sufficienti per tutti gli indirizzi del file prima dell’avvio. Senza codice, carica invece la lista dalla dashboard.

Conservate gli indirizzi che verifico?

Gli indirizzi verificati uno alla volta, tramite l’API o il verificatore email, non vengono conservati. I file dei risultati in blocco restano disponibili per 30 giorni per il download e poi vengono eliminati.

Gli assistenti IA e gli agenti di programmazione possono usare l’API?

Sì. Claude, ChatGPT e altri client MCP possono collegarsi al server MCP ospitato, e gli assistenti di programmazione possono leggere agents.md e la specifica OpenAPI per scrivere l’integrazione al posto tuo.

Ottieni una chiave API gratuitaLeggi il riferimento dell’API (in inglese)