Email Validation API Documentation - Getting Started


IPQualityScore's Email Validation API allows you to detect invalid mailboxes as well as disposable and fraudulent email addresses, spamtraps, and honeypots via our simple to use Email Reputation API. Batch files can also be processed by uploading a CSV file through the user platform.


Email Validation API Use Cases
  • Low Quality Users - Identify duplicate user accounts, bogus user information, and fake registrations. Automatically prevent low quality users from hurting your ROI.
  • Chargebacks & Payment Fraud - Prevent chargebacks, high risk transactions, and all types of payment fraud.
  • Lead Generation & User Data Verification - Ensure data that you are collecting or purchasing is valid, accurate, and fresh.
  • List Cleaning - Cleanse your email lists by removing invalid and inactive email addresses to ensure healthy bounce rates. Allow your promotional email to have the best chance of inboxing and reaching your clients.
  • Spam Traps - Identify spam traps and honeypot email addresses that negatively impact your sender score.
  • Hard Bounces - Prevent hard bounces by pre-screening email addresses before messaging them.
  • Disposable Email Services - Easily block disposable email addresses and temporary mail services that allow fraudsters to spawn new emails at any time.

Private Key
Please login or create a free account to access your API Key.

NOTE: Do not share this key with anyone. It's like a password and can be used to make queries using our API.


Request URLs

The URLs below can be used to fetch the result using cURL or another utility in most languages. See the usage example at the bottom of the page . Be sure to replace "USER_EMAIL_HERE" with the email you wish to check.

JSON:
XML:

JSON Example Requests
API Lookup with Your Email Address
API Lookup with Timeout Set to 60
Provides better accuracy if response time is not an issue, timeout can be a value between 1 and 60. Default timeout is 7 seconds.

JSON Success Response Example

NOTE: For a description of each field listed above please consult the response documentation below.


XML Success Response Example

NOTE: For a description of each field listed above please consult the response documentation below.


JSON Error Response Examples

Example errors that you may encounter when accessing our API due to an exhausted credit balance or an invalid/empty email address.


Additional Request Parameters

Any custom tracking variable established in your account settings can be passed with each API request. This allows our reporting tools to filter by specific users, products, campaigns, transactions, etc. so that you can easily identify fraudulent activity. The following request parameters are optional and can be used to tailor the service to your requirements.

Field Description Possible Values
fast When this parameter is enabled our API will not perform an SMTP check with the mail service provider, which greatly increases the API speed. Syntax and DNS checks are still performed on the email address as well as our disposable email detection service. This option is intended for services that require decision making in a time sensitive manner. boolean
timeout Maximum number of seconds to wait for a reply from a mail service provider. If your implementation requirements do not need an immediate response, we recommend bumping this value to 20. Any results which experience a connection timeout will return the "timed_out" variable as true. Default value is 7 seconds. integer (1-60)
suggest_domain Force analyze if the email address's domain has a typo and should be corrected to a popular mail service. By default, this test is currently only performed when the email is invalid or if the "recent abuse" status is true. boolean
strictness Sets how strictly spam traps and honeypots are detected by our system, depending on how comfortable you are with identifying emails suspected of being a spam trap. 0 is the lowest level which will only return spam traps with high confidence. Strictness levels above 0 will return increasingly more strict results, with level 2 providing the greatest detection rates. int (0-2)

Response Field Definitions

We return a large amount of information for each lookup so your development team has access to a wealth of data when incorporating each API request into your business logic. We recommend blocking or flagging a user, signup, purchase, or other type of transaction when the API confirms that "disposable" is true, "recent_abuse" is true, and/or when "valid" is false. For mass mailing, we recommend only messaging users with a "deliverability" value of "high" to ensure a low bounce rate so that your messages do not get filtered into the SPAM folder or completely blocked by mail service providers.

Notice About Timeouts
Please also note that a "timed_out" result with a value of true is due to the mail service provider taking too long to reply to our verification request. We strongly recommend treating verification results associated with a "timed_out" result as false as valid emails as these are likely legitimate emails. This situation is more frequent for business emails which often run private email servers that are not well optimized. Increasing the "timeout" parameter helps to avoid this issue.

Analyzing Email Results Overview
Treat emails as valid when:

  • "valid" is true OR
  • when "timed_out" is true AND "dns_valid" is true AND "disposable" is false AND "recent_abuse" is false.
Field Description Possible Values
valid Does this email address appear valid? boolean
disposable Is this email suspected of belonging to a temporary or disposable mail service? Usually associated with fraudsters and scammers. boolean
timed_out Did the connection to the mail service provider timeout during the verification? If so, we recommend increasing the "timeout" variable above the default 7 second value. Lookups that timeout with a "valid" result as false are most likely false-positives and should be not be trusted. boolean
deliverability How likely is this email to be delivered to the user and land in their mailbox. Values can be "high", "medium", or "low". string
catch_all Is this email likely to be a "catch all" where the mail server verifies all emails tested against it as valid? It is difficult to determine if the address is truly valid in these scenarios, since the email's server will not confirm the account's status. boolean
leaked Was this email address associated with a recent database leak from a third party? Leaked accounts pose a risk as they may have become compromised during a database breach. boolean
suspect This value indicates if the mail server is currently replying with a temporary error and unable to verify the email address. This status will also be true for "catch all" email addresses as defined below. If this value is true, then we suspect the "valid" result may be tainted and there is not a guarantee that the email address is truly valid. boolean
smtp_score Validity score of email server's SMTP setup. Range: "-1" - "3". Scores above "-1" can be associated with a valid email.
  • -1 = invalid email address
  • 0 = mail server exists, but is rejecting all mail
  • 1 = mail server exists, but is showing a temporary error
  • 2 = mail server exists, but accepts all email
  • 3 = mail server exists and has verified the email address
integer
overall_score Overall email validity score. Range: "0" - "4". Scores above "1" can be associated with a valid email.
  • 0 = invalid email address
  • 1 = dns valid, unreachable mail server
  • 2 = dns valid, temporary mail rejection error
  • 3 = dns valid, accepts all mail
  • 4 = dns valid, verified email exists
integer
first_name Suspected first name based on email. Returns "CORPORATE" if the email is suspected of being a generic company email. Returns "UNKNOWN" if the first name was not determinable. string
common Is this email from a common email provider? ("gmail.com", "yahoo.com", "hotmail.com", etc.) boolean
generic Is this email suspected as being a catch all or shared email for a domain? ("admin@", "webmaster@", "newsletter@", "sales@", "contact@", etc.) boolean
dns_valid Does the email's hostname have valid DNS entries? Partial indication of a valid email. boolean
honeypot Is this email believed to be a "honeypot" or "SPAM trap"? Bulk mail sent to these emails increases your risk of being blacklisted by large ISPs & ending up in the spam folder. boolean
spam_trap_score Confidence level of the email address being an active SPAM trap. Values can be "high", "medium", "low", or "none". string
recent_abuse This value will indicate if there has been any recently verified abuse across our network for this email address. Abuse could be a confirmed chargeback, fake signup, compromised device, fake app install, or similar malicious behavior within the past few days. boolean
frequent_complainer Indicates if this email frequently unsubscribes from marketing lists or reports email as SPAM. boolean
suggested_domain Default value is "N/A". Indicates if this email's domain should in fact be corrected to a popular mail service. This field is useful for catching user typos. For example, an email address with "gmai.com", would display a suggested domain of "gmail.com". This feature supports all major mail service providers. string
request_id A unique identifier for this request that can be used to lookup the request details or send a postback conversion notice. string
success Was the request successful? boolean
message A generic status message, either success or some form of an error notice. string
errors Array of errors which occurred while attempting to process this request. array of strings
Example Code