Loadshedding Issues. We are experiencing intermittent downtime with our phone lines. Click here to contact support.

[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.

{module 259}


Sample Response

HTTP/1.1 200 OK
{
   "bulkmailverify":{
      "email":"This email address is being protected from spambots. You need JavaScript enabled to view it.",
      "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 "sales@", "webmaster@" 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 This email address is being protected from spambots. You need JavaScript enabled to view it., 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()

Sign up for a free trial!

WANT TO TRY OUT BULKMAIL?
THE FREE ACCOUNT GIVES YOU 100 FREE CREDITS TO TEST DRIVE THE APPLICATION
(LIMITED TO 20 EMAIL ADDRESSES).

About Us

It's never been easier to build your own newsletter or select and customise a free template with BulkMail email service.

Try out the best bulk email software today, create your email campaign and send bulk email.

Contact Us

Click here to send us a message.

Office Hours
Mon-Thur 09h00 - 16h00
Fri 09h00 - 13h00

Office
+27 (0)21 100 4433

Address
Unit 105, 1st Floor
Newlands Quarter
Cnr. Dean & Main Street
Newlands, 7700, Cape Town