Email Verify API Reference
Verify an email address: syntax checks, disposable and free provider detection, presence of MX records, TXT and SPF records, and a suspicious email score.
Service details and pricing: Email Verify API
Request example
Query the endpoint via an HTTPS POST request (replace YOUR_API_KEY_HERE with your API key):
curl -X POST "https://api.apivoid.com/v2/email-verify" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY_HERE" \
-d '{"email": "a1k5z0a3@yopmail.com"}'The same request in PHP:
$email = 'a1k5z0a3@yopmail.com';
$apiKey = 'YOUR_API_KEY_HERE';
$curl = curl_init('https://api.apivoid.com/v2/email-verify');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json', 'X-API-Key: ' . $apiKey]);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(['email' => $email]));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($httpCode === 200) {
$responseData = json_decode($response, true);
print_r($responseData);
} else {
print_r('An error occurred: '.$response);
}Request parameters
Required
Email to submit, e.g. a1k5z0a3@yopmail.com.
Response example
A successful request returns HTTP 200 with a JSON body:
{
"email": "a1k5z0a3@yopmail.com",
"canonical_email": "a1k5z0a3@yopmail.com",
"valid_format": true,
"username": "a1k5z0a3",
"role_address": false,
"system_address": false,
"noreply_address": false,
"suspicious_username": false,
"dirty_words_username": false,
"suspicious_email": false,
"email_length": 20,
"username_length": 8,
"domain_length": 11,
"username_has_only_digits": false,
"username_has_celebrity_name": false,
"username_dots_count": 0,
"username_underscores_count": 0,
"username_hyphens_count": 0,
"username_digits_count": 4,
"username_letters_count": 4,
"domain": "yopmail.com",
"root_domain": "yopmail.com",
"subdomain": "",
"tld": "com",
"valid_tld": true,
"public_domain": true,
"disposable": true,
"email_forwarder": false,
"has_a_records": true,
"has_mx_records": true,
"has_txt_records": true,
"has_spf_records": true,
"spf_qualifier": "fail",
"spf_strict": true,
"dmarc_configured": true,
"dmarc_enforced": true,
"is_spoofable": false,
"free_email": false,
"russian_free_email": false,
"china_free_email": false,
"did_you_mean": "",
"suspicious_domain": false,
"dirty_words_domain": false,
"domain_popular": false,
"risky_tld": false,
"police_domain": false,
"government_domain": false,
"educational_domain": false,
"student_email": false,
"should_block": true,
"score": 0,
"elapsed_ms": 3
}Response fields
The fields returned in the JSON response:
emailstring
Email address submitted for verification.
canonical_emailstring
Returns the canonical form of the email address after normalization (e.g. a.b.c.d@gmail.com → abcd@gmail.com).
valid_formatboolean
Returns true if the email has a valid format.
usernamestring
Returns the email username (e.g. user1@gmail.com → user1).
role_addressboolean
Returns true if email is a role address, e.g. admin@website.com.
system_addressboolean
Returns true if email is a system-generated address, e.g. mailer-daemon@website.com.
noreply_addressboolean
Returns true if email is a "noreply" address, e.g. no-reply@website.com.
suspicious_usernameboolean
Returns true if username is suspicious, e.g. only numbers.
dirty_words_usernameboolean
Returns true if username contains "dirty" or bad words.
suspicious_emailboolean
Returns true if the email address is suspicious and involved in signup abuse or spam.
email_lengthinteger
Returns the total length of the email address, including the @ symbol.
username_lengthinteger
Returns the length of the email username (the part before @).
domain_lengthinteger
Returns the length of the email domain (the part after @).
username_has_only_digitsboolean
Returns true if the email username consists only of digits (e.g. 1234567890@gmail.com).
username_has_celebrity_nameboolean
Returns true if the email username contains a celebrity name (e.g. tony.stark1@gmail.com).
username_dots_countinteger
Returns the number of dot (.) characters in the email username.
username_underscores_countinteger
Returns the number of underscore (_) characters in the email username.
username_hyphens_countinteger
Returns the number of hyphen (-) characters in the email username.
username_digits_countinteger
Returns the number of numeric characters in the email username.
username_letters_countinteger
Returns the number of alphabetic characters in the email username.
domainstring
Returns the email domain (e.g. user1@gmail.com → gmail.com).
root_domainstring
Returns the root domain (e.g. gmail.com).
subdomainstring
Returns the subdomain, such as www.
tldstring
Returns the TLD of the domain, such as com.
valid_tldboolean
Returns true if domain TLD is valid, e.g. .com or .co.uk.
public_domainboolean
Returns true if domain is public and not internal or reserved.
disposableboolean
Returns true if email is a disposable or temporary email address.
email_forwarderboolean
Returns true if the email address is a forwarding address (e.g. from the SimpleLogin service).
has_a_recordsboolean
Returns true if domain has DNS A records configured.
has_mx_recordsboolean
Returns true if domain has DNS MX records configured.
has_txt_recordsboolean
Returns true if domain has DNS TXT records configured.
has_spf_recordsboolean
Returns true if domain has DNS SPF records configured.
spf_qualifierstring
Returns the SPF qualifier (e.g. pass, fail, softfail, neutral).
spf_strictboolean
Returns true if the SPF policy is strictly enforced (i.e. a -all mechanism is present).
dmarc_configuredboolean
Returns true if domain has DNS DMARC records configured.
dmarc_enforcedboolean
Returns true if domain is configured for DMARC and set to an enforcement policy (reject or quarantine).
is_spoofableboolean
Returns true if the email address is potentially spoofable (e.g. SPF or DMARC are not strictly enforced).
free_emailboolean
Returns true if email is a free email, e.g. gmail.com.
russian_free_emailboolean
Returns true if email is a free Russian email, e.g. mail.ru.
china_free_emailboolean
Returns true if email is a free China email, e.g. 163.com.
did_you_meanstring
Returns the corrected email address, e.g. abc@gmal.com → abc@gmail.com.
suspicious_domainboolean
Returns true if the domain is suspicious (e.g. known for spam or signup abuse).
dirty_words_domainboolean
Returns true if domain contains "dirty" or bad words.
domain_popularboolean
Returns true if domain is a known popular domain.
risky_tldboolean
Returns true if domain TLD is risky, e.g. .top or .pro.
police_domainboolean
Returns true if domain is a police-related domain.
government_domainboolean
Returns true if domain is a government domain, e.g. .gov.
educational_domainboolean
Returns true if domain is an educational domain, e.g. .edu.
student_emailboolean
Returns true if the email address matches common student email patterns.
should_blockboolean
Returns true if the score is bad (<= 70) and thus it should be blocked.
scoreinteger
Returns a number between 0 (bad) and 100 (good).
elapsed_msinteger
Time taken to process the request, in milliseconds.