Verifying an Email

❗️

Use in the browser

The standard API is not suitable for use in client-side scripts (e.g. React, Angular, Vue, jQuery, and other Javascript frameworks). Using it directly in the browser would require exposing sensitive API credentials; giving anyone access to your account. Instead please use our Javascript Widget.

Our API can be seamlessly integrated into your signup or on-boarding process with just a single request from your back-end application.

To verify an email, simply use the request below, substituting your access_token and the email you want to verify.

curl --request POST\
  --url https://api.neverbounce.com/v4/single/check?key={api_key}&email={email}

📘

Read more about the single endpoint here.

{
  "status": "success",
  "result": "valid",
  "flags": [
    "has_dns",
    "has_dns_mx"
  ],
  "suggested_correction": "",
  "retry_token": "",
  "execution_time": 499
}

In the response, you’ll find the result parameter, this parameter will indicate the status of the email. View the different result codes here.

Point of Entry Use

A common scenario for using the single endpoint is to verify emails at the point of entry in web-forms; helping to keep your user base or newsletter list clean. At the point of entry, we suggest allowing valid, catchall (accept all / unverifiable), and unknown emails to proceed, while blocking only disposable and invalid emails. It is important to allow unknown results to proceed, as they may occur more frequently with the single endpoint than they do with bulk verification.

Additionally, we’ve found that with some smaller email hosts it is not uncommon to take several seconds (sometimes tens of seconds) to respond. It’s for this reason that we suggest enforcing a client side timeout of approximately 10 seconds in your HTTP request library (ie: Curl, Guzzle, Httparty, etc…) and treat any timeouts as unknowns.