RESTful API v2 Documentation
Access our real-time 16-point verification engine via GET or POST. We respond in JSON by default. For XML, append &xml=true to your request.
https://emailverifierapi.com/v2/
Status, Event and Details Responses
| Status | Event | Details Response |
|---|---|---|
| passed | mailboxExists Paid |
The mailbox exists. |
| failed | mailboxDoesNotExist Paid |
The mailbox does not exist. |
mailboxIsFull Paid | The mailbox is full. | |
domainDoesNotExist Free | The domain does not exist. | |
mxServerDoesNotExist Free | The mail server does not exist. | |
invalidSyntax Free | The address is not in a valid format. | |
| unknown | isCatchall Free |
The mail server is catchall enabled. |
isGreylisting Free | The mail server is greylisting enabled. | |
| transient | transientError Free |
A transient error occured. Please try again later. |
Intelligence & Meta Data (Enrichment)
Beyond the delivery status, every response includes these deep-intelligence fields to help you score leads and analyze server infrastructure. These do not affect billing.
| Field Name | Type | Description & Logic |
|---|---|---|
mxIp |
String | The IPv4 address of the mail server. Useful for infrastructure blacklisting. |
mxLocation |
String | The ISO country code (e.g., "US", "DE") where the mail server is physically hosted. |
possibleSpamtrap |
Boolean | Identifies "honeypots" and recycled addresses that damage sender reputation. |
isComplainer |
Boolean | Flags users with a high statistical frequency of marking emails as "Spam." |
isDisposable |
Boolean | Checks against 50,000+ burner providers (e.g., 10Minutemail) used for trial fraud. |
isFreeService |
Boolean | Identifies B2C addresses (Gmail, Yahoo, etc.) to help segment B2B lead quality. |
isOffensive |
Boolean | Scans the address for profanity or high-risk keywords to protect brand safety. |
isRoleAccount |
Boolean | Flags departmental aliases (info@, sales@, support@) rather than individuals. |
isGibberish |
Boolean | ML-logic that detects automated "keyboard smash" signups (e.g., asdf123@...). |
PHP Integration (cURL)
<?php
$apiKey = 'YOUR-API-KEY';
$email = 'example@email.com';
$url = 'https://emailverifierapi.com/v2/?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);
$json = json_decode($response, true);
if($json['status'] == 'failed'){ /* Send alert */ }
?>
Node.js Integration
const axios = require('axios');
const apiKey = 'YOUR-API-KEY';
const email = encodeURIComponent('example@email.com');
axios.get(`https://emailverifierapi.com/v2/?apiKey=${apiKey}&email=${email}`)
.then(res => console.log(res.data))
.catch(err => console.error(err));
Python Integration
import requests
api_key = 'YOUR-API-KEY'
email = 'example@email.com'
res = requests.get(f'https://emailverifierapi.com/v2/?apiKey={api_key}&email={email}')
print(res.json())
Ruby Integration
require 'net/http'
require 'json'
url = URI("https://emailverifierapi.com/v2/?apiKey=YOUR-KEY&email=test@email.com")
res = Net::HTTP.get(url)
puts JSON.parse(res)
GoLang Integration
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
)
func main() {
apiKey := "YOUR-API-KEY"; email := "example@email.com"
res, _ := http.PostForm("https://emailverifierapi.com/v2/",
url.Values{"apiKey": {apiKey}, "email": {email}})
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(string(body))
}
C# (.NET) Integration
string post_data = "apiKey=" + apiKey + "&email=" + email;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://emailverifierapi.com/v2/");
request.Method = "POST";
byte[] postBytes = System.Text.Encoding.ASCII.GetBytes(post_data);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postBytes.Length;
using (Stream s = request.GetRequestStream()) { s.Write(postBytes, 0, postBytes.Length); }
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(new StreamReader(response.GetResponseStream()).ReadToEnd());