Email Checker API

Please register for an account to access your personal API key.
Once you sign in, you can access your API key by navigating to: Verify Emails > API Email Verifier.

Our Email Verifier API is an easy to use endpoint which enables you to check email addresses inside any website, app and even some 3rd party software.

The API can be accessed via both GET and POST requests and will respond in jSON by default. If you prefer an XML response please send “xml=true” along with your requests.

The API will consume credits upon 3 events only “mailboxExists”, “mailboxDoesNotExist” and “mailboxIsFull”. These events are accuracy guaranteed and thus will consume 1 credit when tested. All other events are processed for free and will not consume any credits.

API Responses

Status, Event and Details Breakdown

<…> “status
The status of the email address verification test.

<…> “event”
The event encountered during the verification test.

<…> “details”
The detailed explanation of the verification test results.

<…> “email”
The email address that was tested.

<…> “emailSuggested”
The email was found to contain a typo, this will contain the most likely intended email address.

<…> “mailbox”
The mailbox that was tested.

<…> “domain”
The domain that was tested.

<…> “mxIp”
The IP address of the mail server that was tested.

<…> “mxLocation”
The location of the mail server that was tested.

<…> “isComplainer”
The email address is a frequent complainer.

<…> “isDisposable”
The email address is a disposable address.

<…> “isFreeService”
The email address is a free email account.

<…> “isOffensive”
The email address contains offensive words.

<…> “isRoleAccount”
The email address is a role account.

<…> “remaining”
The amount of verifications remaining in your account balance.

<…> “execution”
The amount of time taken to test the email address in milliseconds.

status=”deliverable”
Deliverable means the email address that was tested has passed all tests and is considered safe to send as it will not result in a bounce.

-event=”mailboxExists”
The mailbox exists and can receive email.

status=”undeliverable”
Deliverable means the email address that was tested has passed all tests and is considered safe to send as it will not result in a bounce.

-event=”mailboxDoesNotExist”
The mailbox does not exist and can not receive email.

-event=”mailboxIsFull”
The mailbox is full and can not receive email.

-event=”invalidSyntax”
The address is not in a valid format according to RFC standards.

-event=”domainDoesNotExist”
The domain does not exist or DNS is misconfigured.

-event=”mxServerDoesNotExist”
The domain does not include a mailserver in it’s DNS and therefore cannot handle email.

-event=”possibleSpamtrap”
The address is possibly a spamtrap/honeypot and should not be sent any email.

-event=”isBlacklist-SOURCE”
The address was found inside one of your blacklists, the source tells you which blacklist contains the address.

status=”unverifiable”
Unverifiable means the email address is currently unable to be accurately verified and therefore we can not determine if the address is Deliverable or Undeliverable.

-event=”isCatchall”
A catchall mail server is configured to accept email regardless if the mailbox exists or not, rendering the test inaccurate.

-event=”isGreylisting”
A greylisting mail server is configured to deploy an anti-spam technique which adds an automatic delay to mailing and is not compatible with Email Checker tests.

-event=”transientError”
A transient error is a temporary network error which may be the result of high mail server load, mail server misconfiguration or even forceful disconnects. We suggest to retry all transient error addresses at a later time allowing the mail server to regain its functionality.

PHP Example

The basic example provided uses PHP and CURL to perform a GET request and verify a email address.

<?php

// set the api key and email to be validated
$apiKey = 'YOUR-API-KEY-HERE';
$email = 'example@email.com';

// use curl to make the request
$url = 'https://cloud1.emailchecker.io/api/verify/?apiKey='.$apiKey.'&email='.urlencode($email);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); 
curl_setopt($ch, CURLOPT_TIMEOUT, 15); 
$response = curl_exec($ch);
curl_close($ch);

// decode the json response
$json = json_decode($response, true);

// if status is failed, alert the user they entered an invalid email
if($json['status'] == 'failed'){
// send alert
}

?>

C# Example

The basic example provided is a simple console app but it can be adapted into an ASP.NET MVC.NET web page to verify a email address.

using System;
using System.Diagnostics;
using System.Net;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string emailValidate = "example@email.com";
        string apiKey = "YOUR-API-KEY-HERE";
        string serviceUri = "https://cloud1.emailchecker.io/api/verify/";
        string post_data = "apiKey=" + apiKey + "&email=" + emailValidate;

        // create a request
        HttpWebRequest request = (HttpWebRequest)
        WebRequest.Create(serviceUri); 
        request.Method = "POST";

        // turn our request string into a byte stream
        byte[] postBytes = System.Text.Encoding.ASCII.GetBytes(post_data);

        // this is important - make sure you specify type this way
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = postBytes.Length;
        Stream requestStream = request.GetRequestStream();

        // now send it
        requestStream.Write(postBytes, 0, postBytes.Length);
        requestStream.Close();

        // grab the response and print it out to the console
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        Console.WriteLine(new StreamReader(response.GetResponseStream()).ReadToEnd());
        Console.ReadLine();
    }
}

Google GoLang Example

The basic example provided uses GoLang to perform a GET request and verify a email address.

package main

import (
	"fmt"
	"io/ioutil"
	"log"
	"net/http"
	"net/url"
)

func main() {
	var email string = "example@email.com"
	var apiKey string = "YOUR-API-KEY-HERE"

	// Use http.get to make the request

	res, err := http.PostForm("https://cloud1.emailchecker.io/api/verify/", url.Values{"apiKey": {apiKey}, "email": {email}})
	if err != nil {
		log.Fatal(err)
	}
	defer res.Body.Close()
	jsonFromHTTP, err := ioutil.ReadAll(res.Body)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println(string(jsonFromHTTP))

}

Ruby Example

The basic example provided uses net/http to make the request and parse the jSON response.

require 'net/http'
require 'json'

url = 'https://cloud1.emailchecker.io/api/verify/?apiKey=YOUR-API-KEY-HERE&email=[EMAIL-TO-VERIFY]'
uri = URI(url)
response = Net::HTTP.get(uri)
JSON.parse(response)

Google Sheets Example

The basic example provided is a simple IMPORTXML function that can verify a email address. Please note, it is advised to copy the verification results to a new spreadsheet for saving, as Google will occasionally rerun the ImportXML function unexpectedly when the spreadsheet is opened and reprocess all of your previously validated addresses. Email Checker will not honor refund requests in the instance of consumed credits due to reprocessing.

=IMPORTXML("https://cloud1.emailchecker.io/api/verify/?apiKey=YOUR-API-KEY-HERE&xml=true&email="&[CELL-CONTAINING-EMAIL-TO-VERIFY];"//emailChecker") 

Microsoft Excel Example

The basic example provided is a simple VBA Macro using an IMPORTXML function which can be added via Excel’s programming tab to verify a email address.

//ImportXML Module to add via Excel's programming tab. 
Function ImportXML(url As String, query As String)
    Dim document    As MSXML2.DOMDocument60
    Dim http        As New MSXML2.XMLHTTP60
    http.Open "GET", url, False
    http.send
    Set document = http.responseXML
    ImportXML = document.SelectSingleNode(query).nodeTypedValue
End Function 

//ImportXML Module Syntax to verify an email address
=ImportXML("https://cloud1.emailchecker.io/api/verify/?apiKey=YOUR-API-KEY-HERE&xml=true&email=[EMAIL-TO-VERIFY]";"emailChecker") 

Interested in implementing our API into your website, app or software?