Calling API

For getting the API key, you need to get started with our developer account. When you sign up then you can copy the API key from our billing dashboard. We are providing 100 free API calls.

Copied
GET https://api.whoisfreaks.com/v1.0/whois?apiKey=API_KEY&whois=live&domainName=whoisfreaks.com


Input parameters: required

apiKey Get your API key on our billing dashboard.

whois For getting live or historical or reverse whois.

domainName The domainName for requested whois.

Input parameters: optional

format Two formats are available JSON, XML. If you don't pass 'format' parameter, default format is JSON.


Response

For getting the API key, you need to get started with our developer account. When you sign up then you can copy the API key from our billing dashboard. We are providing 100 free API calls.

                    
{
    "status": true,
    "domain_name": "whoisfreaks.com",
    "query_time": "2021-02-01 06:51:09",
    "whois_server": "whois.namecheap.com",
    "domain_registered": "yes",
    "create_date": "2019-03-19",
    "update_date": "2020-02-18",
    "expiry_date": "2021-03-19",
    "domain_registrar": {
        "iana_id": "1068",
        "registrar_name": "NAMECHEAP INC",
        "whois_server": "whois.namecheap.com",
        "website_url": "http://www.namecheap.com",
        "email_address": "abuse@namecheap.com",
        "phone_number": "+1.6613102107"
    },
    "registrant_contact": {
        "name": "WhoisGuard Protected",
        "company": "WhoisGuard, Inc.",
        "street": "P.O. Box 0823-03411",
        "city": "Panama",
        "state": "Panama",
        "country_name": "Panama",
        "country_code": "PA",
        "email_address": "27e85c859c984e99ac6c9b8958b99870.protect@whoisguard.com",
        "phone": "+507.8365503",
        "fax": "+51.17057182"
    },
    "administrative_contact": {
        "name": "WhoisGuard Protected",
        "company": "WhoisGuard, Inc.",
        "street": "P.O. Box 0823-03411",
        "city": "Panama",
        "state": "Panama",
        "country_name": "Panama",
        "country_code": "PA",
        "email_address": "27e85c859c984e99ac6c9b8958b99870.protect@whoisguard.com",
        "phone": "+507.8365503",
        "fax": "+51.17057182"
    },
    "technical_contact": {
        "name": "WhoisGuard Protected",
        "company": "WhoisGuard, Inc.",
        "street": "P.O. Box 0823-03411",
        "city": "Panama",
        "state": "Panama",
        "country_name": "Panama",
        "country_code": "PA",
        "email_address": "27e85c859c984e99ac6c9b8958b99870.protect@whoisguard.com",
        "phone": "+507.8365503",
        "fax": "+51.17057182"
    },
    "billing_contact": {
        "name": "WhoisGuard Protected",
        "company": "WhoisGuard, Inc.",
        "street": "P.O. Box 0823-03411",
        "city": "Panama",
        "state": "Panama",
        "country_name": "Panama",
        "country_code": "PA",
        "email_address": "27e85c859c984e99ac6c9b8958b99870.protect@whoisguard.com",
        "phone": "+507.8365503",
        "fax": "+51.17057182"
    },
    "name_servers": [
        "dns8.cloudns.net",
        "dns4.cloudns.net",
        "dns3.cloudns.net",
        "dns7.cloudns.net"
    ],
    "domain_status": [
        "clientTransferProhibited"
    ],
    "whois_raw_domain": "\nDomain name: whoisfreaks.com\nRegistry Domain ID: 2370976244_DOMAIN_COM-VRSN\nRegistrar WHOIS Server: whois.namecheap.com\nRegistrar URL: http://www.namecheap.com\nUpdated Date: 2020-02-18T07:36:20.02Z\nCreation Date: 2019-03-19T18:24:27.00Z\nRegistrar Registration Expiration Date: 2021-03-19T18:24:27.00Z\nRegistrar: NAMECHEAP INC\nRegistrar IANA ID: 1068\nRegistrar Abuse Contact Email: abuse@namecheap.com\nRegistrar Abuse Contact Phone: +1.6613102107\nReseller: NAMECHEAP INC\nDomain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited\nRegistry Registrant ID: \nRegistrant Name: WhoisGuard Protected\nRegistrant Organization: WhoisGuard, Inc.\nRegistrant Street: P.O. Box 0823-03411 \nRegistrant City: Panama\nRegistrant State/Province: Panama\nRegistrant Postal Code: \nRegistrant Country: PA\nRegistrant Phone: +507.8365503\nRegistrant Phone Ext: \nRegistrant Fax: +51.17057182\nRegistrant Fax Ext: \nRegistrant Email: 27e85c859c984e99ac6c9b8958b99870.protect@whoisguard.com\nRegistry Admin ID: \nAdmin Name: WhoisGuard Protected\nAdmin Organization: WhoisGuard, Inc.\nAdmin Street: P.O. Box 0823-03411 \nAdmin City: Panama\nAdmin State/Province: Panama\nAdmin Postal Code: \nAdmin Country: PA\nAdmin Phone: +507.8365503\nAdmin Phone Ext: \nAdmin Fax: +51.17057182\nAdmin Fax Ext: \nAdmin Email: 27e85c859c984e99ac6c9b8958b99870.protect@whoisguard.com\nRegistry Tech ID: \nTech Name: WhoisGuard Protected\nTech Organization: WhoisGuard, Inc.\nTech Street: P.O. Box 0823-03411 \nTech City: Panama\nTech State/Province: Panama\nTech Postal Code: \nTech Country: PA\nTech Phone: +507.8365503\nTech Phone Ext: \nTech Fax: +51.17057182\nTech Fax Ext: \nTech Email: 27e85c859c984e99ac6c9b8958b99870.protect@whoisguard.com\nName Server: dns3.cloudns.net\nName Server: dns4.cloudns.net\nName Server: dns7.cloudns.net\nName Server: dns8.cloudns.net\nDNSSEC: unsigned\nURL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/\n>>> Last update of WHOIS database: 2021-01-31T06:51:09.15Z <<<\nFor more information on Whois status codes, please visit https://icann.org/epp",
    "registry_data": {
        "domain_name": "WHOISFREAKS.COM",
        "query_time": "2021-02-01 06:51:07",
        "whois_server": "whois.verisign-grs.com",
        "domain_registered": "yes",
        "create_date": "2019-03-19",
        "update_date": "2020-11-26",
        "expiry_date": "2021-03-19",
        "domain_registrar": {
            "iana_id": "1068",
            "registrar_name": "NameCheap, Inc.",
            "whois_server": "whois.namecheap.com",
            "website_url": "http://www.namecheap.com",
            "email_address": "abuse@namecheap.com",
            "phone_number": "+1.6613102107"
        },
        "name_servers": [
            "DNS8.CLOUDNS.NET",
            "DNS4.CLOUDNS.NET",
            "DNS3.CLOUDNS.NET",
            "DNS7.CLOUDNS.NET"
        ],
        "domain_status": [
            "clientTransferProhibited"
        ],
        "whois_raw_registery": "\n   Domain Name: WHOISFREAKS.COM\n   Registry Domain ID: 2370976244_DOMAIN_COM-VRSN\n   Registrar WHOIS Server: whois.namecheap.com\n   Registrar URL: http://www.namecheap.com\n   Updated Date: 2020-11-26T10:46:48Z\n   Creation Date: 2019-03-19T18:24:27Z\n   Registry Expiry Date: 2021-03-19T18:24:27Z\n   Registrar: NameCheap, Inc.\n   Registrar IANA ID: 1068\n   Registrar Abuse Contact Email: abuse@namecheap.com\n   Registrar Abuse Contact Phone: +1.6613102107\n   Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited\n   Name Server: DNS3.CLOUDNS.NET\n   Name Server: DNS4.CLOUDNS.NET\n   Name Server: DNS7.CLOUDNS.NET\n   Name Server: DNS8.CLOUDNS.NET\n   DNSSEC: unsigned\n   URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/\n>>> Last update of whois database: 2021-02-01T05:51:01Z <<<\n\nFor more information on Whois status codes, please visit https://icann.org/epp\n\nNOTICE: The expiration date displayed in this record is the date the\nregistrar's sponsorship of the domain name registration in the registry is\ncurrently set to expire. This date does not necessarily reflect the expiration\ndate of the domain name registrant's agreement with the sponsoring\nregistrar.  Users may consult the sponsoring registrar's Whois database to\nview the registrar's reported date of expiration for this registration.\n\nTERMS OF USE: You are not authorized to access or query our Whois\ndatabase through the use of electronic processes that are high-volume and\nautomated except as reasonably necessary to register domain names or\nmodify existing registrations; the Data in VeriSign Global Registry\nServices' (\"VeriSign\") Whois database is provided by VeriSign for\ninformation purposes only, and to assist persons in obtaining information\nabout or related to a domain name registration record. VeriSign does not\nguarantee its accuracy. By submitting a Whois query, you agree to abide\nby the following terms of use: You agree that you may use this Data only\nfor lawful purposes and that under no circumstances will you use this Data\nto: (1) allow, enable, or otherwise support the transmission of mass\nunsolicited, commercial advertising or solicitations via e-mail, telephone,\nor facsimile; or (2) enable high volume, automated, electronic processes\nthat apply to VeriSign (or its computer systems). The compilation,\nrepackaging, dissemination or other use of this Data is expressly\nprohibited without the prior written consent of VeriSign. You agree not to\nuse electronic processes that are automated and high-volume to access or\nquery the Whois database except as reasonably necessary to register\ndomain names or modify existing registrations. VeriSign reserves the right\nto restrict your access to the Whois database in its sole discretion to ensure\noperational stability.  VeriSign may restrict or terminate your access to the\nWhois database for failure to abide by these terms of use. VeriSign\nreserves the right to modify these terms at any time.\n\nThe Registry database contains ONLY .COM, .NET, .EDU domains and\nRegistrars."
    }
}
                    
            



Important Note:

This is the complete JSON with domain_registrar,registrant_contact,administrative_contact,technical_contact,billing_contact,name_servers, domain_status objects.In some cases, some of these objects can be empty when performing whois of requested domains because whois have missing information of such objects so you should have to check condition on your side.

HTTP Error Codes

Below mentioned possible type of error and desc

            
{
    "timestamp": 1614238086296,
    "status": 404,
    "error": "Record Not Found",
    "message": "Record not found",
    "path": "/v1.0/whois/whois=live&domainName=notfounddomians.com&apiKey=API_KEY"
}
            
            
            
{
    "timestamp": 1614238131025,
    "status": 403,
    "error": "Not Supported Domain extension",
    "message": "We are not providing the whois of this domain extension(cam)",
    "path": "/v1.0/whois/whois=live&domainName=DOMAIN_NAME&apiKey=API_KEY"
}
            
            
            
 {
    "timestamp": 1612161378521,
    "status": 400,
    "error": "Invalid Param Exception",
    "message": "Please pass domain param correct value[For Technical Support: support@whoisfreaks.com]",
    "path": "/v1.0/whois/whois=live&domainName=&apiKey=API_KEY"
}
            
                        
            {
    "timestamp": 1612161378521,
    "status": 408,
    "error": "Fetching Whois Data Failed",
    "message": "This TLD has no whois server",
    "path": "/v1.0/whois/whois=live&domainName=DOMAIN_NAME&apiKey=API_KEY"
}
            
            

Some common Errors:

                        
 {
    "timestamp": 1612161378521,
    "status": 401,
    "error": "Api Access Exception",
    "message": "Provided API key is invalid. [For Technical Support: support@whoisfreaks.com]",
    "path": "/v1.0/whois/whois=live&domainName=DOMAIN_NAME&apiKey=API_KEY"
}
            
                        

                        
 {
    "timestamp": 1612161378521,
    "status": 401,
    "error": "Api Access Exception",
    "message": "Provided API key is inactive. [For Technical Support: support@whoisfreaks.com]",
    "path": "/v1.0/whois/whois=live&domainName=DOMAIN_NAME&apiKey=API_KEY"
}
            
                        

                        
 {
    "timestamp": 1612161378521,
    "status": 401,
    "error": "Api Access Exception",
    "message": "Please buy subscription plan or add api credits then use this api key. [For Technical Support: support@whoisfreaks.com]",
    "path": "/v1.0/whois/whois=live&domainName=DOMAIN_NAME&apiKey=API_KEY"
}
            
                        

                        
 {
    "timestamp": 1612161378521,
    "status": 413,
    "error": "Api Access Exception",
    "message": "You have exceeded the limit of api credits requests [allowed_request_no].Please upgrade your plan [For Technical Support: support@whoisfreaks.com]  ",
    "path": "/v1.0/whois/whois=live&domainName=DOMAIN_NAME&apiKey=API_KEY"
}
            
                        

                        
 {
    "timestamp": 1612161378521,
    "status": 412,
    "error": "Api Access Exception",
    "message": "You have exceeded the limit of api plan requests and your subscription canceled.Please contact our technical support team: support@whoisfreaks.com]",
    "path": "/v1.0/whois/whois=live&domainName=DOMAIN_NAME&apiKey=API_KEY"
}
            

            

                        
 {
    "timestamp": 1612161378521,
    "status": 413,
    "error": "Api Access Exception",
    "message": "You have exceeded the limit of Surcharge Requests [allowed_surcharge_request_no]. Please upgrade your plan [For Technical Support: support@whoisfreaks.com] ",
    "path": "/v1.0/whois/whois=live&domainName=DOMAIN_NAME&apiKey=API_KEY"
}
            

            

                        
 {
    "timestamp": 1612161378521,
    "status": 401,
    "error": "Api Access Exception",
    "message": "Your subscription is deactivated.Please buy new plan or add api credits for using whoisfreaks api's [For Technical Support: support@whoisfreaks.com]",
    "path": "/v1.0/whois/whois=live&domainName=DOMAIN_NAME&apiKey=API_KEY"
}
            
                        

                        
 {
    "timestamp": 1612161378521,
    "status": 401,
    "error": "Api Access Exception",
    "message": "Your subscription is deactivated due to many time payment failure.Please buy new plan or add api credits for using whoisfreaks api's",
    "path": "/v1.0/whois/whois=live&domainName=DOMAIN_NAME&apiKey=API_KEY"
}
            
                        



                        
 {
    "timestamp": 1612161378521,
    "status": 401,
    "error": "Api Access Exception",
    "message": "Your account is deactivated.[For Technical Support: support@whoisfreaks.com]",
    "path": "/v1.0/whois/whois=live&domainName=DOMAIN_NAME&apiKey=API_KEY"
}
            
                        

API Usage Rule

Cost Using Live Whois Service will charge 1 credit per domain.

Code Snippet


    curl --location --request GET 'https://api.whoisfreaks.com/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=6363653972fe4df89638c45db1acf016'



var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://api.whoisfreaks.com/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=6363653972fe4df89638c45db1acf016',
  'headers': {
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





    OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
Request request = new Request.Builder()
  .url("https://api.whoisfreaks.com/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=6363653972fe4df89638c45db1acf016")
  .method("GET", null)
  .build();
Response response = client.newCall(request).execute();




    import http.client
    conn = http.client.HTTPSConnection("api.whoisfreaks.com")
payload = ''
headers = {}
conn.request("GET", "/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=6363653972fe4df89638c45db1acf016", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))




     'https://api.whoisfreaks.com/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=6363653972fe4df89638c45db1acf016',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;





require "uri"
require "net/http"

url = URI("https://api.whoisfreaks.com/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=6363653972fe4df89638c45db1acf016")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

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

response = https.request(request)
puts response.read_body





    var requestOptions = {
  method: 'GET',
  redirect: 'follow'
};

fetch("https://api.whoisfreaks.com/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=6363653972fe4df89638c45db1acf016", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));




var client = new RestClient("https://api.whoisfreaks.com/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=6363653972fe4df89638c45db1acf016");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);




    package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://api.whoisfreaks.com/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=6363653972fe4df89638c45db1acf016"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}




    CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
  curl_easy_setopt(curl, CURLOPT_URL, "https://api.whoisfreaks.com/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=6363653972fe4df89638c45db1acf016");
  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
  curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
  struct curl_slist *headers = NULL;
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);





import Foundation
#if canImport(FoundationNetworking)
import FoundationNetworking
#endif

var semaphore = DispatchSemaphore (value: 0)

var request = URLRequest(url: URL(string: "https://api.whoisfreaks.com/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=6363653972fe4df89638c45db1acf016")!,timeoutInterval: Double.infinity)
request.httpMethod = "GET"

let task = URLSession.shared.dataTask(with: request) { data, response, error in
  guard let data = data else {
    print(String(describing: error))
    semaphore.signal()
    return
  }
  print(String(data: data, encoding: .utf8)!)
  semaphore.signal()
}

task.resume()
semaphore.wait()




FAQs

What is WHOIS API? How it Works?

Our Whois Lookup API provides many TlDs well-structured whois in JSON/XML formats. Every time we fetch live whois data from respective whois servers. In Live Whois API, we don't cache result.



Not Found Whois Record of domains will be charged or not?

Yes, we charge 1 credit whether whois found or not. We push request on respective whois servers if domain is not registered, whois will not be found. We don't charge if our system fails to get whois.



How many TLDs are supported by your system?

You can check the current supported TLDs here: list



Do you have notification service when my API credits or requests near to an end?

Yes, we will inform you via an email. We send notification email on 80%,90%,100% usage.



What happened if my API credits or requests are ended and my system is using whois API?

On Subscription plans have surcharge service. We will serve you if your API credits or requests limit reached until your surcharge allowed request limit reach. Each subscription plan has a different no of surcharge requests.



What is surcharge service?

Whenever your system will consume your API subscription plan quota 100% then we take care and keep on serving you according to your plan surcharge requests. And when your subscription will renew then our system will calculate amount according to surcharge requests consumed and add this amount to the actual plan price.



API Credit plans have surcharge service?

No.We don't server when API credit plans have reached their request limit.