Verification Overview


FullContact’s Email Verification provides several ways in which we can provide data about the state and validity of an email. Email address verification is imperative for reliable email deliverability and identity resolution. By eradicating or correcting erroneous data at the source, ongoing marketing efforts become more responsive leading to a better return on investment.

Dramatically improve your email marketing performance, boost click-through rates and inbox deliverability stats, while protecting your sender reputation with our proven Email Verification solution.

There is one (1) endpoint on this API for email verification. The API delivers verification data in the Email Verification Object Format.

curl --location --request GET '[email protected]' \
--header 'X-FullContact-APIKey: FC_API_KEY'
  "status": 200,
  "requestId": "7654699e-9607-4db6-aff3-1533ff9dd3be",
  "emails": {
    "[email protected]": {
      "message": "Valid email address",
      "address": "[email protected]",
      "username": "chris.harrison",
      "domain": "",
      "corrected": false,
      "attributes": {
        "validSyntax": true,
        "deliverable": true,
        "catchall": true,
        "risky": false,
        "disposable": false
      "person": "[email protected]&apiKey=",
      "company": "",
      "sendSafely": true

Depending on your needs or preferences, FullContact can process your email lists on an adhoc basis and provide you with a complete breakdown of the results, usually within 24 hours.

Rate Limiting

All API requests are subject to rate limits that exist independently of your API key's monthly usage allowance. We track rate limits on a 60-second basis. For example, if your API is subject to a 10/second rate limit, we will allow you 600 requests per 60 second window. Our default rate limit is 600 QPM but should you need a higher rate limit contact our Sales team to get you setup. To make it easier for your application to determine if it is being rate limited, or if it is likely to be in the future, we have added the following HTTP headers to successful responses:

Rate Limit Headers
X-Rate-LimitThe rate limit ceiling for your request.
Example: 600
X-Rate-Limit-RemainingThe number of requests left in the 60-second window.
Example: 10
X-Rate-Limit-Reset The number of UTC epoch seconds remaining until the 60 second window resets.
Example: 20

Verification Object

Statusthe request status. 200 if successful (see error responses below)
requestIdan arbitrary request ID string for debugging
unknownEmailsan array of emails that cannot be verified due to configuration on the email server, or because the email server took too long to respond. The API will retry subsequent requests until a confirmed valid or invalid response is found.
failedEmailsan array of emails that cannot be verified due to an unknown error. Retryable but not guaranteed to be successful if requested again.
emailsa JSON object with all successful results of this email verification call. Each key is the email queried, and the associated object is the associated data. Only one field will be present in the single-email endpoint. The batch endpoint will have multiple fields (one for each email successfully processed).
messageA displayable string describing the state of the email.
addressThe email address that was processed. This is usually the queried email. However, if email auto-correct was able to detect an error, it will correct the email to this new format (e.g. “fullcontact.ocm” to “” in the example response). If this occurs, the corrected field will be true.
usernamethe inbox/username of the email.
domainthe domain hosting the email address.
correctedtrue if the email auto-correct feature has made a change to the email. See address.
sendSafelyAn aggregate of the attributes object. If true, to the best of our knowledge, an email sent to this email address will deliver to a real person and will not be used for malicious purposes.
attributesa set of lower-level attributes for fine-grained understanding of the state of this email
validSyntaxthe email address conforms to the most common interpretations of valid email address syntax (e.g. there is only one unescaped “@” symbol).
deliverableemails sent to this email address will not be bounced by the mail server. They will get delivered to some inbox.
catchallthe email server is configured to accept all emails at this domain even if the email address it is addressed to does not exist. This can make it hard to determine if an email address is actually valid, since a fake email hosted at this domain looks the same as a real email hosted at this domain.
riskythis email address is registered as a spamtrap or is associated with behavior where we do not recommend emailing it.
disposablethis email address is disposable. It may be a real email, but the recipient does not own it for long. (e.g.
persona link to the person API profile for this email.
companya link to the company API profile for this email domain. Not present for email addresses provided by free email services (e.g. yahoo, google...)

Did this page help you?