APIVoid logo

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

POSThttps://api.apivoid.com/v2/email-verify
1 credit per successful requestPOST · JSON

Request example

Query the endpoint via an HTTPS POST request (replace YOUR_API_KEY_HERE with your API key):

curl
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:

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

emailstringRequired

Email to submit, e.g. a1k5z0a3@yopmail.com.

Response example

A successful request returns HTTP 200 with a JSON body:

json · 200
{
    "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.