Email Verification API
Get Available Credits
Instantly get to know the available credits
GET
https://api.clearout.io/v2/email_verify/getcredits
curl -X GET 'https://api.clearout.io/v2/email_verify/getcredits' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN'
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"available_credits": 114563,
"credits": {
"available": 114563,
"subs": null,
"available_daily_verify_limit": null,
"reset_daily_verify_limit_date": "2019-03-04T18:30:00.000Z",
"total": 114563
},
"low_credit_balance_min_threshold": 50
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}
Instant Verify
Instant verification API can be seamlessly integrated into your signup or onboarding process with just a single request. Use this API to verify Email Address without going through queue
POST
https://api.clearout.io/v2/email_verify/instant
curl -X POST 'https://api.clearout.io/v2/email_verify/instant' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{ "email": "[email protected]" }'
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.clearout.io/v2/email_verify/instant',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{"email": "[email protected]"}',
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"Authorization: REPLACE_WITH_YOUR_API_TOKEN"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
$response = json_decode($response, true);
echo "Email address: " . $response['data']['email_address'] . "\n";
echo "Status: " . $response['data']['status'] . "\n";
}
?>
import java.io.*;
import java.util.*;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.util.EntityUtils;
import org.apache.http.client.HttpClient;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.json.JSONObject;
public class InstantVerifyExample {
public static void main(String[] args) {
try {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://api.clearout.io/v2/email_verify/instant");
post.setHeader("Content-Type", "application/json");
post.setHeader("Authorization","REPLACE_WITH_YOUR_API_TOKEN");
String payload = '{"email": "[email protected]"}';
StringEntity requestEntity = new StringEntity( payload, ContentType.APPLICATION_JSON);
post.setEntity(requestEntity);
HttpResponse response = client.execute(post);
JSONObject jsonResponse = new JSONObject(EntityUtils.toString(response.getEntity()));
JSONObject result = jsonResponse.getJSONObject("data");
System.out.println("Email address: " + result.getString("email_address"));
System.out.println("Status: " + result.getString("status"));
} catch(Exception e) {
System.out.println(e);
}
}
}
var request = require("request");
var options = {
method: 'POST',
url: 'https://api.clearout.io/v2/email_verify/instant',
headers: {
'Content-Type': 'application/json',
'Authorization': 'REPLACE_WITH_YOUR_API_TOKEN',
},
body: {
email: '[email protected]'
},
json: true
};
request(options, function (err, response, body) {
if (err) throw new Error(err);
console.log('Email address: ', body.data.email_address);
console.log('Status: ', body.data.status);
});
import requests
url = "https://api.clearout.io/v2/email_verify/instant"
payload = '{"email": "[email protected]"}'
headers = {
'Content-Type': "application/json",
'Authorization': "REPLACE_WITH_YOUR_API_TOKEN",
}
response = requests.request("POST", url, data=payload, headers=headers)
response = response.json()
print('Email address: ', response['data']['email_address'], '\n')
print('Status: ', response['data']['status'])
package main
import (
"fmt"
"io/ioutil"
"net/http"
"strings"
"encoding/json"
)
type HttpResponseData struct {
Data struct {
Email string `json:"email_address"`
Status string `json:"status"`
} `json:"data"`
}
func main() {
url := "https://api.clearout.io/v2/email_verify/instant"
payload := strings.NewReader(`{"email": "[email protected]"}`)
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "REPLACE_WITH_YOUR_API_TOKEN")
res, err := http.DefaultClient.Do(req)
if err != nil {
fmt.Println(err)
} else {
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
var response HttpResponseData
err = json.Unmarshal(body, &response)
if err != nil {
fmt.Println(err)
}
fmt.Println("Email address:", response.Data.Email)
fmt.Println("Status:", response.Data.Status)
}
}
using System;
using System.Text;
using System.Net.Http;
using System.Threading.Tasks;
using System.Net.Http.Headers;
namespace Clearout.Examples
{
class InstantVerifyExample
{
static HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
string jsonDataStr = "{\"email\":\"[email protected]\"}";
var postData = new StringContent(jsonDataStr, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer",
":" + "REPLACE_WITH_YOUR_API_TOKEN");
var response =
await client.PostAsync("https://api.clearout.io/v2/email_verify/instant", postData);
string result = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(result);
}
}
}
library('httr')
library('jsonlite')
res = POST(
"https://api.clearout.io/v2/email_verify/instant",
add_headers(
"Authorization" = "REPLACE_WITH_YOUR_API_TOKEN",
"Content-Type" = "application/json"
),
body = list(email = "[email protected]"),
encode = "json"
)
content = rawToChar(res$content)
data = fromJSON(content)
jsonData = toJSON(data, pretty = TRUE)
print(jsonData)
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
Parameter
Field | Type | Description |
---|---|---|
String | An email address to verify | |
timeout optional | Number | Request wait time (in milliseconds), Maximum allowed wait time should not exceed 180,000 milliseconds Default value: 130,000 |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"email_address": "[email protected]",
"safe_to_send": "yes",
"status": "valid",
"verified_on": "2019-05-02T18:12:53+05:30",
"time_taken": 432,
"sub_status": {
"code": 200,
"desc": "Success"
},
"detail_info": {
"account": "us",
"domain": "clearout.io",
"mx_record": "aspmx.l.google.com",
"smtp_provider": "gsuite"
},
"blacklist_info": [],
"disposable": "no",
"free": "no",
"role": "yes",
"gibberish": "no",
"suggested_email_address": "",
"profile": null,
"bounce_type": ""
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1017,
"message": "You have reached daily verify limit, please try next day or contact [email protected]"
}
}
HTTP/1.1 400 Bad Request
{
"status": "failed",
"error": {
"message": "validation failed",
"reasons": [
{
"field": [
"email"
],
"location": "body",
"messages": [
"\"email\" is required"
],
"types": [
"any.required"
]
}
]
}
}
HTTP/1.1 402 Payment Required
{
"status": "failed",
"error": {
"code": 1002
"message": "You have exhausted your credits, please add additional credits to continue"
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}
HTTP/1.1 429 OK
{
"status": "failed",
"error": {
"message": "You have reached API rate limit, try calling after Fri Jul 10 2020 10:59:19 GMT+0530 (IST) or to increase limit upgrade plan or reach [email protected]"
}
}
HTTP/1.1 524 A Timeout Occurred
{
"status": "failed",
"error": {
"message": "Timeout Occurred",
"additional_info": {
"resource_name": "email"
"resource_value": "[email protected]"
}
}
}
Bulk Verify
Use bulk verify to upload your contact lists, request will be put on queue and at any point you can check the status of your request using Bulk Verify Progress Status API
POST
https://api.clearout.io/v2/email_verify/bulk
curl -X POST 'https://api.clearout.io/v2/email_verify/bulk' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN' \
-H 'Content-Type: multipart/form-data' \
-F file=@/Users/clearout/Downloads/email_verify.xlsx
<?php
$curl = curl_init();
$file_name_with_full_path = "REPLACE_WITH_YOUR_FILE_PATH";
if (function_exists('curl_file_create')) { // php 5.5+
$cFile = curl_file_create($file_name_with_full_path);
} else { //
$cFile = '@' . realpath($file_name_with_full_path);
}
$post = array('file'=> $cFile);
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.clearout.io/v2/email_verify/bulk',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $post,
CURLOPT_HTTPHEADER => array(
"Content-Type: multipart/form-data",
"Authorization: REPLACE_WITH_YOUR_API_TOKEN"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
?>
import java.util.*;
import java.io.*;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import org.apache.http.client.HttpClient;
import org.apache.http.entity.ContentType;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.client.methods.CloseableHttpResponse;
public class BulkVerifyExample {
public static void main(String[] args) {
try{
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost uploadFile = new HttpPost("https://api.clearout.io/v2/email_verify/bulk");
uploadFile.setHeader("Authorization"," REPLACE_WITH_YOUR_API_TOKEN");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
File f = new File("REPLACE_WITH_YOUR_FILE_PATH");
builder.addBinaryBody(
"file",
new FileInputStream(f),
ContentType.APPLICATION_OCTET_STREAM,
f.getName()
);
HttpEntity multipart = builder.build();
uploadFile.setEntity(multipart);
CloseableHttpResponse response = httpClient.execute(uploadFile);
System.out.println(EntityUtils.toString(response.getEntity()));
} catch(Exception e) {
System.out.println(e);
}
}
}
var request = require("request");
var fs = require("fs")
var options = {
method: "POST",
url: "https://api.clearout.io/v2/email_verify/bulk",
headers: {
"Content-Type": "multipart/form-data",
"Authorization": 'REPLACE_WITH_YOUR_API_TOKEN'
},
formData : {
"file" : fs.createReadStream("REPLACE_WITH_YOUR_FILE_PATH")
}
};
request(options, function (err, res, body) {
if(err) throw new Error(err);
console.log(body);
});
import requests
url = "https://api.clearout.io/v2/email_verify/bulk"
filepath = "REPLACE_WITH_YOUR_FILE_PATH"
files = {"file": open(filepath, "rb")}
headers = {
'Authorization': "REPLACE_WITH_YOUR_API_TOKEN",
}
response = requests.request( "POST",url, files=files, verify=False, headers=headers)
print(response.text)
library('httr')
library('jsonlite')
res = POST(
"https://api.clearout.io/v2/email_verify/bulk",
add_headers(
"Authorization" = "REPLACE_WITH_YOUR_API_TOKEN",
"Content-Type" = "multipart/form-data"
),
body = list(file = upload_file("REPLACE_WITH_YOUR_FILE_PATH")),
encode = "multipart",
verbose()
)
content = rawToChar(res$content)
data = fromJSON(content)
jsonData = toJSON(data, pretty = TRUE)
print(jsonData)
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
Parameter
Field | Type | Description |
---|---|---|
file | Object | Supported file extensions are *.xlsx, *.csv |
optimize optional | String | Can be either 'highest_accuracy' or 'fastest_turnaround'. If not specified by default 'highest_accuracy' |
ignore_duplicate_file optional | String | Whether to allow file with the same name and size that match with your recent upload. If not specified by default 'false' |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"list_id": "5c60eb454506101c9d2f7b17"
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1001,
"message": "You have reached the maximum number of bulk verify requests, please try after the existing request completes or contact [email protected]"
}
}
HTTP/1.1 400 Bad Request
{
"status": "failed",
"error": {
"message": "validation failed",
"reasons": [
{
"field": [
"file"
],
"messages": [
"Invalid file format, support file formats - ['csv', 'xlsx']"
],
"types": [
"any.required"
]
}
]
}
}
HTTP/1.1 402 Payment Required
{
"status": "failed",
"error": {
"code": 1002
"message": "You have exhausted your credits, please add additional credits to continue"
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1017,
"message": "You have reached daily verify limit, please try next day or contact [email protected]"
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 2043,
"message": "Duplicate file not allowed, set ignore_duplicate_file=true to allow duplicate file",
"additional_info": {
"list_id": "5d076c8e3b53f9b0f3cf6abb"
}
}
}
Bulk Verify Progress Status
To know the overall progress status of bulk verify request
GET
https://api.clearout.io/v2/email_verify/bulk/progress_status
curl -X GET 'https://api.clearout.io/v2/email_verify/bulk/progress_status?list_id=5cc81d0589c374444f03a5a4' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN'
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
Parameter
Field | Type | Description |
---|---|---|
list_id | String | Pass the value of bulk verify list_id property from response object |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"progress_status": "completed",
"percentile": 100
}
}
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"progress_status": "running",
"percentile": 89
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1008,
"message": "You are not authorized to access this resource"
}
}
HTTP/1.1 400 Bad Request
{
"status": "failed",
"error": {
"message": "validation failed",
"reasons": [
{
"field": [
"list_id"
],
"location": "query",
"messages": [
"\"list_id\" is not allowed to be empty"
],
"types": [
"any.empty"
]
}
]
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1017,
"message": "You have reached daily verify limit, please try next day or contact [email protected]"
}
}
Bulk Verify Result Download
Bulk verify result download
POST
https://api.clearout.io/v2/download/result
curl -X POST 'https://api.clearout.io/v2/download/result' \
-H 'Content-Type: application/json' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN' \
-d '{"list_id": "5d076c8e3b53f9b0f3cf6abb"}'
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
Parameter
Field | Type | Description |
---|---|---|
list_id | String | Pass the value of bulk verify list_id property from response object |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"url": "https://clearout.s3.ap-south-1.amazonaws.com/5c6810bb82e2fc4ab21ce233/5c681d56cc56176d10d78f31/results/test3_clearout_results.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJXBOVX5Q2EULDUIA%2F20190218%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20190218T050528Z&X-Amz-Expires=300&X-Amz-Sig"
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1029,
"message": "List is not available"
}
}
HTTP/1.1 400 Bad Request
{
"status": "failed",
"error": {
"message": "validation failed",
"reasons": [
{
"field": [
"list_id"
],
"location": "body",
"messages": [
"\"list_id\" is required"
],
"types": [
"any.required"
]
}
]
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1007,
"message": "Result file got expired, contact [email protected]"
}
}
HTTP/1.1 402 Payment Required
{
"status": "failed",
"error": {
"code": 1002
"message": "You have exhausted your credits, please add additional credits to continue",
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}
Bulk Verify Cancel
Cancel running bulk verify contact list
POST
https://api.clearout.io/v2/email_verify/list/cancel
curl -X POST 'https://api.clearout.io/v2/email_verify/list/cancel' \
-H 'Content-Type: application/json' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN' \
-d '{"list_id": "5d076c8e3b53f9b0f3cf6abb"}'
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
Parameter
Field | Type | Description |
---|---|---|
list_id | String | Pass the value of bulk verify list_id property from response object |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
name: "email_verify.xlsx",
source: "upload",
created_on: "2022-09-22T09:49:13.472Z"
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1116,
"message": "List is not in the cancellable stage"
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1029,
"message": "List is not available"
}
}
HTTP/1.1 400 Bad Request
{
"status": "failed",
"error": {
"message": "validation failed",
"reasons": [
{
"field": [
"list_id"
],
"location": "body",
"messages": [
"\"list_id\" is required"
],
"types": [
"any.required"
]
}
]
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1007,
"message": "Result file got expired, contact [email protected]"
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}
Bulk Verify Removal
Remove your bulk verified contact list
POST
https://api.clearout.io/v2/email_verify/list/remove
curl -X POST 'https://api.clearout.io/v2/email_verify/list/remove' \
-H 'Content-Type: application/json' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN' \
-d '{"list_id": "5d076c8e3b53f9b0f3cf6abb"}'
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
Parameter
Field | Type | Description |
---|---|---|
list_id | String | Pass the value of bulk verify list_id property from response object |
ignore_result optional | Boolean | Set this value to true when download request is in progress, otherwise list removal will be denied. If not specified by default false |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
name: "email_verify.xlsx",
source: "upload",
created_on: "2022-05-16 10:41:30.427Z"
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1029,
"message": "List is not available"
}
}
HTTP/1.1 400 Bad Request
{
"status": "failed",
"error": {
"message": "validation failed",
"reasons": [
{
"field": [
"list_id"
],
"location": "body",
"messages": [
"\"list_id\" is required"
],
"types": [
"any.required"
]
}
]
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1007,
"message": "Result file got expired, contact [email protected]"
}
}
HTTP/1.1 402 Payment Required
{
"status": "failed",
"error": {
"code": 1002
"message": "You have exhausted your credits, please add additional credits to continue",
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}
Catch-All Verify
Verify email address for Catch-All, since certain servers accept all the emails for that domain and never bounces it back to the sender, those email addresses are flagged as catch-all emails
POST
https://api.clearout.io/v2/email/verify/catchall
curl -X POST 'https://api.clearout.io/v2/email/verify/catchall' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{ "email": "[email protected]" }'
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
Parameter
Field | Type | Description |
---|---|---|
String | An email address to verify for catchall | |
timeout optional | Number | Request wait time (in milliseconds), Maximum allowed wait time should not exceed 110000 milliseconds Default value: 90000 |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"email_address": "[email protected]",
"catchall": "yes", // Values may be one of ["yes" | "no"]
"verified_on": "2019-08-24T20:20:51+05:30",
"time_taken": 38
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1017,
"message": "You have reached daily verify limit, please try next day or contact [email protected]"
}
}
HTTP/1.1 400 Bad Request
{
"status": "failed",
"error": {
"message": "validation failed",
"reasons": [
{
"field": [
"email"
],
"location": "body",
"messages": [
"\"email\" is required"
],
"types": [
"any.required"
]
}
]
}
}
HTTP/1.1 402 Payment Required
{
"status": "failed",
"error": {
"code": 1002
"message": "You have exhausted your credits, please add additional credits to continue",
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}
HTTP/1.1 524 A Timeout Occurred
{
"status": "failed",
"error": {
"message": "Timeout Occurred",
"additional_info": {
"resource_name": "email"
"resource_value": "[email protected]"
}
}
}
Disposable Verify
Verify email address for Disposable, generally these email addresses live for short period of time and used for account activation or confirmation emails for sites like forums, e-shopping etc. so it is highly recommended not to send email to disposable addresses
POST
https://api.clearout.io/v2/email/verify/disposable
curl -X POST 'https://api.clearout.io/v2/email/verify/disposable' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{ "email": "[email protected]" }'
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
Parameter
Field | Type | Description |
---|---|---|
String | An email address to verify for catchall | |
timeout optional | Number | Request wait time (in milliseconds), Maximum allowed wait time should not exceed 110000 milliseconds Default value: 90000 |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"email_address": "[email protected]",
"disposable": "yes",
"verified_on": "2019-08-24T20:20:51+05:30",
"time_taken": 38
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1017,
"message": "You have reached daily verify limit, please try next day or contact [email protected]"
}
}
HTTP/1.1 400 Bad Request
{
"status": "failed",
"error": {
"message": "validation failed",
"reasons": [
{
"field": [
"email"
],
"location": "body",
"messages": [
"\"email\" is required"
],
"types": [
"any.required"
]
}
]
}
}
HTTP/1.1 402 Payment Required
{
"status": "failed",
"error": {
"code": 1002
"message": "You have exhausted your credits, please add additional credits to continue",
}
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}
Business Account Verify
Verify email address belongs to business (a.k.a work) account
POST
https://api.clearout.io/v2/email/verify/business
curl -X POST 'https://api.clearout.io/v2/email/verify/business' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{ "email": "[email protected]" }'
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
Parameter
Field | Type | Description |
---|---|---|
String | An email address to verify for catchall | |
timeout optional | Number | Request wait time (in milliseconds), Maximum allowed wait time should not exceed 110000 milliseconds Default value: 90000 |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"email_address": "[email protected]",
"business_account": "yes",
"verified_on": "2019-08-24T20:20:51+05:30",
"time_taken": 38
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1017,
"message": "You have reached daily verify limit, please try next day or contact [email protected]"
}
}
HTTP/1.1 400 Bad Request
{
"status": "failed",
"error": {
"message": "validation failed",
"reasons": [
{
"field": [
"email"
],
"location": "body",
"messages": [
"\"email\" is required"
],
"types": [
"any.required"
]
}
]
}
}
HTTP/1.1 402 Payment Required
{
"status": "failed",
"error": {
"code": 1002
"message": "You have exhausted your credits, please add additional credits to continue",
}
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}
Free Account Verify
Verify email address for free mail service such as Gmail, Yahoo!, AOL, Mail.ru etc. In many cases, it is perfectly acceptable to send email to a user of a free email service. However, in certain contexts, businesses can receive better open/response rates when only sending to non-free / business email addresses
POST
https://api.clearout.io/v2/email/verify/free
curl -X POST 'https://api.clearout.io/v2/email/verify/free' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{ "email": "[email protected]" }'
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
Parameter
Field | Type | Description |
---|---|---|
String | An email address to verify for catchall | |
timeout optional | Number | Request wait time (in milliseconds), Maximum allowed wait time should not exceed 110000 milliseconds Default value: 90000 |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"email_address": "[email protected]",
"free_account": "yes",
"verified_on": "2019-08-24T20:20:51+05:30",
"time_taken": 38
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1017,
"message": "You have reached daily verify limit, please try next day or contact [email protected]"
}
}
HTTP/1.1 400 Bad Request
{
"status": "failed",
"error": {
"message": "validation failed",
"reasons": [
{
"field": [
"email"
],
"location": "body",
"messages": [
"\"email\" is required"
],
"types": [
"any.required"
]
}
]
}
}
HTTP/1.1 402 Payment Required
{
"status": "failed",
"error": {
"code": 1002
"message": "You have exhausted your credits, please add additional credits to continue",
}
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}
Role Account Verify
Verify email address for role account, typically these addresses are associated with a role or group (postmaster, support, sales, etc.) account instead of a person. In some instances, mailing to a role address can lead to a decreased open rate and is generally advised against while sending an email
POST
https://api.clearout.io/v2/email/verify/role
curl -X POST 'https://api.clearout.io/v2/email/verify/role' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{ "email": "[email protected]" }'
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
Parameter
Field | Type | Description |
---|---|---|
String | An email address to verify for catchall | |
timeout optional | Number | Request wait time (in milliseconds), Maximum allowed wait time should not exceed 110000 milliseconds Default value: 90000 |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"email_address": "[email protected]",
"role_account": "yes",
"verified_on": "2019-08-24T20:20:51+05:30",
"time_taken": 38
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1017,
"message": "You have reached daily verify limit, please try next day or contact [email protected]"
}
}
HTTP/1.1 400 Bad Request
{
"status": "failed",
"error": {
"message": "validation failed",
"reasons": [
{
"field": [
"email"
],
"location": "body",
"messages": [
"\"email\" is required"
],
"types": [
"any.required"
]
}
]
}
}
HTTP/1.1 402 Payment Required
{
"status": "failed",
"error": {
"code": 1002
"message": "You have exhausted your credits, please add additional credits to continue",
}
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}
Gibberish Account Verify
Verify email address for gibberish account, typically these addresses are not used by the genuine users, so its highly adviceable not to accept such email addresses
POST
https://api.clearout.io/v2/email/verify/gibberish
curl -X POST 'https://api.clearout.io/v2/email/verify/gibberish' \
-H 'Authorization: REPLACE_WITH_YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{ "email": "[email protected]" }'
Header
Field | Type | Description |
---|---|---|
Content-Type | String | Default value: application/json |
Authorization | String | Default value: REPLACE_WITH_YOUR_API_TOKEN |
Parameter
Field | Type | Description |
---|---|---|
String | An email address to verify for gibberish | |
timeout optional | Number | Request wait time (in milliseconds), Maximum allowed wait time should not exceed 110000 milliseconds Default value: 90000 |
HTTP/1.1 200 OK
{
"status": "success",
"data": {
"email_address": "[email protected]",
"gibberish": "yes",
"verified_on": "2019-08-24T20:20:51+05:30",
"time_taken": 38
}
}
HTTP/1.1 200 OK
{
"status": "failed",
"error": {
"code": 1017,
"message": "You have reached daily verify limit, please try next day or contact [email protected]"
}
}
HTTP/1.1 400 Bad Request
{
"status": "failed",
"error": {
"message": "validation failed",
"reasons": [{
"field": [
"email"
],
"location": "body",
"messages": [
"\"email\" is required"
],
"types": [
"any.required"
]
}]
}
}
HTTP/1.1 402 Payment Required
{
"status": "failed",
"error": {
"code": 1002
"message": "You have exhausted your credits, please add additional credits to continue",
}
}
}
HTTP/1.1 401 Unauthorized
{
"status": "failed",
"error": {
"code": 1000,
"message": "Invalid API Token, please generate new token"
}
}