Email Validation API Documentation

Verify Emails by API Lookup With 99.9% Accuracy

IPQualityScore's Email Validation API estimates deliverability rates by detecting invalid mailboxes as well as disposable and fraudulent email addresses, spam traps, and honeypots via our simple to use Email Reputation API. Verify email addresses and identify abusive emails in real-time with a low latency API request.

Add the Email Verification API to your registration and checkout pages to validate email addresses in real-time as users interact with your site or app. Prevent fake accounts, typos, bounces, invalid user data, and other abuse. Batch files can also be processed by uploading a CSV file through the user platform.

Instantly Improve Deliverability & Sender Scores, Lower Bounce Rates

Routine email list cleaning is a best practice utilized by the largest brands and mailers to ensure healthy deliverability rates. Major email service providers like,,,,, and other large providers worldwide will block senders with high bounce rates and poor domain or IP address reputation. Cleaning your email lists from spam traps, complainers, and invalid emails will prevent inbox bounces to ensure your mail reaches the inbox and not the spam folder.

Email Risk Analysis, Fraud Prevention, & Reputation Assessment

Analyze email address reputation in real-time with email risk analysis including the email's creation date using an estimate of the email age based on when the email was first discovered by IPQS. The creation date is often referred to as the "First Seen" date. IPQS provides advanced email address fraud prevention to validate new users, logins, and payments. In addition to detecting disposable email services and parked domains, IPQS can also identify perfectly valid email addresses that have recently engaged in abusive behavior. Through our honeypot threat network and partner feedback program, IPQS can identify email addresses which were recently involved with chargebacks, fake account creation, account takeover, SPAM, trial abuse, and high risk behavior.

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 ecommerce payment fraud.
  • Lead Generation & User Data Verification - Ensure data that you are collecting or purchasing is valid, accurate, and fresh using real-time email risk scoring.
  • 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 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 Options

Due to the nature of platform requirements or frameworks it may be necessary to request IPQS API endpoints without passing the API key in the URL. As an alternative, IPQS allows the API key to be passed via GET, POST, or Headers. These requests use the following endpoints:

Method Value Example
Header IPQS-KEY (Additional parameters passed as either GET or POST) IPQS-KEY: YOUR_API_KEY_HERE

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)
abuse_strictness Set the strictness level for machine learning pattern recognition of abusive email addresses with the "recent_abuse" data point. Default level of 0 provides good coverage, however if you are filtering account applications and facing advanced fraudsters then we recommend increasing this value to level 1 or 2. int (0-2)

Reporting Back Fraud & Improving Machine Learning

Train your account's machine learning algorithms to better identify fraud for your audience. The following endpoint can be used to report email addresses as fraudulent. Please only report data that has a high confidence of being abusive.

The URL below is an example of how to report an email address.

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 "fraud_score" = 100), and/or when "valid" is false. The Fraud Score can also provide useful insights to identify high risk emails and mail providers.

For email marketing, 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.

Analyzing Email Verification Results
Treat email addresses as valid when:

  • For Email Marketing & Deliverability Analysis - "valid" is true, "disposable" is false, AND "spam_trap_score" is NOT high
    For stricter deliverability also scrub records with "spam_trap_score" as "medium" and for even stricter filtering, scrub emails with "frequent_complainer" as true.
  • For User Quality Analysis - "valid" is true, "disposable" is false, AND "fraud_score" is less than 100
    Fraud Scores can also be a good indicator for user quality, where scores 80+ are suspicious and 90+ are risky. To prevent against account takeover and credential stuffing, emails with "leaked" as true indicate user data recently compromised on the dark web. The "First Seen" date is also useful in determining the email's age or creation date.
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 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
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
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? ("", "", "", 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". We recommend scrubbing emails with "high" or "medium" statuses. Avoid "low" emails whenever possible for any promotional mailings. 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
fraud_score The overall Fraud Score of the user based on the email's reputation and recent behavior across the IPQS threat network. Fraud Scores >= 75 are suspicious, but not necessarily fraudulent. float
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 "", would display a suggested domain of "". This feature supports all major mail service providers. string
domain_velocity Indicates the level of legitimate users interacting with the email address domain. Values can be "high", "medium", "low", or "none". Domains like "", "", "", etc. will have "high" scores as this value represents popular domains. New domains or domains that are not frequently visited by legitimate users will have a value as "none". This field is restricted to upgraded plans. string
user_activity Frequency at which this email address makes legitimate purchases, account registrations, and engages in legitimate user behavior online. Values can be "high", "medium", "low", or "none". Values of "high" or "medium" are strong signals of healthy usage. New email addresses without a history of legitimate behavior will have a value as "none". This field is restricted to higher plan tiers. string
associated_names Displays first and last names linked to the email address, if available in our data sources. Match rates vary by country. This field is restricted to upgraded plans. Object value contains, "status", and "names" as an array. object
associated_phone_numbers Displays phone numbers linked to the email address, if available in our data sources. Match rates vary by country. This field is restricted to upgraded plans. Object value contains, "status", and "phone_numbers" as an array. object
Field Description Possible Values
human A human description of the email address age, using an estimation of the email creation date when IPQS first discovered this email address. (Ex: 3 months ago) string or null
timestamp The unix time since epoch when this email was first analyzed by IPQS. (Ex: 1568061634) integer
iso The time this email was first analyzed by IPQS in ISO8601 format (Ex: 2019-09-09T16:40:34-04:00) string
Field Description Possible Values
human A human description of when this domain was registered. (Ex: 3 months ago) string or null
timestamp The unix time since epoch when this domain was first registered. (Ex: 1568061634) integer
iso The time this domain was registered in ISO8601 format (Ex: 2019-09-09T16:40:34-04:00) string
sanitized_email Sanitized email address with all aliases and masking removed, such as multiple periods for 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