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
Checks if the email address exists and can receive emails by using SMTP connection and email-sending emulation techniques. This value will be 'true' if the email address exists and can receive email over SMTP, and 'false' if the email address does not exist on the target SMTP server or temporarily couldn't receive messages. 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 mail server has a “catch-all” address. This refers to a special type of address that can receive emails for any number of non-existent email addresses under a particular domain. Catch-all addresses are common in businesses where if you send an email to test@hi.com and another email to non-existent 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": {
    "Error": "You are limited to 10 queries per second. The request is rejected."
  }
}
                        
                            <ErrorMessage>
    <Error>You are limited to 10 queries per second. The request is rejected.</Error>
</ErrorMessage>
                        

Account balance information

GEThttps://user.whoisxmlapi.com/service/account-balance?apiKey=YOUR_API_KEY
apiKey
Required. Get your personal API KEY on My products page.
productId
Optional. A list of the products' IDs can be found in the response.

- You can always check your account balance on the My products page. - Note that the following products use the same WHOIS credits: WHOIS API, Bulk WHOIS API, Domain Availability API. - Note that the following products use the same Domain Research Suite credits: Brand Alert API, Registrant Alert API, Reverse WHOIS API, WHOIS History API, Reverse IP/DNS API, Reverse MX API, Reverse NS API.

List of possible errors

400 Bad Request
Missing or erroneous parameter(s).
403 Forbidden
Access denied (credits depleted, inexistent API key, throttling).
429 Too Many Requests
Too Many Requests. Try your call again later.
504 Internal error
Internal error, can be caused by very slow mail server.
5XX
Internal server error. Try your call again or contact us.

Try Email Verification API for free

Have questions?

We work hard to improve our services for you. As part of that, we welcome your feedback, questions and suggestions. Please let us know your thoughts and feelings, and any way in which you think we can improve our product.

For a quick response, please select the request type that best suits your needs. For more info regarding the request types, see the Contact us page.

By submitting, you agree to the Terms of Service and Privacy Policy.

Or shoot us an email to