API docs

Making requests

GEThttps://emailverification.whoisxmlapi.com/api/v1?apiKey=YOUR_API_KEY&emailAddress=support@whoisxmlapi.com

- Note that in some cases requests may take some time to finish. The timeout value for a request is 2 minutes.
- 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: 1
validateSMTP
1 results in checking the email address with SMTP.

Acceptable values: 0 | 1

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

Acceptable values: 0 | 1

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

Acceptable values: 0 | 1

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

Acceptable values: 0 | 1

Default: 1
_hardRefresh
1 results 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 1000 queries per month.

Sample output

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"
  ],
  "audit": {
    "auditCreatedDate": "2018-04-19 18:12:45.000 UTC",
    "auditUpdatedDate": "2018-04-19 18:12:45.000 UTC"
  }
}
                        
                            <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>
    <audit>
        <auditCreatedDate>2018-04-19 18:12:45.000 UTC</auditCreatedDate>
        <auditUpdatedDate>2018-04-19 18:12:45.000 UTC</auditUpdatedDate>
    </audit>
</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 address exists and can receive email over SMTP, 'false' if the email address does not exist on the target smtp server. The value will be null if the SMTP request could not be completed, mailbox verification is not supported on the target mailbox provider, or not applicable.
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.
audit
Record update dates.

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, Inc.

California
USA

Contact us