Skip to main content

AbstractAPI python-email-validation library

Integrate the powerful email validation API from Abstract in your Python project in a few lines of code.

Abstract's Email Validation and Verification API is a fast, lightweight, modern, and RESTful JSON API for determining the validity and other details of email addresses.

It's very simple to use: you only need to submit your API key and an email address, and the API will respond an assessment of its validity, as well as additional details like quality score if it's a disposable email, a catchall address, and more.

Validating and verifying email addresses is a critical step to reducing the chances of low-quality data and fraudulent or risky users in your website or application.

Documentation

Supported Python Versions

This library supports the Python version 3.6 and higher.

Installation

You can install python-email-validation via PyPi or by downloading the source.

Via PyPi:

python-email-validation is available on PyPi as the abstract-python-email-validation package:

pip install abstract-python-email-validation

API key

Get your API key for free and without hassle from the Abstact website.

Quickstart

Verify email

# Verify email using Abstract's Email Validation and Verification API and Python
from python_email_validation import AbstractEmailValidation

EMAIL_VAL_API_KEY =  "YYYYYY"; # Get your API Key from https://app.abstractapi.com/api/email-validation/documentation

AbstractEmailValidation.configure(EMAIL_VAL_API_KEY)
AbstractEmailValidation.verify("contact.email@gmail.com")

API response

The API response is returned in a EmailValidationData object.

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.
deliverability String Abstract's evaluation of the deliverability of the email. Possible values are: DELIVERABLE, UNDELIVERABLE, RISKY, and UNKNOWN
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.
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. Only available on paid plans. Will return null and UNKNOWN on free plans.
is_smtp_valid Boolean Is true is the SMTP check of the domain was successful. Only available on paid plans. Will return null and UNKNOWN on free plans.

Detailed documentation

You will find additional information and request examples in the Abstract help page.

Getting help

If you need help installing or using the library, please contact Abstract's Support.

For bug report and feature suggestion, please use this repository issues page.

Contribution

Contributions are always welcome, as they improve the quality of the libraries we provide to the community.

Please provide your changes covered by the appropriate unit tests, and post them in the pull requests page.

Setup

To install the requirements, run:

python3 setup.py install --user

Once you implementer all your changes and the unit tests, run the following command to run the tests:

EMAIL_VAL_API_KEY=YYYYYY python3 tests/test_python_email_validation.py

Release files for abstract-python-email-validation 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for abstract-python-email-validation 1.0.0
File Size Uploaded
abstract_python_email_validation-1.0.0.tar.gz 4.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for abstract-python-email-validation 1.0.0
File Interpreter ABI Platform
abstract_python_email_validation-1.0.0-py3.9.egg Legacy Egg format - - Details
abstract_python_email_validation-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.5 kB

Release files / abstract_python_email_validation-1.0.0.tar.gz

Download URL abstract_python_email_validation-1.0.0.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b5edcce66f22ccc7678bbde97f362e373e3cba3a4ec390f621b43d73694441fb
BLAKE2b-256 checksum
How to use checksums
efa08d2cae8367a7d58d1bebedbe5ac7f33faf07cbb17f1d8f15d0ca8f347e6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

Release files / abstract_python_email_validation-1.0.0-py3.9.egg

Download URL abstract_python_email_validation-1.0.0-py3.9.egg
Size 5.7 kB
Tags Egg
SHA-256 checksum
How to use checksums
365b1acad8f2b92ebb66ca3ed2ab47b4840973ecc4c3176bfd9f2a7a5fe96a4e
BLAKE2b-256 checksum
How to use checksums
c1f69bc3569e6ba00aa61f9ee9b80a375aec5406e837c9b346498e268defde0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

Release files / abstract_python_email_validation-1.0.0-py3-none-any.whl

Download URL abstract_python_email_validation-1.0.0-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
006c510c515ff3d35b33c043b216835d48fd0a35ea30fc35b68f5ccc899dd81f
BLAKE2b-256 checksum
How to use checksums
766d7f692fb92bf0e386a088f997a602b62a600c01f67eb1635b5520910541d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

Release history Release notifications | RSS feed

This release

1.0.0 This release

3 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page