v1

latestOpenAPI 3.1.0MIT2026-08-0652106151.4 KB
email-validator

Validate single email address

Validate singleemail adddress.

post/emailvalidation/validateEmail

Request body

emailstring email required

email address to validate

Example request

{
  "email": "developer@yourcompany.com"
}

Response

Sucess

Details of validated email address.

Note: Make sure to check the complete "status" and "sub_status" properties documentation from the schema.

emailstring email required

Email address. May contain invalid formats (e.g., '@') when validation fails, to show what was submitted.

status'valid' | 'invalid' | 'catch_all' | 'unknown' | 'spamtrap' | 'abuse' | 'do_not_mail'

The status of the email address you are validating.

DELIVERABILITY STATUS EXPLANATION

valid: These are emails that were determined to be valid and safe to email to, they will have a very low bounce rate of under 2%. If you receive bounces it can be because your IP might be blacklisted where our IP was not. Sometimes the email accounts exist, but they are only accepting mail from people in their contact lists. Sometimes you will get throttle on number of emails you can send to a specific domain per hour. It's important to look at the SMTP Bounce codes to determine why.

invalid: These are emails that were determined to be invalid, please delete them from your mailing list.

catch-all: These emails are impossible to validate without sending a real email and waiting for a bounce. The term Catch-all means that the email server tells you that the email is valid, whether it's valid or invalid. If you want to email these addresses, we suggest you segment them into a catch-all group and be aware that some of these will most likely bounce.

spamtrap: These emails are believed to be spamtraps and should not be mailed. We have technology in place to determine if certain emails should be classified as spamtrap. We don't know all the spamtrap email addresses, but we do know a lot of them.

abuse: These emails belong to people who are known to click the abuse links in emails, hence abusers or complainers. We recommend not emailing these addresses.

do_not_mail: These emails belong to companies, role-based, or people you just want to avoid emailing to. They are broken down into 6 sub-categories "disposable","toxic", "role_based", "role_based_catch_all", "global_suppression" and "possible_trap". You should decide if you want to email these address. They are valid email addresses, but shouldn't be mailed in most cases.

unknown: These emails we weren't able to validate for one reason or another. Typical cases are "Their mail server was down" or "the anti-spam system is blocking us". In most cases, 80% unknowns are invalid/bad email addresses.

sub_status'' | 'antispam_system' | 'greylisted' | 'mail_server_temporary_error' | 'forcible_disconnect' | 'mail_server_did_not_respond' | 'timeout_exceeded' | 'failed_smtp_connection' | 'mailbox_quota_exceeded' | 'exception_occurred' | 'possible_trap' | 'role_based' | 'global_suppression' | 'mailbox_not_found' | 'no_dns_entries' | 'failed_syntax_check' | 'possible_typo' | 'unroutable_ip_address' | 'leading_period_removed' | 'does_not_accept_mail' | 'alias_address' | 'role_based_catch_all' | 'disposable' | 'toxic'

The sub-status of the email address you are validating.

alias_address: (valid) These emails addresses act as forwarders/aliases and are not real inboxes, for example if you send an email to forward@example.com and then the email is forwarded to realinbox@example.com. It's a valid email address and you can send to them, it's just a little more information about the email address. We can sometimes detect alias email addresses and when we do we let you know.

antispam_system: (unknown) These emails have anti-spam systems deployed that are preventing us from validating these emails.

does_not_accept_mail: (invalid) These domains only send mail and don't accept incoming mail.

exception_occurred: (unknown) These emails caused an exception when validating.

failed_smtp_connection: (unknown) These emails belong to a mail server that won't allow an SMTP connection. Most of the time, these emails will end up being invalid.

failed_syntax_check: (Invalid) Emails that fail RFC syntax protocols

forcible_disconnect: (Unknown) These emails belong to a mail server that disconnects immediately upon connecting. Most of the time, these emails will end up being invalid. global_suppression: (do_not_mail) These emails are found in many popular global suppression lists (GSL), they consist of known ISP complainers, direct complainers, purchased addresses, domains that don't send mail, and known litigators.

greylisted: (Unknown) Emails where we are temporarily unable to validate them. A lot of times if you resubmit these emails they will validate on a second pass.

leading_period_removed: (valid) If a valid gmail.com email address starts with a period '.' we will remove it, so the email address is compatible with all mailing systems.

mail_server_did_not_respond- (unknown) These emails belong to a mail server that is not responding to mail commands. Most of the time, these emails will end up being invalid.

mail_server_temporary_error: (unknown) These emails belong to a mail server that is returning a temporary error. Most of the time, these emails will end up being invalid. mailbox_quota_exceeded: (invalid) These emails exceeded their space quota and are not accepting emails. These emails are marked invalid.

mailbox_not_found: (invalid) These emails addresses are valid in syntax, but do not exist. These emails are marked invalid.

no_dns_entries: (invalid) These emails are valid in syntax, but the domain doesn't have any records in DNS or have incomplete DNS Records. Therefore, mail programs will be unable to or have difficulty sending to them. These emails are marked invalid.

possible_trap: (do_not_mail) These emails contain keywords that might correlate to possible spam traps like spam@ or @spamtrap.com. Examine these before deciding to send emails to them or not.

possible_typo: (invalid) These are emails of commonly misspelled popular domains. These emails are marked invalid.

role_based: (do_not_mail) These emails belong to a position or a group of people, like sales@ info@ and contact@. Role-based emails have a strong correlation to people reporting mails sent to them as spam and abuse.

role_based_catch_all: (do_not_mail) These emails are role-based and also belong to a catch_all domain.

timeout_exceeded: (unknown) These emails belong to a mail server that is responding extremely slow. Most of the time, these emails will end up being invalid.

unroutable_ip_address: (invalid) These emails domains point to an un-routable IP address, these are marked invalid.

disposable: (do_not_mail) These are temporary emails created for the sole purpose to sign up to websites without giving their real email address. These emails are short lived from 15 minutes to around 6 months. There is only 2 values (True and False). If you have valid emails with this flag set to TRUE, you shouldn't email them.

toxic: (do_not_mail) These email addresses are known to be abuse, spam, or bot created emails. If you have valid emails with this flag set to TRUE, you shouldn't email them.

free_emailboolean

True if the email address comes from a free email service provider.

domainstring

The portion of the email address after the "@" symbol.

domain_age_daysinteger nullable

Age of the email domain in days or [null].

smtp_providerstring nullable

The SMTP Provider of the email or [null].

mx_foundboolean

True if the domain have an MX record.

mx_recordstring nullable

The preferred MX record of the domain or [null].

did_you_meanstring nullable

Suggestive Fix for an email typo or [null].

accountstring

The portion of the email address before the "@" symbol.

firstnamestring nullable

The first name of the owner of the email when available or [null].

lastnamestring nullable

The last name of the owner of the email when available or [null].

genderstring nullable

The gender of the owner of the email when available or [null].

countrystring nullable

The country of the IP passed in or [null]

regionstring nullable

The region/state of the IP passed in or [null]

citystring nullable

The city of the IP passed in or [null]

zipcodeinteger nullable

The zipcode of the IP passed in or [null]

processed_atstring

Example response

{
  "email": "username@gmail.com",
  "status": "valid",
  "free_email": true,
  "domain": "gmail.com",
  "domain_age_days": 9964,
  "smtp_provider": "google",
  "mx_found": true,
  "mx_record": "gmail-smtp-in.l.google.com",
  "did_you_mean": "the-user@gmail.com",
  "account": "username",
  "firstname": "Jhon",
  "lastname": "Doe",
  "gender": "female"
}