Email Address Online Verification API

Based on our experience in Email List Validation & Verification, we also offer our service as Email Address Online Verification API.

Our validation process includes the following steps:

Avoid Bad Email Reputation - Keep Your List Clean!

A recent Return Path study shows that bad email sender reputation, and not content, is responsible in 83% of all cases where email does not reach the recipient. Even top brands have to worry about their email reputation - don't wait until you have been blacklisted!

Keep in Touch With Your Potential Customers

Keep your email list clean and focus on real people - real-time email address validation is easy to implement and has a lot of benefits for your business. The best way to capture good leads is to verify contact information right at the point of entry.

Live Demo for the Email Address Verification API

A Live Demo for the Email Address Verification API is available here.

How Does It Work?

Integrating our Email Validation API into the Javascript, PHP, Java, C#, VB.NET code of your website or application or into content management systems (CMS) like Drupal, TYPO3, WordPress or Joomla is very easy now - all you have to do is to send a simple HTTP or HTTPS (SSL) request to our servers!
Please see the source code examples below, and have a look at the detailed description for each email address verification API result code.
If you have any questions, just send us an email to support@byteplant.com.


<script type="text/javascript" src="path/to/jquery"></script>
<script type="text/javascript">
$(document).ready(function() {
    var EmailAddress = $("input#EmailAddress").val();
    ...
    // send API request
    $.ajax({
        url: 'http://api.email-validator.net/api/verify',
        type: 'POST',
        cache: false,
        crossDomain: true,
        data: { EmailAddress: EmailAddress, APIKey: APIKey },
        dataType: 'json',
        success: function (json) {
            // check API result
            if (typeof(json.status) != "undefined") {
                // valid addresses have a {200, 207, 215} result
                // result codes 114 and 118 need a retry
                var statuscode = json.status;
                if (typeof(json.info) != "undefined") {
                    // short summary
                    info = json.info;
                } else info = "";
                if (typeof(json.details) != "undefined") {
                    // detailed description
                    details = json.details;
                } else details = "";
            }
        }
    });
    ...
});
</script>

...
// build API request
$APIUrl = 'http://api.email-validator.net/api/verify';
$Params = array('EmailAddress' => $Email,
                'APIKey' => '[your API key]');
$Request = @http_build_query($Params);
$ctxData = array(
     'method' => "POST",
     'header' => "Connection: close\r\n".
     "Content-Length: ".strlen($Request)."\r\n",
     'content'=> $Request);
$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.";
                break;
        case 114:
        case 118:
                // retry
                break;
        default:
                echo "Address is invalid.";
                echo $result->{'info'};
                echo $result->{'details'};
                break;
    }
} else {
    echo $result->{'info'};
}
...

import java.io.IOException;
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]";
String ApiKey = "[API key]";
String APIURL = "http://api.email-validator.net/api/verify";
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;
    String result = (String) jsonObject.get("status");
    // valid addresses have a {200, 207, 215} result code
    // result codes 114 and 118 need a retry
    String info = (String) jsonObject.get("info");
    String details = (String) jsonObject.get("details");
    ...
} catch (IOException e) {
    e.printStackTrace();
} catch (ParseException e) {
    e.printStackTrace();
} finally {
    client.getConnectionManager().shutdown();
}
...

// 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 = "http://api.email-validator.net/api/verify";
HttpClient client = new HttpClient();
String Email = "[email address to validate]";
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().
                    Deserialize<APIResult>(resultContent);

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
            break;
    case 114:
    case 118:
            // retry
            break;
    default:
            // Address is invalid
            // res.info
            // res.details
            break;
}
...

' VB.NET 4.5
...
Private Sub checkEmail(ByVal email As String, ByVal apikey As String)
    Const APIURL As String = "http://api.email-validator.net/api/verify"
    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
            ' Retry
        Case Else
            ' Address is invalid
      End Select
    End Using
End Sub

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

Standard API

API URLhttp://api.email-validator.net/api/verify
MethodGET or POST
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
   info (string)short status description
   details (string)full status description
Example API request (using the GET method):
http://api.email-validator.net/api/verify?EmailAddress=<email>&APIKey=<your API key>
 

Bulk API

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

API URLhttp://bulk.email-validator.net/api/verify
MethodPOST
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 addresses for 24 hours) or
extensive (retries addresses 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")