Email Reputation API
Popular APIs
Email Reputation API
Improve your delivery rates, clean your email lists, and block fraudulent users with Abstract’s industry-leading Email Reputation API.
GET
Email Reputation API
Getting Started
Abstract’s Email Reputation API requires only your unique API keyapi_key and a single email email:
Request parameters
string
required
Your unique API key. Note that each user has unique API keys for each of
Abstract’s APIs, so your Email Validation API key will not work for your IP
Geolocation API, for example.
String
required
The email address to validate.
Authentication Methods
The Email Reputation API supports multiple ways to authenticate your requests. You can use whichever method best fits your application.Query parameter (default)
Pass your API key as a query parameter. This is the simplest method and is shown in the Getting Started example above.Bearer token header
Instead of passingapi_key as a query parameter, you can send it in the Authorization header as a Bearer token. This keeps your API key out of URLs and server logs.
api_key from the query string — only the email parameter is needed.
POST Method
In addition to GET requests, you can send POST requests to the Email Reputation API. This is useful when you prefer to send parameters in the request body rather than the URL.POST with form-encoded data
Send bothapi_key and email as form-encoded fields in the request body:
POST with Bearer token and JSON body
Authenticate via theAuthorization header and send email in a JSON request body:
email field.
Response parameters
The API response is returned in a universal and lightweight JSON format.String
The email address you submitted for analysis.
String or Null
If a typo has been detected, this returns a suggestion of the correct email
(e.g.,
johnsmith@gmial.com => johnsmith@gmail.com). If no typo is detected,
this is null.String
Whether the email is considered
deliverable, undeliverable, or unknown.String
Additional detail on deliverability (e.g.,
inbox_full, full_mailbox, invalid_format).Boolean
Is
true if the email follows the correct format.Boolean
Is
true if the SMTP check was successful.Boolean
Is
true if the domain has valid MX records.Array[String]
List of MX records associated with the domain.
Float
Confidence score between 0.01 and 0.99 representing email quality.
Boolean
Is
true if the email is from a known free provider like Gmail or Yahoo.Boolean
Is
true if the username appears auto-generated or suspicious.Boolean
Is
true if the email is from a disposable email provider.Boolean
Is
true if the domain is configured to accept all emails.Boolean
Is
true if the email uses subaddressing (e.g., user+label@domain.com).Boolean
Is
true if the email is a role-based address (e.g., info@domain.com, support@domain.com).Boolean
Is
true if a strict DMARC policy is enforced on the domain.Boolean
Is
true if the domain enforces a strict SPF policy.Integer or Null
Estimated age of the email address in days, or
null if unknown.String or Null
First name associated with the email address, if available.
String or Null
Last name associated with the email address, if available.
String or Null
Name of the email provider (e.g., Google, Microsoft).
String or Null
Organization linked to the email or domain, if available.
String or Null
Type of organization (e.g.,
company).String
Domain part of the submitted email address.
Integer
Age of the domain in days.
Boolean
Is
true if the domain has a live website.String or Null
Name of the domain registrar.
String or Null
URL of the domain registrar.
Datetime
Date when the domain was registered.
Datetime
Last renewal date of the domain.
Datetime
Expiration date of the domain registration.
Boolean
Is
true if the domain uses a top-level domain associated with risk.String
Risk status of the email address:
low, medium, or high.String
Risk status of the domain:
low, medium, or high.Integer
Total number of data breaches involving this email.
Datetime
Date of the first known breach.
Datetime
Date of the most recent breach.
Array[Object]
List of breached domains including:
String
Domain affected by the breach.
Datetime
Date when the breach occurred.
Request examples
Checking 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 theis_format_valid check, then the other checks will not be performed and will be returned as false
Possible values for status_detail
This field provides more information about the deliverability result.When status is deliverable:
- valid_email: The email address exists, is valid, and can receive new emails.
- high_traffic_email: The email is valid and exists, but the server is receiving too many messages. Your email might bounce.
When status is undeliverable:
- invalid_mailbox: The email address doesn’t exist or is no longer active. It can’t receive new emails.
- full_mailbox: The email exists but its mailbox is full, so new emails will bounce.
- invalid_format: The email doesn’t follow the correct format (e.g., missing
@or domain). - dns_record_not_found: We couldn’t find MX records for the domain, so we couldn’t complete the SMTP check.
- unavailable_server: The mail server for the domain is currently unreachable.
Bulk upload (CSV)
Don’t know how to or don’t want to make API calls? Use the bulk CSV uploader to easily use the API. The results will be sent to your email when ready. Here are some best practices when bulk uploading a CSV file:- Ensure the selected column contains the email addresses to be analyzed.
- Remove any empty rows from the file.
- Include only one email address per row.
- The maximum file size permitted is 50,000 rows.