Email Verification API
This API requires authentication. See Authentication Overview for details on using API key + secret or OAuth2 bearer tokens.
The Email Verification API takes an email address (potentially containing spelling mistakes and/or other errors) and validates the syntax, the existence and availability of the domain, the existence of the email account, and returns a verified state and other metadata.
Parameters
Endpoint
Globalhttps://api.addressfinder.io/api/email/v1/verification
| Parameter | Description | Test Value |
|---|---|---|
key | Your unique licence key (find on Portal credentials) Type: string required | |
format | The required format of the response. Default value: Type: jsonstring | |
email | The email to be verified. Type: string | |
domain | Used to identify which of your services is calling the API for activity monitoring purposes. This domain needs to be registered in the portal. Type: string | |
features | A comma-separated list of parameters that controls the methods of verification to be completed. This will impact the query processing time and data returned in the response. Options:
Default value: Type: domain,connectionstring |
Responses
200 OK
| Name | Description | Example |
|---|---|---|
email_account | The first part of an email address, before the @Type: string | john.doe |
email_domain | The second part of the email address, after the @Type: string | addressfinder.com |
email_provider_domain | The underlying provider of the email service. Only populated if the features=provider parameter is provided. Type: string | google.com |
verified_email | The full verified email address Type: string | jane.smith@addressfinder.com |
is_verified | We did not find any reason to believe an email sent to the address provided would fail to reach the associated mailbox Type: boolean | true |
is_disposable | Identified as a disposable email address. Returned as null for format-only checks (features=format), which do not evaluate this attribute.Type: boolean | false |
is_role | The email account is for a group email. For example info@addressfinder.com. Returned as null for format-only checks (features=format), which do not evaluate this attribute.Type: boolean | false |
is_public | Identified as a public email provider. For example john.doe@gmail.com. Returned as null for format-only checks (features=format), which do not evaluate this attribute.Type: boolean | false |
is_catch_all | true if the email domain has a catch all policy and will accept mail sent to any address at that domain, false if the domain only accepts mail addressed to a specific mailbox. Returned as null when the status could not be determined, for example if the upstream mail server refused the connection or rate limited the check, and for format-only checks (features=format), which do not evaluate this attribute.Type: boolean | false |
not_verified_reason | A short human-readable description of why the email did not verify, corresponding to not_verified_code. null when the email verified.Type: string | - |
not_verified_code | A machine-readable code identifying why the email did not verify. null when the email verified. One of:FORMAT_INVALID: the email address syntax is invalid.DNS_RECORD_MISSING: the domain has no MX record, so it cannot receive email.SMTP_INVALID: the domain has no properly configured SMTP server.EMAIL_ACCOUNT_MISSING: the mailbox does not exist at the domain.MAILBOX_FULL: the mailbox exists but is full.Type: string | - |
deliverability | A graded confidence level for whether mail sent to this address will arrive, where is_verified is a single boolean. One of:DELIVERABLE: the mailbox exists and can receive mail.LIKELY_DELIVERABLE: probably deliverable, for example the domain accepts all addresses (catch-all) so the individual mailbox cannot be confirmed.UNLIKELY_DELIVERABLE: probably not deliverable, for example the mailbox is full.UNDELIVERABLE: the address cannot receive mail, because of an invalid format, a domain that cannot receive email, or a mailbox that does not exist.UNDETERMINED: we could not reach a conclusion, for example the mail provider temporarily blocked or rate-limited our check. Safe to retry later, and does not consume a verification lookup. Also returned as UNDETERMINED for format-only checks (features=format), which do not evaluate this attribute.Type: string | DELIVERABLE |
success | Indicates if the request was successful or not Type: boolean | true |
400 Bad request
| Name | Description | Example |
|---|---|---|
completions | An empty array will be returned due to the error Type: array | - |
error_code | A unique numerical value identifying the error that occured Type: string | 1004 |
message | An informative message describing the error that occured Type: string | Secret not provided |
success | Indicates if the request was successful or not Type: boolean | false |
See API Error Reference for details.
401 Unauthorized
| Name | Description | Example |
|---|---|---|
error_code | A unique numerical value identifying the error that occurred Type: string | 1030 |
message | An informative message describing the error that occurred. For error code 1030 this includes the token expiry time in UTC, for example "Token expired at 2026-08-24T05:15:57Z". Type: string | Token expired at 2026-08-24T05:15:57Z |
success | Indicates that the request was not successful Type: boolean | false |
See API Error Reference for details.