Real-Time Email Validation API

Check the quality of email addresses right at the point of signup with Byteplant's easy-to-use email verification API. Our API automatically detects if an email address is valid or not and helps you to eliminate all disposable, fake and mistyped email addresses.

Try Our API For Free

How Does The Email Validation API Work?

Byteplant's email address validator identifies all kinds of problematic email addresses and flags them before they harm your email sender reputation. Our email validation API uses a multi-layer testing algorithm that runs multiple checks to find out if an email address is really valid and accepts mail.

Our Real-Time Online Email Validation API can be easily integrated into your sign-up forms, applications and websites or into content management systems (CMS) like Drupal, Typo3, WordPress or Joomla. We provide detailed code examples in Javascript, PHP, Java, C#, VB.NET - all you have to do is to send a simple HTTP or HTTPS (SSL) request to our API servers! Each request returns a result code and a detailed description.

To make things as easy as possible for you, we offer ready-made plugins for WordPress, jQuery and Node.js for easy out-of-the-box integration.

What Makes Byteplant's Email Verification API Different?

Our email verifier does not only check the domain and syntax, but also ensures that the email address is valid and really accepts mail to avoid hard bounces.

Our full service real-time online email verification process includes all of the following tests:

  • Syntax verification (IETF/RFC standard conformance)
  • DNS validation, including MX record lookup
  • Disposable email address detection
  • Misspelled domain detection to prevent Typosquatting
  • SMTP connection and availability checking
  • Temporary unavailability detection
  • Mailbox existence checking
  • Catch-All testing
  • Greylisting detection

Benefits Of Byteplant's Online Email Verification API

  • Clean & Validate Your Email Lists. Our Bulk Email Validator API allows you to verify email lists with up to 100k addresses with a single API request. Now you can easily maintain only clean and valid email lists while preserving your email sender reputation.
  • Validate Emails in Real-Time. Our real-time email validator API will identify invalid email addresses and help you to correct misspelled emails, determine if an email will result in a hard bounce and block any throwaway or disposable fake emails. If you have a call center your agents will be able to check email addresses instantly to avoid costly errors.
  • Reduce Email Marketing Costs. Enhancing the deliverability rate helps you maximize the ROI of your campaigns. Poorly managed email databases can result in damaged sender reputation, sales inefficiencies, unnecessary costs and lost revenue. Cut your costs, reduce hard bounces and increase the deliverability rate by eliminating incorrect or outdated contact information.
  • Easy Integration & Flexible Plans. Byteplant's API can be easily integrated into any website, application, content management system and features ready-to-use plugins. We offer convenient pay-as-you-go as well as monthly plans without any extra set-up fees involved. Our product does not require any additional software and is very easy to deploy and integrate.

How Much Does Our Email Verification API Cost?

We offer flexible pricing with pay-as-you-go and monthly plans. Our monthly rates start as low as $ 0.0029 per email address. We offer even lower rates for customers looking to validate more than 500,000 emails. Read more about our fees here.

Email Validation API Code Examples

  • API Description
  • jQuery
  • PHP
  • Java
  • C#
  • VB.NET

Real-Time Email Verifier API

API URLhttp[s]://
MethodGET or POST
Example API request (using the GET method): API key
Input Parameters
   EmailAddress (string)email address to validate
   APIKey (string)your API key
   Timeout (int)timeout in seconds (default 10s, min 5s, max 300s)
API Result (JSON)
   status (int)API result code
  '401', '118' and '119' status codes indicate API errors:
  '401' -> info: 'Email address missing'
  '118' -> info: 'Rate Limit Exceeded'
  '119' -> info: 'API Key Invalid or Depleted'
   info (string)short status description
   details (string)full status description
   freemail (boolean)indicates freemail addresses (Gmail, Yahoo, Outlook/Hotmail/Live, AOL, ...) [true | false]

Bulk Email Verifier API

The Bulk API allows you to upload up to 100K email addresses for validation with a single API request.

API URLhttp[s]://
Input Parameters
   EmailAddress (string)list of email addresses to validate
(separated by '\n')
   APIKey (string)your API key
   TaskName (string)name for this validation task [optional]
   ValidationMode (string)express (retries unavailable servers for 2 hours) or
extensive (retries unavailable servers for 72 hours)
   NotifyEmail (string)email address to receive notifications for this task [optional, default is the email address of the API account]
   NotifyURL (string)URL to receive a completion notification for this task [optional]
API Result (JSON)
   status (int)API result code (121 or 119)
   info (string)validation task id
(if status is 121/"Task Accepted")


<script type="text/javascript" src="path/to/jquery"></script>
<script type="text/javascript">
$(document).ready(function() {
url: '',
type: 'POST',
cache: false,
crossDomain: true,
data: { EmailAddress: 'email address', APIKey: 'your API key' },
dataType: 'json',
success: function (json) {
// check API result
if (typeof(json.status) != "undefined") {
var resultcode = json.status;
if (typeof( != "undefined") {
// short summary
info =;
} else info = "";
if (typeof(json.details) != "undefined") {
// detailed description
details = json.details;
} else details = "";
// resultcode 200, 207, 215 - valid
// resultcode 114 - greylisting, wait 5min and retry
// resultcode 118 - api rate limit, wait 5min and retry
// resultcode 3xx/4xx - bad


// build API request
$APIUrl = '';
$Params = array('EmailAddress' => 'email address',
'APIKey' => 'your API key');
$Request = http_build_query($Params, '', '&');
$ctxData = array(
'header'=>"Connection: close\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".strlen($Request)."\r\n",
$ctx = stream_context_create(array('http' => $ctxData));

// send API request
$result = json_decode(file_get_contents(
$APIUrl, false, $ctx));

// check API result
if ($result && $result->{'status'} > 0) {
switch ($result->{'status'}) {
// valid addresses have a {200, 207, 215} result code
// result codes 114 and 118 need a retry
case 200:
case 207:
case 215:
echo "Address is valid.";
case 114:
// greylisting, wait 5min and retry
case 118:
// api rate limit, wait 5min and retry
echo "Address is invalid.";
echo $result->{'info'};
echo $result->{'details'};
} else {
echo $result->{'info'};


import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

import org.apache.http.util.EntityUtils;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
HttpClient client = new DefaultHttpClient();
String Email = "email address";
String APIKey = "your API key";
String APIURL = "";
try {
HttpPost request = new HttpPost(APIURL);
List <NameValuePair> Input = new ArrayList<NameValuePair>();
Input.add(new BasicNameValuePair("EmailAddress", Email));
Input.add(new BasicNameValuePair("APIKey", APIKey));
request.setEntity(new UrlEncodedFormEntity(Input));
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
String Output = EntityUtils.toString(entity, "UTF-8");
JSONParser parser = new JSONParser();
Object obj = parser.parse(Output);
JSONObject jsonObject = (JSONObject) obj;
Long result = (Long) jsonObject.get("status");
// result 200, 207, 215 - valid
// result 114 - greylisting, wait 5min and retry
// result 118 - api rate limit, wait 5min and retry
// result 3xx/4xx - bad
String info = (String) jsonObject.get("info");
String details = (String) jsonObject.get("details");
} catch (IOException e) {
} catch (ParseException e) {
} finally {

C# .NET 4.5

using System;
using System.Collections.Generic;
using System.Net.Http;

private class APIResult
public int status { get; set; }
public String info { get; set; }
public String details { get; set; }

const String APIURL = "";
HttpClient client = new HttpClient();
String Email = "email address";
String APIKey = "your API key";

var postData = new List<KeyValuePair<string, string>>();
postData.Add(new KeyValuePair<string, string>("EmailAddress", Email));
postData.Add(new KeyValuePair<string, string>("APIKey", APIKey));

HttpContent content = new FormUrlEncodedContent(postData);

HttpResponseMessage result = client.PostAsync(APIURL, content).Result;
string resultContent = result.Content.ReadAsStringAsync().Result;

APIResult res = new System.Web.Script.Serialization.JavaScriptSerializer().

switch (res.status) {
// valid addresses have a {200, 207, 215} result code
// result codes 114 and 118 need a retry
case 200:
case 207:
case 215:
// address is valid
case 114:
// greylisting, wait 5min and retry
case 118:
// api rate limit, wait 5min and retry
// address is invalid
// res.details

VB.NET 4.5

Private Sub checkEmail(ByVal Email As String, ByVal APIKey As String)
Const APIURL As String = ""
Using client As New Net.WebClient
Dim postData As New Specialized.NameValueCollection
postData.Add("EmailAddress", Email)
postData.Add("APIKey", APIKey)
Dim reply = client.UploadValues(APIURL, "POST", postData)
Dim data As String = (New System.Text.UTF8Encoding).GetString(reply)
Dim res = New System.Web.Script.Serialization.JavaScriptSerializer().
Deserialize(Of APIResult)(data)
Select Case (res.status)
Case 200, 207, 215
' address is valid
Case 114, 118
' greylisting, wait 5min and retry
Case 118
' api rate limit, wait 5min and retry
Case Else
' address is invalid
End Select
End Using
End Sub

Private Class APIResult
Public status As Integer
Public info As String
Public details As String
End Class

Wordpress, jQuery & Node.js Plugins

Easy to install & use - these Email Validator API plugins are available already:

Email Validator API: Free Trial

You can use our Online Email Verification API to check up to 100 email addresses for free - sign up below for your free API key!

Register for a Free Email Validation Account!
You can use our Online Email Validation API to check up to 100 email addresses for free -
just register for your free account and we send you an email with the details!

Please choose one of the options below: