Email Validation
and Verification API

Improve your delivery rate and clean your email lists with Abstract's industry-leading email verification API
Get started
↓ Try it for free ↓
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
200 - Success
SMTP checks are only available on paid plans.
Real-time
MX & SMTP check
Typo checking
and smart suggestion
Disposable and
free email providers check
Privacy friendly
(GDPR, CCPA)
Serving billions of calls to 1,000,000+ developers and end users worldwide

Why do 10,000+ developers trust Abstract?

Easy to implement and maintain

We built Abstract because most of the API's we've used aren't great for developers. That's why Abstract has excellent documentation, multiple easy to use libraries, and tutorials to get you started.

Speed and scale built into everything we do

Our APIs are built to power critical business processes and flows, so all our APIs are built for use at scale and at blazing speeds. These aren't just marketing phrases for, but fundamental features of our APIs.

Reliable uptime and great support

Developers trust Abstract because of our reliable uptime and excellent technical support that will help get you live quickly, keep you running smoothly, and resolve any issues you have fast.

The Email Validation and Verification API ensures you have clean and reliable email lists

Powerful email validation and verification

Verify and validate emails before they're saved to your database to ensure you have only real, high value users. Our simple yet powerful API allows you to focus on your business, not email quality.

Identify disposable and free email providers

Abstract maintains one of the largest and most frequently updated databases of free and disposable email addresses, so you can identify them and decide to filter them or not.

Typo checking and smart suggestions

User can make mistakes in entering their email (e.g., john@gmial.com), and Abstract's Email Validation API will catch those along with our checks and even recommend a correct email.

Real-time SMTP checks

The domain of each email is pinged to ensure it's not only live but able to accept email. The API will also check whether or not the domain has a catch-all configuration enabled.

Role checking and filters

The API also automatically checks for role-based emails (such as sales@domain.com or team@domain.com), so you don't have to create and maintain rules for this.

Protected by bank-level security

Security is also a top concern of ours, so all data that is sent to Abstract's Gender API and processed there is secured via 256-bit SSL encryption (HTTPS).

Simple, transparent, and cost-effective pricing

FREE

$0

no card
required!

  • 500 requests
  • 1 request / second

PROFESSIONAL

$9

per
month

  • 5,000 requests / month
  • $0.0018 / extra request
  • 50 requests / second
  • Commercial use allowed
  • Email support

ENTERPRISE

Get in touch!

  • >500,000 requests / month
  • 500 requests / second
  • Commercial use allowed
  • Premium enriched data
  • Chat support

Email Validation and Verification API Documentation

REST

The Email Validation and Verification API, like all of Abstract's APIs, is organized around REST. It is designed to use predictable, resource-oriented URL's and to use HTTP status codes to indicate errors.

HTTPS

The Email Validation and Verification API requires all communications to be secured TLS 1.2 or greater.

API Versions

All of Abstract's API are versioned. The Email Validation and Verification API is currently on Version 1.

Your API Key

Your API key is your unique authentication key to be used to access Abstract's Exchange Rate API. Note that each of Abstract's API has a unique API key, so you will need different keys to access the Email Validation and Verification and IP Geolocation APIs, for example. To authenticate your requests, you will need to append your API key to the base URL.

Base URL

https://emailvalidation.abstractapi.com/v1/

Using the Email Validation and Verification API

Abstract's Email Validation and Verification API requires only your unique API key and a single email:

https://emailvalidation.abstractapi.com/v1/
    ? api_key = YOUR_UNIQUE_API_KEY
    & email = johnsmith@gmail.com

This was a successful request, and all available details about that email were returned:

{
    "email": "johnsmith@gmail.com",
    "autocorrect": "",
    "is_valid_format": true,
    "is_free_email": true,
    "is_disposable_email": false,
    "is_role_email": false,
    "is_catchall_email": false,
    "is_mx_found": true,
    "is_smtp_valid": true,
    "quality_score": 0.99,
}

Email Validation API - Request Parameters

PARAMETER

TYPE

DETAILS

api_key required

String

Your unique API key. Note that each user has unique API keys for each of Abstract's APIs, so your Exchange Rate API key will not work for as your IP Geolocation API key, for example.

email required

String

The email address to validate.

Email Validation API - Response

The API response is returned in a universal and lightweight JSON format.

PARAMETER

TYPE

DETAILS

email

String

The value for "email" that was entered into the request.

auto_correct

String

If a typo has been detected then this parameter returns a suggestion of the correct email (e.g., johnsmith@gmial.com => johnsmith@gmail.com). If no typo is detected then this is empty.

is_valid_format

Boolean

Is true if the email follows the format of "address @ domain . TLD". If any of those elements are missing or if they contain extra or incorrect special characters, then it returns false.

is_free_email

Boolean

Is true if the email's domain is found among Abstract's list of free email providers (e.g., Gmail, Yahoo, etc).

is_disposable_email

Boolean

Is true if the email's domain is found among Abstract's list of disposable email providers (e.g., Mailinator, Yopmail, etc).

is_role_email

Boolean

Is true if the email's local part (e.g., the "to" part) appears to be for a role rather than individual. Examples of this include "team@", "sales@", info@", etc.

is_catchall_email

Boolean

Is true if the domain is configured to catch all email.

is_mx_found

Boolean

Is true if MX Records for the domain can be found.

is_smtp_valid

Boolean

Is true is the SMTP check of the domain was successful.

quality_score

Number

An internal decimal score between 0.01 and 0.99 reflecting Abstract's confidence in the quality and deliverability of the submitted email.

Example: A Misspelled Email

In the example below, we show the request and response when the API detects a possible misspelling in the requested email.

Note that even if a possible misspelling is detected, all of the other checks on that email (e.g., free email, disposable domain, etc) will still be done against the original submitted email, not against the autocorrected email.

https://emailvalidation.abstractapi.com/v1/
    ? api_key = YOUR_UNIQUE_API_KEY
    & email = johnsmith@gmial.con

The request was valid and successful, and so it returns the following:

{
    "email": "johnsmith@gmial.con",
    "autocorrect": "johnsmith@gmail.com",
    "is_valid_format": true,
    "is_free_email": true,
    "is_disposable_email": false,
    "is_role_email": false,
    "is_catchall_email": false,
    "is_mx_found": false,
    "is_smtp_valid": false,
    "quality_score": 0.13,
}

Example: A Malformed Email

In the example below, we show the request and response for an email does not follow the proper format. If the email fails the is_valid_format check, then the other checks (e.g., is_free_email, is_role_email) will not be performed and will be returned as false

https://emailvalidation.abstractapi.com/v1/
    ? api_key = YOUR_UNIQUE_API_KEY
    & email = johnsmith

The request was valid and successful, and so it returns the following:

{
    "email": "johnsmith",
    "autocorrect": "",
    "is_valid_format": false,
    "is_free_email": false,
    "is_disposable_email": false,
    "is_role_email": false,
    "is_catchall_email": false,
    "is_mx_found": false,
    "is_smtp_valid": false,
    "quality_score": 0.00,
}

Response and Error Codes

Whenever you make a request that fails for some reason, an error is returned also in the JSON format. The errors include an error code and description, which you can find in detail below.

CODE

TYPE

DETAILS

200

OK

Everything worked as expected.

400

Bad request

Bad request

401

Unauthorized

The request was unacceptable. Typically due to the API key missing or incorrect.

500

Internal Server Error

The request could not be completed due to an error on the server side.

503

Service Unavailable

The server was unavailable.

Frequently Asked Questions
about Abstract's Email Validation API

What is the email verification API?

The Abstract email verification API takes an email address and identifies whether it is valid or not, and how risky we think it will be. This real-time or asynchronous capability will help you detect and suppress any invalid or disposable email addresses, which will help clean your email list, reduce your bounce rate, and thus improve your email delivery rate for legitimate users. Email verification is especially powerful when combined with tools like the IP geolocation API and / or the phone number validation API to provide simple checks for new users.

What kind checks does the email verification API do?

Abstract's email verification API uses a variety of increasingly sophisticated and frequently updated techniques to ensure you suppress all invalid or risky emails. These techniques include (but are not limited to): checking for syntax errors and typos in the email address (e.g., john@gnamil.com), doing real time SMTP and MX record checks against the email's domain, and using a variety of other filters backed by machine learning to detect invalid or risky emails.

What other options does the email validation API provide for filtering?

We can also identify and flag other characteristics of an email, such as whether it's from a free email provider (such as Yahoo or Gmail), whether it's from a disposable email services (such as Yopmail), and whether it's from a 'role' email address (such as team@ or @sales@).

We can also help you identify emails that are from recently registered domains, even if those domains otherwise past other filters. Recently registered domains and emails can signal that the user is fraudulent, spammy, or in some other way needs to be reviewed.

Developers around the world love Abstract's Email ValidationAPI

Spammy signs up were an issue for us for a while, and we struggled to come up with the best way to identify all the variations in bad emails we were getting. Thankfully we found and quickly integrated with Abstract's email validation API, which saved us a bunch of time and gave us peace of mind.

Chris Stanley, Scope

Quick to implement. Very accurate results. Great documentation. And most importantly... FAST results. You don't want a good user stuck waiting on a sign up form or somewhere else in your process for you to validate their info. Abstract's email validation API really gives you all of those in one package.

Patrick Stephenson, Software Engineer

We didn't realize for months how bad our email deliverability was. And then we traced it back to the source and found we had a ton of low quality and obviously spam emails in our database. One pass with Abstract's email validation API and a quick check on our sign up for and the problem is solved!

Megan Winston, Software Engineer

Email Validation and Verification API Changelog

Last Updated on 

November 20, 2020

November 20, 2020

 - 

Updated list of disposable and free email provides (+51)

August 14, 2020

 - 

Updated typos in docs and error handling for white spaces in submitted emails

August 12, 2020

 - 

Added 100+ new domains for disposable and free email services

July 2, 2020

 - 

Added 50+ new disposable email providers to the block list

June 10, 2020

 - 

Sped up MX and other domain checks to reduce overall response time by 25+ MS

GET STARTED

Get  FREE credits to start today.

Get thousands of API calls for free across all Abstract APIs.
GET YOUR FREE API KEY

Frequently Asked Questions
About Subscription & Pricing

What does the API cost?

Each of our API's has a free plan as well as several paid options, which offer a greater number of requests, a higher level of data quality, and greater speed for higher prices. Please see the page above or sign into your account to view pricing for each API.

Do you have a free trial or free options for your API's?

Absolutely! We want you to try before you buy. Each of our API's has a free tier with a generous usage allowance for you to try the product out and verify that the speed and data quality work for you.

What payment options do you offer?

We use Stripe to accept payment via major debit and credit cards (Visa, Mastercard, American Express). If you cannot use those payment methods, then contact us at team at abstractapi.com to arrange for an alternative payment method.

Can I upgrade or downgrade my subscription?

Yes, you can upgrade or downgrade your subscription at any time by visiting your dashboard. If you upgrade in the middle of a billing cycle, you will be charged a pro-rated amount for your new plan through the end of the billing cycle.

Can I cancel at any time?

Yes, all of our subscriptions are month to month. You can cancel at any time, and you will not be charged again at the end of your billing cycle.

How can I cancel my subscription?

You can cancel your subscription at any time from your dashboard. Once canceled, your subscription will be active until the end your current billing cycle, and then it will be automatically moved to the free plan.

What happens if I go over my monthly quota for requests?

If your API usage exceeds the monthly limit set by your plan, then you will be charged a fee for each call over your limit. At the end of your billing period, your usage will reset again.

What if I need more requests or something else that's not offered in your plans?

We do offer enterprise plans with custom features and pricing in limited circumstances. If our public pricing plans don't work for you, then contact us (team at abstractapi.com) and we'll work something out.

Do you offer any discounts?

While we don't normally offer discounts, we do make exceptions for certain types of users and use cases. If you are a student or are engaged in academic work, or are working on a non-profit or open source project, we're happy to offer you discounts for our API's. Just email us at team at abstractapi.com.

Do you offer discounts for annual or quarterly payments?

All of our plans are currently paid month to month. We will be launching annual plans at a discount soon. If you're interested in an annual plan in the meantime, just contact us and we'll set you up.

What happens if my payment method expires?

We will typically attempt to charge your payment method up to three times after it fails. If we're still unable to collect payment, then your subscription will be automatically canceled and you'll be moved to the free plan.

Can I use the API's for a commercial project?

Yes, a paid tier of our API may be used in conjunction with a commercial project. The free tiers of our API's may not be used in commercial projects.