Code Examples
Please read the API documentation before you start using our APIs in production.
The API key used in these examples is for demonstrative purposes and can be used only to check whoapi.com
PHP
Basic PHP example using cURL. We will get whois information for the domain name “whoapi.com”.
<?php // Prepare vars $domain = "whoapi.com"; // domain to check $r = "whois"; // request type $apikey = "demokey"; // your API key // API call $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.whoapi.com/?domain=$domain&r=$r&apikey=$apikey"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = json_decode(curl_exec($ch), true); curl_close($ch); // Success if (isset($output['status']) && $output['status'] == 0) { echo "Success. Domain \"$domain\" was created: ".$output['date_created']; // API error } elseif (!empty($output['status_desc'])) { echo "API reports error: ".$output['status_desc']; // Unknown error } else { echo "Unknown error"; } ?>
Javascript
We’re going to use our Whois API to get whois information for the domain name “whoapi.com”.
<script type="text/javascript"> var domain = "whoapi.com"; // domain name you want to check var r = "whois"; // request type var apikey = "demokey"; // your API key var xhr = new XMLHttpRequest(); xhr.open("GET", 'https://api.whoapi.com/?domain='+domain+'&r='+r+'&apikey='+apikey, true); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var json = JSON.parse(xhr.responseText); if (json.status == 0) { document.getElementById("result").innerHTML = "Success. Domain was created: " + json.date_created; } else { document.getElementById("result").innerHTML = "API reports error: " + json.status_desc; } } else { document.getElementById("result").innerHTML = "Unknown error"; } }; xhr.send(); </script> <div id="result">please wait..</div>
Ruby
We’re going to use our Whois API to get whois information for the domain name “whoapi.com”.
require 'open-uri' require 'json' domain = "whoapi.com" # domain to check r = "whois" # request type apikey = "demokey" # your API key output = JSON.parse(URI.open("https://api.whoapi.com/?domain=#{domain}&r=#{r}&apikey=#{apikey}").read) if output["status"].to_i == 0 puts "Success. Domain was created: " + output["date_created"] elsif !output["status_desc"].nil? puts "API reports error: " + output["status_desc"] else puts "Unknown error" end
Python
We’re going to use our Whois API to get whois information for the domain name “whoapi.com”.
#!/usr/bin/env python import requests def whoapi_request(domain, r, apikey) -> None: res = requests.get('https://api.whoapi.com', dict( domain=domain, r=r, apikey=apikey)) if res.status_code == 200: data = res.json() if int(data['status']) == 0: print("Success. Domain was created: " + data['date_created']) else: print("API reports error: " + data['status_desc']) else: raise Exception('Unexpected status code %d' % res.status_code) domain = 'whoapi.com' # domain to check r = 'whois' # request type apikey = 'demokey' # key whoapi_request(domain, r, apikey)
Objective C
We’re going to use our Whois API to get whois information for the domain name “whoapi.com”.
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSString *domain = @"whoapi.com"; // domain to check NSString *r = @"whois"; // request type NSString *apikey = @"demokey"; // your API key NSString *urlAsString = [NSString stringWithFormat:@ "https://api.whoapi.com/?domain=%@&r=%@&apikey=%@", domain, r, apikey]; NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlAsString]]; [urlRequest setHTTPMethod:@"GET"]; NSURLSession *session = [NSURLSession sharedSession]; // Semaphore used only for the debug purpose dispatch_semaphore_t sema = dispatch_semaphore_create(0); NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; if(httpResponse.statusCode == 200) { NSError *parseError = nil; NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError]; NSNumber *status; if([responseDictionary[@"status"] isKindOfClass:[NSString class]]) { NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; f.numberStyle = NSNumberFormatterDecimalStyle; status = [f numberFromString:responseDictionary[@"status"]]; } else { status = responseDictionary[@"status"]; } if([status isEqualToNumber:@0]) { NSLog(@"Success. Domain was created: %@", responseDictionary[@"date_created"]); } else { NSLog(@"API reports error: %@", responseDictionary[@"status_desc"]); } } else { NSLog(@"Unexpected status code\n"); } // Semaphore used only for the debug purpose dispatch_semaphore_signal(sema); }]; [dataTask resume]; // Semaphore used only for the debug purpose dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER); return 0; }
C#(.NET)
We’re going to use our Whois API to get whois information for the domain name “whoapi.com”.
using Newtonsoft.Json.Linq; using System; using System.IO; using System.Net; public class Program { public static void Main() { string apiType = "whois"; // request type string domain = "whoapi.com"; // domain to check string apiKey = "demokey"; // api key WebRequest request = WebRequest.Create(String.Format("https://api.whoapi.com/?domain={0}&r={1}&apikey={2}", domain, apiType, apiKey)); WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string responseFromServer = reader.ReadToEnd(); JObject json = JObject.Parse(responseFromServer); if (json.Value<int>("status") == 0) { Console.WriteLine(String.Format("Success. Domain was created: {0}", json["date_created"])); } else { Console.WriteLine(String.Format("API reports error: {0}. ", json["status_desc"])); } } }
Java
We will get whois information for the domain name “whoapi.com”.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.json.JSONObject; class Main { public static void main(String args[]) { try { // Set data String domain = "whoapi.com"; // domain to check String rtype = "whois"; // request type String apikey = "demokey"; // your API key // Send request to API URL obj = new URL("https://api.whoapi.com/?domain=" + domain + "&r=" + rtype + "&apikey=" + apikey); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // Validate HTTP response code int responseCode = con.getResponseCode(); if (responseCode != 200) { System.out.println("HTTP request error, code: " + responseCode); return; } // Read API reply BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // Get JSON JSONObject myResponse = new JSONObject(response.toString()); int status = myResponse.getInt("status"); String statusDesc = myResponse.getString("status_desc"); // Validate request status if (status != 0) { System.out.println("API reports error: " + statusDesc); return; } String date = myResponse.getString("date_created"); System.out.println("Success. Domain was created: " + date); } catch (Exception e) { e.printStackTrace(); } } }
PHP
Basic PHP example using cURL. We will check if the domain name “whoapi.com” is available for registration.
<?php // Prepare vars $domain = "whoapi.com"; // domain to check $r = "taken"; // request type $apikey = "demokey"; // your API key // API call $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.whoapi.com/?domain=$domain&r=$r&apikey=$apikey"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = json_decode(curl_exec($ch), true); curl_close($ch); // Success if (isset($output['status']) && $output['status'] == 0) { echo "Success. Domain \"$domain\" is: ".($output['taken'] == 1 ? "Taken" : "Not taken"); // API error } elseif (!empty($output['status_desc'])) { echo "API reports error: ".$output['status_desc']; // Unknown error } else { echo "Unknown error"; } ?>
Javascript
We’re going to use our Domain Availability API to check if the domain name “whoapi.com” is available for registration.
<script type="text/javascript"> var domain = "whoapi.com"; // domain name you want to check var r = "taken"; // check availability var apikey = "demokey"; // your API key var xhr = new XMLHttpRequest(); xhr.open("GET", 'https://api.whoapi.com/?domain='+domain+'&r='+r+'&apikey='+apikey, true); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var json = JSON.parse(xhr.responseText); if (json.status == 0) { document.getElementById("result").innerHTML = "Success. Domain is: " + (json.taken == 1 ? "Taken" : "Not taken"); } else { document.getElementById("result").innerHTML = "API reports error: " + json.status_desc; } } else { document.getElementById("result").innerHTML = "Unknown error"; } }; xhr.send(); </script> <div id="result">please wait..</div>
Ruby
We’re going to check if the domain name “whoapi.com” is available for registration.
require 'open-uri' require 'json' domain = "whoapi.com" # domain to check r = "taken" # request type apikey = "demokey" # your API key output = JSON.parse(URI.open("https://api.whoapi.com/?domain=#{domain}&r=#{r}&apikey=#{apikey}").read) if output["status"].to_i == 0 puts "Success. Domain is: " + (output["taken"].to_i == 1 ? "Taken" : "Not taken") elsif !output["status_desc"].nil? puts "API reports error: " + output["status_desc"] else puts "Unknown error" end
Python
We’re going to use our Domain Availability API to check if the domain name “whoapi.com” is available for registration.
#!/usr/bin/env python import requests def whoapi_request(domain, r, apikey) -> None: res = requests.get('https://api.whoapi.com', dict( domain=domain, r=r, apikey=apikey)) if res.status_code == 200: data = res.json() if int(data['status']) == 0: print("Success. Domain is: " + "Taken" if int(data['taken']) == 1 else "Not taken") else: print("API reports error: " + data['status_desc']) else: raise Exception('Unexpected status code %d' % res.status_code) domain = 'whoapi.com' # domain to check r = 'taken' # request type apikey = 'demokey' # key whoapi_request(domain, r, apikey)
Objective C
We’re going to use our Domain Availability API to check if the domain name “whoapi.com” is available for registration.
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSString *domain = @"whoapi.com"; // domain to check NSString *r = @"taken"; // request type NSString *apikey = @"demokey"; // your API key NSString *urlAsString = [NSString stringWithFormat:@ "https://api.whoapi.com/?domain=%@&r=%@&apikey=%@", domain, r, apikey]; NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlAsString]]; [urlRequest setHTTPMethod:@"GET"]; NSURLSession *session = [NSURLSession sharedSession]; // Semaphore used only for the debug purpose dispatch_semaphore_t sema = dispatch_semaphore_create(0); NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; if(httpResponse.statusCode == 200) { NSError *parseError = nil; NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError]; NSNumber *status; if([responseDictionary[@"status"] isKindOfClass:[NSString class]]) { NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; f.numberStyle = NSNumberFormatterDecimalStyle; status = [f numberFromString:responseDictionary[@"status"]]; } else { status = responseDictionary[@"status"]; } if([status isEqualToNumber:@0]) { if([responseDictionary[@"taken"] isEqualToNumber:@1]) { NSLog(@"Success. Domain is: Taken\n"); } else { NSLog(@"Success. Domain is: Not taken\n"); } } else { NSLog(@"API reports error: %@", responseDictionary[@"status_desc"]); } } else { NSLog(@"Unexpected status code\n"); } // Semaphore used only for the debug purpose dispatch_semaphore_signal(sema); }]; [dataTask resume]; // Semaphore used only for the debug purpose dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER); return 0; }
C#(.NET)
We’re going to use our Domain Availability API to check if the domain name “whoapi.com” is available for registration.
using Newtonsoft.Json.Linq; using System; using System.IO; using System.Net; public class Program { public static void Main() { string apiType = "taken"; // request type string domain = "whoapi.com"; // domain to check string apiKey = "demokey"; // api key WebRequest request = WebRequest.Create(String.Format("https://api.whoapi.com/?domain={0}&r={1}&apikey={2}", domain, apiType, apiKey)); WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string responseFromServer = reader.ReadToEnd(); JObject json = JObject.Parse(responseFromServer); if (json.Value<int>("status") == 0) { if (json.Value<int>("taken") == 1) { Console.WriteLine("Success. Domain is: Taken"); } else { Console.WriteLine("Success. Domain is: Not taken"); } } else { Console.WriteLine(String.Format("API reports error: {0}. ", json["status_desc"])); } } }
Java
We’re going to use our Domain Availability API to check if the domain name “whoapi.com” is available for registration.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.json.JSONObject; class Main { public static void main(String args[]) { try { // Set data String domain = "whoapi.com"; // domain to check String rtype = "taken"; // request type String apikey = "demokey"; // your API key // Send request to API URL obj = new URL("https://api.whoapi.com/?domain=" + domain + "&r=" + rtype + "&apikey=" + apikey); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // Validate HTTP response code int responseCode = con.getResponseCode(); if (responseCode != 200) { System.out.println("HTTP request error, code: " + responseCode); return; } // Read API reply BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // Get JSON JSONObject myResponse = new JSONObject(response.toString()); int status = myResponse.getInt("status"); String statusDesc = myResponse.getString("status_desc"); // Validate request status if (status != 0) { System.out.println("API reports error: " + statusDesc); return; } int taken = myResponse.getInt("taken"); System.out.println("Success. Domain is: " + (taken == 1 ? "Taken" : "Not taken")); } catch (Exception e) { e.printStackTrace(); } } }
PHP
Basic PHP example using cURL. First, we will send domain “whoapi.com” for the scoring.
<?php // Prepare vars $domain = "whoapi.com"; // domain to check $r = "domainscore"; // request type $apikey = "demokey"; // your API key // API call $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.whoapi.com/?domain=$domain&r=$r&apikey=$apikey"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = json_decode(curl_exec($ch), true); curl_close($ch); // Success if (isset($output['status']) && $output['status'] == 0) { echo "Success. Domain \"$domain\" was sent for the scoring."; // API error } elseif (!empty($output['status_desc'])) { echo "API reports error: ".$output['status_desc']; // Unknown error } else { echo "Unknown error"; } ?>
Second, we will request the scoring result.
<?php // Prepare vars $domain = "whoapi.com"; // domain to check $r = "domainscore-check"; // request type $apikey = "demokey"; // your API key // API call $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.whoapi.com/?domain=$domain&r=$r&apikey=$apikey"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = json_decode(curl_exec($ch), true); curl_close($ch); // Success if (isset($output['status']) && $output['status'] == 0) { // The result is not yet ready if (!isset($output['results'][0]['overall_score'])) { echo "Success. Domain \"$domain\" is not yet scored. Try again later"; } else { echo "Success. Domain \"$domain\" was scored: ".$output['results'][0]['overall_score']; } // API error } elseif (!empty($output['status_desc'])) { echo "API reports error: ".$output['status_desc']; // Unknown error } else { echo "Unknown error"; } ?>
Javascript
First, we will send domain “whoapi.com” for the scoring.
<script type="text/javascript"> var domain = "whoapi.com"; // domain name you want to check var r = "domainscore"; // request type var apikey = "demokey"; // your API key var xhr = new XMLHttpRequest(); xhr.open("GET", 'https://api.whoapi.com/?domain='+domain+'&r='+r+'&apikey='+apikey, true); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var json = JSON.parse(xhr.responseText); if (json.status == 0) { document.getElementById("result").innerHTML = "Success. Domain was sent for the scoring."; } else { document.getElementById("result").innerHTML = "API reports error: " + json.status_desc; } } else { document.getElementById("result").innerHTML = "Unknown error"; } }; xhr.send(); </script> <div id="result">please wait..</div>
Second, we will request the scoring result.
<script type="text/javascript"> var domain = "whoapi.com"; // domain name you want to check var r = "domainscore-check"; // request type var apikey = "demokey"; // your API key var xhr = new XMLHttpRequest(); xhr.open("GET", 'https://api.whoapi.com/?domain='+domain+'&r='+r+'&apikey='+apikey, true); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var json = JSON.parse(xhr.responseText); if (json.status == 0) { // The result is not yet ready if (!json?.results[0]?.overall_score) { document.getElementById("result").innerHTML = "Success. Domain is not yet scored. Try again later"; } else { document.getElementById("result").innerHTML = "Success. Domain was scored: " + json.results[0].overall_score; } } else { document.getElementById("result").innerHTML = "API reports error: " + json.status_desc; } } else { document.getElementById("result").innerHTML = "Unknown error"; } }; xhr.send(); </script> <div id="result">please wait..</div>
Ruby
First, we will send domain “whoapi.com” for the scoring.
require 'open-uri' require 'json' domain = "whoapi.com" # domain to check r = "domainscore" # request type apikey = "demokey" # your API key output = JSON.parse(URI.open("https://api.whoapi.com/?domain=#{domain}&r=#{r}&apikey=#{apikey}").read) if output["status"].to_i == 0 puts "Success. Domain was sent for the scoring." elsif !output["status_desc"].nil? puts "API reports error: " + output["status_desc"] else puts "Unknown error" end
Second, we will request the scoring result.
require 'open-uri' require 'json' domain = "whoapi.com" # domain to check r = "domainscore-check" # request type apikey = "demokey" # your API key output = JSON.parse(URI.open("https://api.whoapi.com/?domain=#{domain}&r=#{r}&apikey=#{apikey}").read) if output["status"].to_i == 0 if output["results"][0]["overall_score"].nil? puts "Success. Domain is not yet scored. Try again later" elsif puts "Success. Domain was scored: " + output["results"][0]["overall_score"].to_s end elsif !output["status_desc"].nil? puts "API reports error: " + output["status_desc"] else puts "Unknown error" end
Python
First, we will send domain “whoapi.com” for the scoring.
#!/usr/bin/env python import requests def whoapi_request(domain, r, apikey) -> None: res = requests.get('https://api.whoapi.com', dict( domain=domain, r=r, apikey=apikey)) if res.status_code == 200: data = res.json() if int(data['status']) == 0: print("Success. Domain was sent for the scoring.") else: print("API reports error: " + data['status_desc']) else: raise Exception('Unexpected status code %d' % res.status_code) domain = 'whoapi.com' # domain to check r = 'domainscore' # request type apikey = 'demokey' # key whoapi_request(domain, r, apikey)
Second, we will request the scoring result.
#!/usr/bin/env python import requests def whoapi_request(domain, r, apikey) -> None: res = requests.get('https://api.whoapi.com', dict( domain=domain, r=r, apikey=apikey)) if res.status_code == 200: data = res.json() if int(data['status']) == 0: if data["results"][0]["overall_score"] is None: print("Success. Domain is not yet scored. Try again later") else: print("Success. Domain was scored: " + str(data["results"][0]["overall_score"])) else: print("API reports error: " + data['status_desc']) else: raise Exception('Unexpected status code %d' % res.status_code) domain = 'whoapi.com' # domain to check r = 'domainscore-check' # request type apikey = 'demokey' # key whoapi_request(domain, r, apikey)
Objective C
First, we will send domain “whoapi.com” for the scoring.
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSString *domain = @"whoapi.com"; // domain to check NSString *r = @"domainscore"; // request type NSString *apikey = @"demokey"; // your API key NSString *urlAsString = [NSString stringWithFormat:@ "https://api.whoapi.com/?domain=%@&r=%@&apikey=%@", domain, r, apikey]; NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlAsString]]; [urlRequest setHTTPMethod:@"GET"]; NSURLSession *session = [NSURLSession sharedSession]; // Semaphore used only for the debug purpose dispatch_semaphore_t sema = dispatch_semaphore_create(0); NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; if(httpResponse.statusCode == 200) { NSError *parseError = nil; NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError]; NSNumber *status; if([responseDictionary[@"status"] isKindOfClass:[NSString class]]) { NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; f.numberStyle = NSNumberFormatterDecimalStyle; status = [f numberFromString:responseDictionary[@"status"]]; } else { status = responseDictionary[@"status"]; } if([status isEqualToNumber:@0]) { NSLog(@"Success. Domain was sent for the scoring."); } else { NSLog(@"API reports error: %@", responseDictionary[@"status_desc"]); } } else { NSLog(@"Unexpected status code\n"); } // Semaphore used only for the debug purpose dispatch_semaphore_signal(sema); }]; [dataTask resume]; // Semaphore used only for the debug purpose dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER); return 0; }
Second, we will request the scoring result.
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSString *domain = @"whoapi.com"; // domain to check NSString *r = @"domainscore-check"; // request type NSString *apikey = @"demokey"; // your API key NSString *urlAsString = [NSString stringWithFormat:@ "https://api.whoapi.com/?domain=%@&r=%@&apikey=%@", domain, r, apikey]; NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlAsString]]; [urlRequest setHTTPMethod:@"GET"]; NSURLSession *session = [NSURLSession sharedSession]; // Semaphore used only for the debug purpose dispatch_semaphore_t sema = dispatch_semaphore_create(0); NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; if(httpResponse.statusCode == 200) { NSError *parseError = nil; NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError]; NSNumber *status; if([responseDictionary[@"status"] isKindOfClass:[NSString class]]) { NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; f.numberStyle = NSNumberFormatterDecimalStyle; status = [f numberFromString:responseDictionary[@"status"]]; } else { status = responseDictionary[@"status"]; } if([status isEqualToNumber:@0]) { if (responseDictionary[@"results"][0][@"overall_score"] == nil) { NSLog(@"Success. Domain is not yet scored. Try again later\n"); } else { NSLog(@"Success. Domain was scored: %@", responseDictionary[@"results"][0][@"overall_score"]); } } else { NSLog(@"API reports error: %@", responseDictionary[@"status_desc"]); } } else { NSLog(@"Unexpected status code\n"); } // Semaphore used only for the debug purpose dispatch_semaphore_signal(sema); }]; [dataTask resume]; // Semaphore used only for the debug purpose dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER); return 0; }
C#(.NET)
First, we will send domain “whoapi.com” for the scoring.
using Newtonsoft.Json.Linq; using System; using System.IO; using System.Net; public class Program { public static void Main() { string apiType = "domainscore"; // request type string domain = "whoapi.com"; // domain to check string apiKey = "demokey"; // api key WebRequest request = WebRequest.Create(String.Format("https://api.whoapi.com/?domain={0}&r={1}&apikey={2}", domain, apiType, apiKey)); WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string responseFromServer = reader.ReadToEnd(); JObject json = JObject.Parse(responseFromServer); if (json.Value<int>("status") == 0) { Console.WriteLine("Success. Domain was sent for the scoring."); } else { Console.WriteLine(String.Format("API reports error: {0}. ", json["status_desc"])); } } }
Second, we will request the scoring result.
using Newtonsoft.Json.Linq; using System; using System.IO; using System.Net; public class Program { public static void Main() { string apiType = "domainscore-check"; // request type string domain = "whoapi.com"; // domain to check string apiKey = "demokey"; // api key WebRequest request = WebRequest.Create(String.Format("https://api.whoapi.com/?domain={0}&r={1}&apikey={2}", domain, apiType, apiKey)); WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string responseFromServer = reader.ReadToEnd(); JObject json = JObject.Parse(responseFromServer); if (json.Value<int>("status") == 0) { if (json["results"][0]["overall_score"].Type == JTokenType.Null) { Console.WriteLine("Success. Domain is not yet scored. Try again later"); } else { Console.WriteLine(String.Format("Success. Domain was scored: {0}. ", json["results"][0]["overall_score"])); } } else { Console.WriteLine(String.Format("API reports error: {0}. ", json["status_desc"])); } } }
Java
First, we will send domain “whoapi.com” for the scoring.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.json.JSONObject; class Main { public static void main(String args[]) { try { // Set data String domain = "whoapi.com"; // domain to check String rtype = "domainscore"; // request type String apikey = "demokey"; // your API key // Send request to API URL obj = new URL("https://api.whoapi.com/?domain=" + domain + "&r=" + rtype + "&apikey=" + apikey); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // Validate HTTP response code int responseCode = con.getResponseCode(); if (responseCode != 200) { System.out.println("HTTP request error, code: " + responseCode); return; } // Read API reply BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // Get JSON JSONObject myResponse = new JSONObject(response.toString()); int status = myResponse.getInt("status"); String statusDesc = myResponse.getString("status_desc"); // Validate request status if (status != 0) { System.out.println("API reports error: " + statusDesc); return; } System.out.println("Success. Domain was sent for the scoring."); } catch (Exception e) { e.printStackTrace(); } } }
Second, we will request the scoring result.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.json.JSONObject; import org.json.JSONArray; class Main { public static void main(String args[]) { try { // Set data String domain = "whoapi.com"; // domain to check String rtype = "domainscore-check"; // request type String apikey = "demokey"; // your API key // Send request to API URL obj = new URL("https://api.whoapi.com/?domain=" + domain + "&r=" + rtype + "&apikey=" + apikey); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // Validate HTTP response code int responseCode = con.getResponseCode(); if (responseCode != 200) { System.out.println("HTTP request error, code: " + responseCode); return; } // Read API reply BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // Get JSON JSONObject myResponse = new JSONObject(response.toString()); int status = myResponse.getInt("status"); String statusDesc = myResponse.getString("status_desc"); // Validate request status if (status != 0) { System.out.println("API reports error: " + statusDesc); return; } JSONArray results = myResponse.getJSONArray("results"); if (results.getJSONObject(0).isNull("overall_score")) { System.out.println("Success. Domain is not yet scored. Try again later"); } else { int overallScore = results.getJSONObject(0).getInt("overall_score"); System.out.println("Success. Domain was scored: " + overallScore); } } catch (Exception e) { e.printStackTrace(); } } }
PHP
Basic PHP example using cURL. We will get blacklist information for the domain name “whoapi.com”.
<?php // Prepare vars $domain = "whoapi.com"; // domain to check $r = "blacklist"; // request type $apikey = "demokey"; // your API key // API call $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.whoapi.com/?domain=$domain&r=$r&apikey=$apikey"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = json_decode(curl_exec($ch), true); curl_close($ch); // Success if (isset($output['status']) && $output['status'] == 0) { echo "Success. Domain \"$domain\" is: ".(!empty($output['blacklisted']) ? "Blacklisted" : "Not blacklisted"); // API error } elseif (!empty($output['status_desc'])) { echo "API reports error: ".$output['status_desc']; // Unknown error } else { echo "Unknown error"; } ?>
Javascript
We will get blacklist information for the domain name “whoapi.com”.
<script type="text/javascript"> var domain = "whoapi.com"; // domain name you want to check var r = "blacklist"; // request type var apikey = "demokey"; // your API key var xhr = new XMLHttpRequest(); xhr.open("GET", 'https://api.whoapi.com/?domain='+domain+'&r='+r+'&apikey='+apikey, true); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var json = JSON.parse(xhr.responseText); if (json.status == 0) { document.getElementById("result").innerHTML = "Success. Domain is: " + (json.blacklisted ? "Blacklisted" : "Not blacklisted"); } else { document.getElementById("result").innerHTML = "API reports error: " + json.status_desc; } } else { document.getElementById("result").innerHTML = "Unknown error"; } }; xhr.send(); </script> <div id="result">please wait..</div>
Ruby
We will get blacklist information for the domain name “whoapi.com”.
require 'open-uri' require 'json' domain = "whoapi.com" # domain to check r = "blacklist" # request type apikey = "demokey" # your API key output = JSON.parse(URI.open("https://api.whoapi.com/?domain=#{domain}&r=#{r}&apikey=#{apikey}").read) if output["status"].to_i == 0 puts "Success. Domain is: " + (output["blacklisted"].to_i == 1 ? "Blacklisted" : "Not blacklisted") elsif !output["status_desc"].nil? puts "API reports error: " + output["status_desc"] else puts "Unknown error" end
Python
We will get blacklist information for the domain name “whoapi.com”.
#!/usr/bin/env python import requests def whoapi_request(domain, r, apikey) -> None: res = requests.get('https://api.whoapi.com', dict( domain=domain, r=r, apikey=apikey)) if res.status_code == 200: data = res.json() if int(data['status']) == 0: print("Success. Domain is: " + "Blacklisted" if int(data['blacklisted']) == 1 else "Not blacklisted") else: print("API reports error: " + data['status_desc']) else: raise Exception('Unexpected status code %d' % res.status_code) domain = 'whoapi.com' # domain to check r = 'blacklist' # request type apikey = 'demokey' # key whoapi_request(domain, r, apikey)
Objective C
We will get blacklist information for the domain name “whoapi.com”.
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSString *domain = @"whoapi.com"; // domain to check NSString *r = @"blacklist"; // request type NSString *apikey = @"demokey"; // your API key NSString *urlAsString = [NSString stringWithFormat:@ "https://api.whoapi.com/?domain=%@&r=%@&apikey=%@", domain, r, apikey]; NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlAsString]]; [urlRequest setHTTPMethod:@"GET"]; NSURLSession *session = [NSURLSession sharedSession]; // Semaphore used only for the debug purpose dispatch_semaphore_t sema = dispatch_semaphore_create(0); NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; if(httpResponse.statusCode == 200) { NSError *parseError = nil; NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError]; NSNumber *status; if([responseDictionary[@"status"] isKindOfClass:[NSString class]]) { NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; f.numberStyle = NSNumberFormatterDecimalStyle; status = [f numberFromString:responseDictionary[@"status"]]; } else { status = responseDictionary[@"status"]; } if([status isEqualToNumber:@0]) { if([responseDictionary[@"blacklisted"] isEqualToString:@"1"]) { NSLog(@"Success. Domain is: Blacklisted\n"); } else { NSLog(@"Success. Domain is: Not blacklisted\n"); } } else { NSLog(@"API reports error: %@", responseDictionary[@"status_desc"]); } } else { NSLog(@"Unexpected status code\n"); } // Semaphore used only for the debug purpose dispatch_semaphore_signal(sema); }]; [dataTask resume]; // Semaphore used only for the debug purpose dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER); return 0; }
C#(.NET)
We will get blacklist information for the domain name “whoapi.com”.
using Newtonsoft.Json.Linq; using System; using System.IO; using System.Net; public class Program { public static void Main() { string apiType = "blacklist"; // request type string domain = "whoapi.com"; // domain to check string apiKey = "demokey"; // api key WebRequest request = WebRequest.Create(String.Format("https://api.whoapi.com/?domain={0}&r={1}&apikey={2}", domain, apiType, apiKey)); WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string responseFromServer = reader.ReadToEnd(); JObject json = JObject.Parse(responseFromServer); if (json.Value<int>("status") == 0) { if (json.Value<int>("blacklisted") == 1) { Console.WriteLine("Success. Domain is: Blacklisted"); } else { Console.WriteLine("Success. Domain is: Not blacklisted"); } } else { Console.WriteLine(String.Format("API reports error: {0}. ", json["status_desc"])); } } }
Java
We will get blacklist information for the domain name “whoapi.com”.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.json.JSONObject; class Main { public static void main(String args[]) { try { // Set data String domain = "whoapi.com"; // domain to check String rtype = "blacklist"; // request type String apikey = "demokey"; // your API key // Send request to API URL obj = new URL("https://api.whoapi.com/?domain=" + domain + "&r=" + rtype + "&apikey=" + apikey); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // Validate HTTP response code int responseCode = con.getResponseCode(); if (responseCode != 200) { System.out.println("HTTP request error, code: " + responseCode); return; } // Read API reply BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // Get JSON JSONObject myResponse = new JSONObject(response.toString()); int status = myResponse.getInt("status"); String statusDesc = myResponse.getString("status_desc"); // Validate request status if (status != 0) { System.out.println("API reports error: " + statusDesc); return; } int blacklisted = myResponse.getInt("blacklisted"); System.out.println("Success. Domain is: " + (blacklisted == 1 ? "Blacklisted" : "Not blacklisted")); } catch (Exception e) { e.printStackTrace(); } } }
PHP
Basic PHP example using cURL. We will get screenshot for the domain name “whoapi.com”.
<?php // Prepare vars $fullurl = "whoapi.com"; // page url $r = "screenshot"; // request type $apikey = "demokey"; // your API key $process = "thumb"; // thumb image only (first viewport without scroll) $resolution = "1366x768"; // screen resolution to use // API call $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.whoapi.com?apikey=$apikey&r=$r&fullurl=$fullurl&process=$process&resolution=$resolution&asap=&node_geo=&delay=&thumbwidth=&thumbheight="); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = json_decode(curl_exec($ch), true); curl_close($ch); // Success if (isset($output['status']) && $output['status'] == 0) { echo "Success. Small thumbnail for \"$fullurl\": ".$output['thumbnail_https']; // API error } elseif (!empty($output['status_desc'])) { echo "API reports error: ".$output['status_desc']; // Unknown error } else { echo "Unknown error"; } ?>
Javascript
We will get screenshot for the domain name “whoapi.com”.
<script type="text/javascript"> var fullurl = "whoapi.com"; // page url var r = "screenshot"; // request type var apikey = "demokey"; // your API key var process = "thumb"; // thumb image only (first viewport without scroll) var resolution = "1366x768"; // screen resolution to use var xhr = new XMLHttpRequest(); xhr.open("GET", 'https://api.whoapi.com?apikey='+apikey+'&r='+r+'&fullurl='+fullurl+'&process='+process+'&resolution='+resolution+'&asap=&node_geo=&delay=&thumbwidth=&thumbheight=', true); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var json = JSON.parse(xhr.responseText); if (json.status == 0) { document.getElementById("result").innerHTML = "Success. Small thumbnail: " + json.thumbnail_https; } else { document.getElementById("result").innerHTML = "API reports error: " + json.status_desc; } } else { document.getElementById("result").innerHTML = "Unknown error"; } }; xhr.send(); </script> <div id="result">please wait..</div>
Ruby
We will get screenshot for the domain name “whoapi.com”.
require 'open-uri' require 'json' fullurl = "whoapi.com"; # page url r = "screenshot"; # request type apikey = "demokey"; # your API key process = "thumb"; # thumb image only (first viewport without scroll) resolution = "1366x768"; # screen resolution to use output = JSON.parse(URI.open("https://api.whoapi.com?apikey=#{apikey}&r=#{r}&fullurl=#{fullurl}&process=#{process}&resolution=#{resolution}&asap=&node_geo=&delay=&thumbwidth=&thumbheight=").read) if output["status"].to_i == 0 puts "Success. Small thumbnail: " + output["thumbnail_https"] elsif !output["status_desc"].nil? puts "API reports error: " + output["status_desc"] else puts "Unknown error" end
Python
We will get screenshot for the domain name “whoapi.com”.
#!/usr/bin/env python import requests def whoapi_request(fullurl, r, apikey, process, resolution) -> None: res = requests.get('https://api.whoapi.com', dict( fullurl=fullurl, r=r, apikey=apikey, process=process, resolution=resolution)) if res.status_code == 200: data = res.json() if int(data['status']) == 0: print("Success. Small thumbnail: " + data["thumbnail_https"]) else: print("API reports error: " + data['status_desc']) else: raise Exception('Unexpected status code %d' % res.status_code) fullurl = 'whoapi.com' # page url r = 'screenshot' # request type apikey = 'demokey' # key process = "thumb"; # thumb image only (first viewport without scroll) resolution = "1366x768"; # screen resolution to use whoapi_request(fullurl, r, apikey, process, resolution)
Objective C
We will get screenshot for the domain name “whoapi.com”.
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSString *fullurl = @"whoapi.com"; // page url NSString *r = @"screenshot"; // request type NSString *apikey = @"demokey"; // your API key NSString *process = @"thumb"; // thumb image only (first viewport without scroll) NSString *resolution = @"1366x768"; // screen resolution to use NSString *urlAsString = [NSString stringWithFormat:@ "https://api.whoapi.com/?fullurl=%@&r=%@&apikey=%@&process=%@&resolution=%@", fullurl, r, apikey, process, resolution]; NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlAsString]]; [urlRequest setHTTPMethod:@"GET"]; NSURLSession *session = [NSURLSession sharedSession]; // Semaphore used only for the debug purpose dispatch_semaphore_t sema = dispatch_semaphore_create(0); NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; if(httpResponse.statusCode == 200) { NSError *parseError = nil; NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError]; NSNumber *status; if([responseDictionary[@"status"] isKindOfClass:[NSString class]]) { NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; f.numberStyle = NSNumberFormatterDecimalStyle; status = [f numberFromString:responseDictionary[@"status"]]; } else { status = responseDictionary[@"status"]; } if([status isEqualToNumber:@0]) { NSLog(@"Success. Small thumbnail: %@", responseDictionary[@"thumbnail_https"]); } else { NSLog(@"API reports error: %@", responseDictionary[@"status_desc"]); } } else { NSLog(@"Unexpected status code\n"); } // Semaphore used only for the debug purpose dispatch_semaphore_signal(sema); }]; [dataTask resume]; // Semaphore used only for the debug purpose dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER); return 0; }
C#(.NET)
We will get screenshot for the domain name “whoapi.com”.
using Newtonsoft.Json.Linq; using System; using System.IO; using System.Net; public class Program { public static void Main() { string apiType = "screenshot"; // request type string fullurl = "whoapi.com"; // page url string apiKey = "demokey"; // api key string process = "thumb"; // thumb image only (first viewport without scroll) string resolution = "1366x768"; // screen resolution to use WebRequest request = WebRequest.Create(String.Format("https://api.whoapi.com/?fullurl={0}&r={1}&apikey={2}&process={3}&resolution={4}", fullurl, apiType, apiKey, process, resolution)); WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string responseFromServer = reader.ReadToEnd(); JObject json = JObject.Parse(responseFromServer); if (json.Value<int>("status") == 0) { Console.WriteLine(String.Format("Success. Small thumbnail: {0}. ", json["thumbnail_https"])); } else { Console.WriteLine(String.Format("API reports error: {0}. ", json["status_desc"])); } } }
Java
We will get screenshot for the domain name “whoapi.com”.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.json.JSONObject; class Main { public static void main(String args[]) { try { // Set data String fullurl = "whoapi.com"; // page url String rtype = "screenshot"; // request type String apikey = "demokey"; // your API key String process = "thumb"; // thumb image only (first viewport without scroll) String resolution = "1366x768"; // screen resolution to use // Send request to API URL obj = new URL("https://api.whoapi.com/?fullurl=" + fullurl + "&r=" + rtype + "&apikey=" + apikey + "&process=" + process + "&resolution=" + resolution); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // Validate HTTP response code int responseCode = con.getResponseCode(); if (responseCode != 200) { System.out.println("HTTP request error, code: " + responseCode); return; } // Read API reply BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // Get JSON JSONObject myResponse = new JSONObject(response.toString()); int status = myResponse.getInt("status"); String statusDesc = myResponse.getString("status_desc"); // Validate request status if (status != 0) { System.out.println("API reports error: " + statusDesc); return; } String thumbURL = myResponse.getString("thumbnail_https"); System.out.println("Success. Small thumbnail: " + thumbURL); } catch (Exception e) { e.printStackTrace(); } } }
PHP
Basic PHP example using cURL. First, we will send email “goran@whoapi.com” for the scoring.
<?php // Prepare vars $email = "goran@whoapi.com"; // email to check $r = "emailscore"; // request type $apikey = "demokey"; // your API key // API call $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.whoapi.com/?email=$email&r=$r&apikey=$apikey"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = json_decode(curl_exec($ch), true); curl_close($ch); // Success if (isset($output['status']) && $output['status'] == 0) { echo "Success. Email \"$email\" was sent for the scoring."; // API error } elseif (!empty($output['status_desc'])) { echo "API reports error: ".$output['status_desc']; // Unknown error } else { echo "Unknown error"; } ?>
Second, we will request the scoring result.
<?php // Prepare vars $email = "goran@whoapi.com"; // email to check $r = "emailscore-check"; // request type $apikey = "demokey"; // your API key // API call $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.whoapi.com/?email=$email&r=$r&apikey=$apikey"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = json_decode(curl_exec($ch), true); curl_close($ch); // Success if (isset($output['status']) && $output['status'] == 0) { // The result is not yet ready if (!isset($output['results'][0]['overall_score'])) { echo "Success. Email \"$email\" is not yet scored. Try again later."; } else { echo "Success. Email \"$email\" was scored: ".$output['results'][0]['overall_score']; } // API error } elseif (!empty($output['status_desc'])) { echo "API reports error: ".$output['status_desc']; // Unknown error } else { echo "Unknown error"; } ?>
Javascript
First, we will send email “goran@whoapi.com” for the scoring.
<script type="text/javascript"> var email = "goran@whoapi.com"; // email you want to check var r = "emailscore"; // request type var apikey = "demokey"; // your API key var xhr = new XMLHttpRequest(); xhr.open("GET", 'https://api.whoapi.com/?email='+email+'&r='+r+'&apikey='+apikey, true); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var json = JSON.parse(xhr.responseText); if (json.status == 0) { document.getElementById("result").innerHTML = "Success. Email was sent for the scoring."; } else { document.getElementById("result").innerHTML = "API reports error: " + json.status_desc; } } else { document.getElementById("result").innerHTML = "Unknown error"; } }; xhr.send(); </script> <div id="result">please wait..</div>
Second, we will request the scoring result.
<script type="text/javascript"> var email = "goran@whoapi.com"; // email you want to check var r = "emailscore-check"; // request type var apikey = "demokey"; // your API key var xhr = new XMLHttpRequest(); xhr.open("GET", 'https://api.whoapi.com/?email='+email+'&r='+r+'&apikey='+apikey, true); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var json = JSON.parse(xhr.responseText); if (json.status == 0) { // The result is not yet ready if (!json?.results[0]?.overall_score) { document.getElementById("result").innerHTML = "Success. Email is not yet scored. Try again later"; } else { document.getElementById("result").innerHTML = "Success. Email was scored: " + json.results[0].overall_score; } } else { document.getElementById("result").innerHTML = "API reports error: " + json.status_desc; } } else { document.getElementById("result").innerHTML = "Unknown error"; } }; xhr.send(); </script> <div id="result">please wait..</div>
Ruby
First, we will send email “goran@whoapi.com” for the scoring.
require 'open-uri' require 'json' email = "goran@whoapi.com" # email to check r = "emailscore" # request type apikey = "demokey" # your API key output = JSON.parse(URI.open("https://api.whoapi.com/?email=#{email}&r=#{r}&apikey=#{apikey}").read) if output["status"].to_i == 0 puts "Success. Email was sent for the scoring." elsif !output["status_desc"].nil? puts "API reports error: " + output["status_desc"] else puts "Unknown error" end
Second, we will request the scoring result.
require 'open-uri' require 'json' email = "goran@whoapi.com" # email to check r = "emailscore-check" # request type apikey = "demokey" # your API key output = JSON.parse(URI.open("https://api.whoapi.com/?email=#{email}&r=#{r}&apikey=#{apikey}").read) if output["status"].to_i == 0 if output["results"][0]["overall_score"].nil? puts "Success. Email is not yet scored. Try again later" elsif puts "Success. Email was scored: " + output["results"][0]["overall_score"].to_s end elsif !output["status_desc"].nil? puts "API reports error: " + output["status_desc"] else puts "Unknown error" end
Python
First, we will send email “goran@whoapi.com” for the scoring.
#!/usr/bin/env python import requests def whoapi_request(email, r, apikey) -> None: res = requests.get('https://api.whoapi.com', dict( email=email, r=r, apikey=apikey)) if res.status_code == 200: data = res.json() if int(data['status']) == 0: print("Success. Email was sent for the scoring.") else: print("API reports error: " + data['status_desc']) else: raise Exception('Unexpected status code %d' % res.status_code) email = 'goran@whoapi.com' # email to check r = 'emailscore' # request type apikey = 'demokey' # key whoapi_request(email, r, apikey)
Second, we will request the scoring result.
#!/usr/bin/env python import requests def whoapi_request(email, r, apikey) -> None: res = requests.get('https://api.whoapi.com', dict( email=email, r=r, apikey=apikey)) if res.status_code == 200: data = res.json() if int(data['status']) == 0: if data["results"][0]["overall_score"] is None: print("Success. Email is not yet scored. Try again later") else: print("Success. Email was scored: " + str(data["results"][0]["overall_score"])) else: print("API reports error: " + data['status_desc']) else: raise Exception('Unexpected status code %d' % res.status_code) email = 'goran@whoapi.com' # email to check r = 'emailscore-check' # request type apikey = 'demokey' # key whoapi_request(email, r, apikey)
Objective C
First, we will send email “goran@whoapi.com” for the scoring.
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSString *email = @"goran@whoapi.com"; // email to check NSString *r = @"emailscore"; // request type NSString *apikey = @"demokey"; // your API key NSString *urlAsString = [NSString stringWithFormat:@ "https://api.whoapi.com/?email=%@&r=%@&apikey=%@", email, r, apikey]; NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlAsString]]; [urlRequest setHTTPMethod:@"GET"]; NSURLSession *session = [NSURLSession sharedSession]; // Semaphore used only for the debug purpose dispatch_semaphore_t sema = dispatch_semaphore_create(0); NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; if(httpResponse.statusCode == 200) { NSError *parseError = nil; NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError]; NSNumber *status; if([responseDictionary[@"status"] isKindOfClass:[NSString class]]) { NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; f.numberStyle = NSNumberFormatterDecimalStyle; status = [f numberFromString:responseDictionary[@"status"]]; } else { status = responseDictionary[@"status"]; } if([status isEqualToNumber:@0]) { NSLog(@"Success. Email was sent for the scoring."); } else { NSLog(@"API reports error: %@", responseDictionary[@"status_desc"]); } } else { NSLog(@"Unexpected status code\n"); } // Semaphore used only for the debug purpose dispatch_semaphore_signal(sema); }]; [dataTask resume]; // Semaphore used only for the debug purpose dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER); return 0; }
Second, we will request the scoring result.
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSString *email = @"goran@whoapi.com"; // email to check NSString *r = @"emailscore-check"; // request type NSString *apikey = @"demokey"; // your API key NSString *urlAsString = [NSString stringWithFormat:@ "https://api.whoapi.com/?email=%@&r=%@&apikey=%@", email, r, apikey]; NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlAsString]]; [urlRequest setHTTPMethod:@"GET"]; NSURLSession *session = [NSURLSession sharedSession]; // Semaphore used only for the debug purpose dispatch_semaphore_t sema = dispatch_semaphore_create(0); NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; if(httpResponse.statusCode == 200) { NSError *parseError = nil; NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError]; NSNumber *status; if([responseDictionary[@"status"] isKindOfClass:[NSString class]]) { NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; f.numberStyle = NSNumberFormatterDecimalStyle; status = [f numberFromString:responseDictionary[@"status"]]; } else { status = responseDictionary[@"status"]; } if([status isEqualToNumber:@0]) { if (responseDictionary[@"results"][0][@"overall_score"] == nil) { NSLog(@"Success. Email is not yet scored. Try again later\n"); } else { NSLog(@"Success. Email was scored: %@", responseDictionary[@"results"][0][@"overall_score"]); } } else { NSLog(@"API reports error: %@", responseDictionary[@"status_desc"]); } } else { NSLog(@"Unexpected status code\n"); } // Semaphore used only for the debug purpose dispatch_semaphore_signal(sema); }]; [dataTask resume]; // Semaphore used only for the debug purpose dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER); return 0; }
C#(.NET)
First, we will send email “goran@whoapi.com” for the scoring.
using Newtonsoft.Json.Linq; using System; using System.IO; using System.Net; public class Program { public static void Main() { string apiType = "emailscore"; // request type string email = "goran@whoapi.com"; // email to check string apiKey = "demokey"; // api key WebRequest request = WebRequest.Create(String.Format("https://api.whoapi.com/?email={0}&r={1}&apikey={2}", email, apiType, apiKey)); WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string responseFromServer = reader.ReadToEnd(); JObject json = JObject.Parse(responseFromServer); if (json.Value<int>("status") == 0) { Console.WriteLine("Success. Email was sent for the scoring."); } else { Console.WriteLine(String.Format("API reports error: {0}. ", json["status_desc"])); } } }
Second, we will request the scoring result.
using Newtonsoft.Json.Linq; using System; using System.IO; using System.Net; public class Program { public static void Main() { string apiType = "emailscore-check"; // request type string email = "goran@whoapi.com"; // email to check string apiKey = "demokey"; // api key WebRequest request = WebRequest.Create(String.Format("https://api.whoapi.com/?email={0}&r={1}&apikey={2}", email, apiType, apiKey)); WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string responseFromServer = reader.ReadToEnd(); JObject json = JObject.Parse(responseFromServer); if (json.Value<int>("status") == 0) { if (json["results"][0]["overall_score"].Type == JTokenType.Null) { Console.WriteLine("Success. Email is not yet scored. Try again later"); } else { Console.WriteLine(String.Format("Success. Email was scored: {0}. ", json["results"][0]["overall_score"])); } } else { Console.WriteLine(String.Format("API reports error: {0}. ", json["status_desc"])); } } }
Java
First, we will send email “goran@whoapi.com” for the scoring.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.json.JSONObject; class Main { public static void main(String args[]) { try { // Set data String email = "goran@whoapi.com"; // email to check String rtype = "emailscore"; // request type String apikey = "demokey"; // your API key // Send request to API URL obj = new URL("https://api.whoapi.com/?email=" + email + "&r=" + rtype + "&apikey=" + apikey); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // Validate HTTP response code int responseCode = con.getResponseCode(); if (responseCode != 200) { System.out.println("HTTP request error, code: " + responseCode); return; } // Read API reply BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // Get JSON JSONObject myResponse = new JSONObject(response.toString()); int status = myResponse.getInt("status"); String statusDesc = myResponse.getString("status_desc"); // Validate request status if (status != 0) { System.out.println("API reports error: " + statusDesc); return; } System.out.println("Success. Email was sent for the scoring."); } catch (Exception e) { e.printStackTrace(); } } }
Second, we will request the scoring result.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.json.JSONObject; import org.json.JSONArray; class Main { public static void main(String args[]) { try { // Set data String email = "goran@whoapi.com"; // email to check String rtype = "emailscore-check"; // request type String apikey = "demokey"; // your API key // Send request to API URL obj = new URL("https://api.whoapi.com/?email=" + email + "&r=" + rtype + "&apikey=" + apikey); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // Validate HTTP response code int responseCode = con.getResponseCode(); if (responseCode != 200) { System.out.println("HTTP request error, code: " + responseCode); return; } // Read API reply BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // Get JSON JSONObject myResponse = new JSONObject(response.toString()); int status = myResponse.getInt("status"); String statusDesc = myResponse.getString("status_desc"); // Validate request status if (status != 0) { System.out.println("API reports error: " + statusDesc); return; } JSONArray results = myResponse.getJSONArray("results"); if (results.getJSONObject(0).isNull("overall_score")) { System.out.println("Success. Email is not yet scored. Try again later"); } else { int overallScore = results.getJSONObject(0).getInt("overall_score"); System.out.println("Success. Email was scored: " + overallScore); } } catch (Exception e) { e.printStackTrace(); } } }
PHP
Basic PHP example using cURL. We will get SSL certificate information for the domain name “whoapi.com”.
<?php // Prepare vars $domain = "whoapi.com"; // domain to check $r = "cert"; // request type $apikey = "demokey"; // your API key // API call $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.whoapi.com/?domain=$domain&r=$r&apikey=$apikey"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = json_decode(curl_exec($ch), true); curl_close($ch); // Success if (isset($output['status']) && $output['status'] == 0) { if (!empty($output['certondomain'])) { echo "Success. Domain \"$domain\" SSL certificate issuer: ".$output['issuer']; } else { echo "Success. Domain \"$domain\" has no SSL certificate"; } // API error } elseif (!empty($output['status_desc'])) { echo "API reports error: ".$output['status_desc']; // Unknown error } else { echo "Unknown error"; } ?>
Javascript
We will get SSL certificate information for the domain name “whoapi.com”.
<script type="text/javascript"> var domain = "whoapi.com"; // domain name you want to check var r = "cert"; // request type var apikey = "demokey"; // your API key var xhr = new XMLHttpRequest(); xhr.open("GET", 'https://api.whoapi.com/?domain='+domain+'&r='+r+'&apikey='+apikey, true); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var json = JSON.parse(xhr.responseText); if (json.status == 0) { document.getElementById("result").innerHTML = "Success. Domain SSL certificate issuer: " + json.issuer; } else { document.getElementById("result").innerHTML = "API reports error: " + json.status_desc; } } else { document.getElementById("result").innerHTML = "Unknown error"; } }; xhr.send(); </script> <div id="result">please wait..</div>
Ruby
We will get SSL certificate information for the domain name “whoapi.com”.
require 'open-uri' require 'json' domain = "whoapi.com" # domain to check r = "cert" # request type apikey = "demokey" # your API key output = JSON.parse(URI.open("https://api.whoapi.com/?domain=#{domain}&r=#{r}&apikey=#{apikey}").read) if output["status"].to_i == 0 puts "Success. Domain SSL certificate issuer: " + output["issuer"] elsif !output["status_desc"].nil? puts "API reports error: " + output["status_desc"] else puts "Unknown error" end
Python
We will get SSL certificate information for the domain name “whoapi.com”.
#!/usr/bin/env python import requests def whoapi_request(domain, r, apikey) -> None: res = requests.get('https://api.whoapi.com', dict( domain=domain, r=r, apikey=apikey)) if res.status_code == 200: data = res.json() if int(data['status']) == 0: print("Success. Domain SSL certificate issuer: " + data["issuer"]) else: print("API reports error: " + data['status_desc']) else: raise Exception('Unexpected status code %d' % res.status_code) domain = 'whoapi.com' # domain to check r = 'cert' # request type apikey = 'demokey' # key whoapi_request(domain, r, apikey)
Objective C
We will get SSL certificate information for the domain name “whoapi.com”.
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSString *domain = @"whoapi.com"; // domain to check NSString *r = @"cert"; // request type NSString *apikey = @"demokey"; // your API key NSString *urlAsString = [NSString stringWithFormat:@ "https://api.whoapi.com/?domain=%@&r=%@&apikey=%@", domain, r, apikey]; NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlAsString]]; [urlRequest setHTTPMethod:@"GET"]; NSURLSession *session = [NSURLSession sharedSession]; // Semaphore used only for the debug purpose dispatch_semaphore_t sema = dispatch_semaphore_create(0); NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; if(httpResponse.statusCode == 200) { NSError *parseError = nil; NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError]; NSNumber *status; if([responseDictionary[@"status"] isKindOfClass:[NSString class]]) { NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; f.numberStyle = NSNumberFormatterDecimalStyle; status = [f numberFromString:responseDictionary[@"status"]]; } else { status = responseDictionary[@"status"]; } if([status isEqualToNumber:@0]) { NSLog(@"Success. Domain SSL certificate issuer: %@", responseDictionary[@"issuer"]); } else { NSLog(@"API reports error: %@", responseDictionary[@"status_desc"]); } } else { NSLog(@"Unexpected status code\n"); } // Semaphore used only for the debug purpose dispatch_semaphore_signal(sema); }]; [dataTask resume]; // Semaphore used only for the debug purpose dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER); return 0; }
C#(.NET)
We will get SSL certificate information for the domain name “whoapi.com”.
using Newtonsoft.Json.Linq; using System; using System.IO; using System.Net; public class Program { public static void Main() { string apiType = "cert"; // request type string domain = "whoapi.com"; // domain to check string apiKey = "demokey"; // api key WebRequest request = WebRequest.Create(String.Format("https://api.whoapi.com/?domain={0}&r={1}&apikey={2}", domain, apiType, apiKey)); WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); string responseFromServer = reader.ReadToEnd(); JObject json = JObject.Parse(responseFromServer); if (json.Value<int>("status") == 0) { Console.WriteLine(String.Format("Success. Domain SSL certificate issuer: {0}. ", json["issuer"])); } else { Console.WriteLine(String.Format("API reports error: {0}. ", json["status_desc"])); } } }
Java
We will get SSL certificate information for the domain name “whoapi.com”.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.json.JSONObject; class Main { public static void main(String args[]) { try { // Set data String domain = "whoapi.com"; // domain to check String rtype = "cert"; // request type String apikey = "demokey"; // your API key // Send request to API URL obj = new URL("https://api.whoapi.com/?domain=" + domain + "&r=" + rtype + "&apikey=" + apikey); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // Validate HTTP response code int responseCode = con.getResponseCode(); if (responseCode != 200) { System.out.println("HTTP request error, code: " + responseCode); return; } // Read API reply BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // Get JSON JSONObject myResponse = new JSONObject(response.toString()); int status = myResponse.getInt("status"); String statusDesc = myResponse.getString("status_desc"); // Validate request status if (status != 0) { System.out.println("API reports error: " + statusDesc); return; } if (myResponse.has("certondomain") && myResponse.getBoolean("certondomain") == true) { String issuer = myResponse.getString("issuer"); System.out.println("Success. Domain SSL certificate issuer: " + issuer); } else { System.out.println("Success. Domain has no SSL certificate"); } } catch (Exception e) { e.printStackTrace(); } } }