[API-Verification] Single Email Validation

ParameterTypeDescription
api string Your application API key at BulkMail.
email string The email address you want to verify.

Each response includes an email validation response. Moreover, the remaining balance on your BulkMail Account is included to let you know how many calls you can perform before your credits end.


Test the response

A valid API Key is required for testing and you are able to test all types of emails.


Sample Response

HTTP/1.1 200 OK
{
   "bulkmailverify":{
      "email":"someem[email protected]",
      "code":"5",
      "role":"false",
      "free_email":"true",
      "result":"Safe to Send",
      "reason":"Deliverable",
      "send_transactional":"1",
      "did_you_mean":""
   },
   "success":"1",
}

Parameters

email [email] - The email address you are requesting to validate.
code [Integer] - BulkMail validation response code. In order to understand BulkMail results and codes, visit this link.
role [true, false] - Is the email role-based or not. Role emails such as "[email protected]", "[email protected]" etc. are not suitable for sending marketing emails to.
free_email [true, false] - Is the email from a free email provider - like Gmail - or not.
result [Invalid, Risky, Safe to Send, Unknown] - The final result of the validation process. This response will help to determine whether you should send marketing emails to a recipient or not.
reason The reason why the result is given (view full reasons via this link).
send_transactional [0, 1] Is it suggested that you send transactional emails to the recipient or not (0: no, 1: yes). Generally, it is suggested to send transactional emails to Valid, Accept-all and Unknown emails.
did_you_mean [string] If you use a misspelled email address like [email protected], the validation engine tries to suggest you the corrected email address.
success [0, 1] Is your call successful or not (0: no, 1: yes). If your credits are zero or you have provided an invalid API key, you will receive a 0 response.

Example code

Javascript
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://api.bulkmailapp.co.za/?api=&email=",
  "method": "GET",
  "headers": {}
}

$.ajax(settings).done(function (response) {
  console.log(response);
});
PHP
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.bulkmailapp.co.za/?api=&email=",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_SSL_VERIFYHOST => 0,
  CURLOPT_SSL_VERIFYPEER => 0,
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
Java
HttpResponse response = Unirest.get("https://api.bulkmailapp.co.za/?api=&email=")
  .asString();
Python
import http.client

conn = http.client.HTTPSConnection("api.bulkmailapp.co.za")

conn.request("GET", "/?api=&email=")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Ruby
require 'uri'
require 'net/http'

url = URI("https://api.bulkmailapp.co.za/?api=&email=")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
C#
var client = new RestClient("https://api.bulkmailapp.co.za/?api=&email=");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.bulkmailapp.co.za/?api=&email=")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
{snippet back_overview} || Verification Information / API