Please enable JavaScript in your browser.


The Single Email Validation API does validation on a single email address and returns all the validation results in either JSON or XML format.

NOTE: You will get your API key when you sign up for any MailboxValidator API plans.

Go to your dashboard to retrieve your API key.


Request Parameters

Parameter Description
email (required) The email address to be validated.
key (required) API key.
format (optional) Return the result in json (default) or xml format.
Valid values: json | xml

Response Parameters

Parameter Description
email_address The input email address.
domain The domain of the email address.
is_free Whether the email address is from a free email provider like Gmail or Hotmail.
Return values: True, False
is_syntax Whether the email address is syntactically correct.
Return values: True, False
is_domain Whether the email address has a valid MX record in its DNS entries.
Return values: True, False, -  (- means not applicable)
is_smtp Whether the mail servers specified in the MX records are responding to connections.
Return values: True, False, -  (- means not applicable)
is_verified Whether the mail server confirms that the email address actually exist.
Return values: True, False, -  (- means not applicable)
is_server_down Whether the mail server is currently down or unresponsive.
Return values: True, False, -  (- means not applicable)
is_greylisted Whether the mail server employs greylisting where an email has to be sent a second time at a later time.
Return values: True, False, -  (- means not applicable)
is_disposable Whether the email address is a temporary one from a disposable email provider.
Return values: True, False, -  (- means not applicable)
is_suppressed Whether the email address is in our blacklist.
Return values: True, False, -  (- means not applicable)
is_role Whether the email address is a role-based email address like or
Return values: True, False, -  (- means not applicable)
is_high_risk Whether the email address contains high risk keywords.
Return values: True, False, -  (- means not applicable)
is_catchall Whether the email address is a catch-all address.
Return values: True, False, Unknown, -  (- means not applicable)
mailboxvalidator_score Email address reputation score. Score > 0.70 means good; score > 0.40 means fair; score ≤ 0.40 means poor.
time_taken The time taken to get the results in seconds.
status Whether our system think the email address is valid based on all the previous fields.
Return values: True, False
credits_available The number of credits left to perform validations.
error_code The error code if there is any error. See error table below.
error_message The error message if there is any error. See error table below.

Error Codes

error_code error_message
100 Missing parameter.
101 API key not found.
102 API key disabled.
103 API key expired.
104 Insufficient credits.
105 Unknown error.

Single Email Validation API Sample Codes

$apiKey = 'Enter_License_Key';
$params['format']           = 'json';
$params['email']     = 'Enter_Email';

$query = '';

foreach($params as $key=>$value){
    $query .= '&' . $key . '=' . rawurlencode($value);

$try = 0;
do {
    //For https request, please make sure you have enabled php_openssl.dll extension.
    //How to enable https
    //- Uncomment ;extension=php_openssl.dll by removing the semicolon in your php.ini, and restart the apache.
    //In case you have difficulty to modify the php.ini, you can always make the http request instead of https.
    $result = file_get_contents('' . $apiKey . $query);
} while(!$result && $try++ < 3);

$data = json_decode($result);

import java.util.Hashtable;
import java.util.Map;

public class test {
    public static void main(String[] args) {
        try {
            String key = "Enter_License_Key";
            Hashtable<String, String> data = new Hashtable<String, String>();
            data.put("format", "json");
            data.put("email", "Enter_Email");
            String datastr = "";
            for (Map.Entry<String,String> entry : data.entrySet()) {
                datastr += "&" + entry.getKey() + "=" + URLEncoder.encode(entry.getValue(), "UTF-8");
            URL url = new URL("" + key + datastr);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestProperty("Accept", "application/json");
            if (conn.getResponseCode() != 200) {
                throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
            BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
            String output;
            while ((output = br.readLine()) != null) {
        catch (MalformedURLException e) {
        catch (IOException e) {
Imports System.Net
Imports System.IO
Imports System.Uri

Public Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim request As HttpWebRequest = Nothing
        Dim response As HttpWebResponse = Nothing

        Dim apiKey As String = "Enter_License_Key"
        Dim data As New Dictionary(Of String, String)

        data.Add("format", "json")
        data.Add("email", "Enter_Email")
        Dim datastr As String = String.Join("&", data.[Select](Function(x) x.Key & "=" & EscapeDataString(x.Value)).ToArray())

        request = Net.WebRequest.Create("" & apiKey & "&" & datastr)

        request.Method = "GET"
        response = request.GetResponse()

        Dim reader As System.IO.StreamReader = New IO.StreamReader(response.GetResponseStream())


    End Sub

End Class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Net;
using System.IO;

namespace WebApplication1
    public partial class _Default : System.Web.UI.Page
        protected void Page_Load(object sender, EventArgs e)
            WebRequest request = null;
            WebResponse response = null;

            string apiKey = "Enter_License_Key";
            Dictionary<string, string> data = new Dictionary<string, string>();

            data.Add("format", "json");
            data.Add("email", "Enter_Email");
            string datastr = string.Join("&", data.Select(x => x.Key + "=" + System.Uri.EscapeDataString(x.Value)).ToArray());

            request = System.Net.WebRequest.Create("" + apiKey + "&" + datastr);

            request.Method = "GET";
            response = request.GetResponse();

            System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream());

import httplib
import urllib
import hashlib

p = { 'key': 'Enter_License_Key', 'format': 'json', 'email': 'Enter_Email' }

conn = httplib.HTTPConnection("")
conn.request("GET", "/v1/validation/single?" + urllib.urlencode(p))
res = conn.getresponse()