API docs

Making requests
GET https://emailverification.whoisxmlapi.com/api/v1?apiKey=YOUR_API_KEY&emailAddress=support@whoisxmlapi.com

It takes up to 2 minutes to activate your account after Sign Up.

Input parameters: required
apiKey
Get your personal API KEY on My products page.
emailAddress
The email address to be verified.
Input parameters: optional
outputFormat
Response output format.

Acceptable values: JSON | XML

Default: JSON
validateDns
1 results in checking the email address with DNS.

Acceptable values: 0 | 1

Default: 0
validateSMTP
1 results in checking the email address with SMTP.

Acceptable values: 0 | 1

Default: 0
checkCatchAll
1 results in checking if the email provider has a catch-all email address.

Acceptable values: 0 | 1

Default: 0
checkFree
1 results in checking whether the email provider is a free one.

Acceptable values: 0 | 1

Default: 0
checkDisposable
1 results in checking if the address is disposable.

Acceptable values: 0 | 1

Default: 0
_hardRefresh
1 result in getting fresh data instead of cache.

Acceptable values: 0 | 1

Default: 0
Free access
After Sign Up you automatically get a free subscription plan limited to 1,000 queries per month.
Output format
JSON
XML
                            {
  "emailAddress": "support@whoisxmlapi.com",
  "formatCheck": "true",
  "smtpCheck": "true",
  "dnsCheck": "true",
  "freeCheck": "false",
  "disposableCheck": "false",
  "catchAllCheck": "true",
  "mxRecords": [
    "ALT1.ASPMX.L.GOOGLE.com",
    "ALT2.ASPMX.L.GOOGLE.com",
    "ASPMX.L.GOOGLE.com",
    "ASPMX2.GOOGLEMAIL.com",
    "ASPMX3.GOOGLEMAIL.com",
    "mx.yandex.net"
  ]
}
                        
                            <EmailVerifyRecord>
    <emailAddress>support@whoisxmlapi.com</emailAddress>
    <formatCheck>true</formatCheck>
    <smtpCheck>true</smtpCheck>
    <dnsCheck>true</dnsCheck>
    <freeCheck>false</freeCheck>
    <disposableCheck>false</disposableCheck>
    <catchAllCheck>true</catchAllCheck>
    <mxRecords>
        <string>ALT1.ASPMX.L.GOOGLE.com</string>
        <string>ALT2.ASPMX.L.GOOGLE.com</string>
        <string>ASPMX.L.GOOGLE.com</string>
        <string>ASPMX2.GOOGLEMAIL.com</string>
        <string>ASPMX3.GOOGLEMAIL.com</string>
        <string>mx.yandex.net</string>
    </mxRecords>
</EmailVerifyRecord>
                        
emailAddress
The email address to be verified.
formatCheck
Lets you know if there are any syntax errors in the email address. This is a basic check that’s done to catch any simple typos or major errors. This value will be 'false' if there are no errors, and 'true' otherwise. Behind the scenes, the API service is handling all these types of verification checks for you in a number of interesting ways.
smtpCheck
Check if the email address exists and can receive emails using SMTP connection and email-sending emulation techniques. This value will be 'true' if the email is exists and can receive email over SMTP, and 'false' otherwise. May be 'null' for invalid or non-existing emails.
dnsCheck
Ensures that the domain in the email address, eg: gmail.com, is a valid domain. This value will be 'true' if the domain is good and 'false' otherwise. May be 'null' for invalid or non-existing emails.
freeCheck
Check to see if the email address is from a free email provider like Gmail or not. This value will be 'false' if the email address is not free, and 'true' otherwise. May be 'null' for invalid or non-existing emails.
disposableCheck
Tells you whether or not the email address is disposable (created via a service like Mailinator). This helps you check for abuse. This value will be 'false' if the email is not disposable, and 'true' otherwise. May be 'null' for invalid or non-existing emails.
catchAllCheck
Tells you whether or not this email address is a “catch-all” address. This refers to a special type of address that can receive email for any number of other addresses. This is common in businesses where if you send an email to test@hi.com and another email to test2@hi.com, both of those emails will go into the same inbox. Possible values are 'true' or 'false'. May be 'null' for invalid or non-existing emails.
mxRecords
Mail servers list. May be absent for invalid or non-existing emails.
Usage limits and requests throttling

The maximum number of requests per second is 10. In case that the limit is breached, your subsequent requests will be rejected until the next second.

JSON
XML
                            {
  "ErrorMessage": {
    "msg": "You are limited to 10 queries per second. The request is rejected."
  }
}
                        
                            <ErrorMessage>
    <msg>You are limited to 10 queries per second. The request is rejected.</msg>
</ErrorMessage>
                        
Try Email Verification API for free
Have questions?
support@whoisxmlapi.com
We will get back to you within a day.
WHOIS API, LLC

California
USA

Contact us