IP Whois Lookup Documentation

Overview

  • IP Whois Lookup
    IP Whois Lookup provides real-time IP related data like Inet numbers, CIDR, contacts details, and some other details that are directly fetched from our servers.

Authorization

You can make authorized requests to our API by passing API key as a query parameter. To get your API key, login to our billing dashboard and get your API key! If your API key has been compromised, you can change it by clicking on reset button in billing dashboard.


IP Whois Lookup

API

GET https://api.whoisfreaks.com/v1.0/ip-whois?apiKey=API_KEY&ip=8.8.8.8 Copy
Copied


Input parameters: required

apiKey Get your API key from our billing dashboard.

ip IPv4 or IPv6 address for the requested whois.

Input parameters: optional

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


Code Snippets


curl --location --request GET 'https://api.whoisfreaks.com/v1.0/ip-whois?apiKey=API_KEY&ip=8.8.8.8'
Copy

                        

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://api.whoisfreaks.com/v1.0/ip-whois?apiKey=API_KEY&ip=8.8.8.8',
  'headers': {
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});


Copy

                        

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
Request request = new Request.Builder()
  .url("https://api.whoisfreaks.com/v1.0/ip-whois?apiKey=API_KEY&ip=8.8.8.8")
  .method("GET", null)
  .build();
Response response = client.newCall(request).execute();

Copy


import http.client

conn = http.client.HTTPSConnection("api.whoisfreaks.com")
payload = ''
headers = {}

conn.request("GET", "/v1.0/ip-whois?apiKey=API_KEY&ip=8.8.8.8", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Copy

                        

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.whoisfreaks.com/v1.0/ip-whois?apiKey=API_KEY&ip=8.8.8.8',
  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;


Copy

                        

require "uri"
require "net/http"

url = URI("https://api.whoisfreaks.com/v1.0/ip-whois?apiKey=API_KEY&ip=8.8.8.8")

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


Copy

                        

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

fetch("https://api.whoisfreaks.com/v1.0/ip-whois?apiKey=API_KEY&ip=8.8.8.8", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

Copy

                        

var client = new RestClient("https://api.whoisfreaks.com/v1.0/ip-whois?apiKey=API_KEY&ip=8.8.8.8");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

Copy

                        

package main

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

func main() {

  url := "https://api.whoisfreaks.com/v1.0/ip-whois?apiKey=API_KEY&ip=8.8.8.8"
  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))
}

Copy


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/ip-whois?apiKey=API_KEY&ip=8.8.8.8");
  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);


Copy

                        

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/ip-whois?apiKey=API_KEY&ip=8.8.8.8")!,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()


Copy

                        

Response

The Live IP-Whois API provides responses in JSON/XML formats. You can pass the desired format as a parameter to consume the API in your preferred style. The default format is JSON. The response from this API contains information about allocation and registration, including the IP range, CIDR notation, network name, and status. Additionally, it provides details about the organization responsible for the given IP address. The response also includes contact information for both technical and abuse-related inquiries. An IP-Whois lookup will also yield information about which registry the given IP belongs to among the five Regional Internet Registries (RIRs) responsible for managing IP address allocation and related services in specific geographic regions.


{
    "status": true,
    "ip_address": "8.8.8.8",
    "query_time": "2024-02-01 07:50:47",
    "whois_server": "whois.arin.net",
    "inet_nums": [
        {
            "start_ip": "8.8.8.0",
            "end_ip": "8.8.8.255",
            "cidr": [
                "8.8.8.0/24"
            ],
            "net_name": "GOGL",
            "net_handle": "NET-8-8-8-0-2",
            "status": "Direct Allocation",
            "organization": "Google LLC (GOGL)",
            "date_created": "2023-12-28",
            "date_updated": "2023-12-28",
            "source": "https://rdap.arin.net/registry/ip/8.8.8.0",
            "parents": [
                "NET8 (NET-8-0-0-0-0)"
            ]
        }
    ],
    "organization": {
        "handle": "GOGL",
        "name": "Google LLC",
        "address": [
            "1600 Amphitheatre Parkway",
            "Mountain View",
            "CA",
            "94043",
            "US"
        ],
        "street": "Amphitheatre Parkway",
        "city": "Mountain View",
        "state": "CA",
        "zip_code": "94043",
        "country": [
            "US"
        ],
        "date_created": "2000-03-30",
        "date_updated": "2019-10-31",
        "source": "https://rdap.arin.net/registry/entity/GOGL"
    },
    "technical_contacts": [
        {
            "handle": "ZG39-ARIN",
            "name": "Google LLC",
            "email": [
                "arin-contact@google.com"
            ],
            "phone": [
                "+1-650-253-0000"
            ],
            "source": "https://rdap.arin.net/registry/entity/ZG39-ARIN"
        }
    ],
    "abuse_contacts": [
        {
            "handle": "ABUSE5250-ARIN",
            "name": "Abuse",
            "email": [
                "network-abuse@google.com"
            ],
            "phone": [
                "+1-650-253-0000"
            ],
            "source": "https://rdap.arin.net/registry/entity/ABUSE5250-ARIN"
        }
    ],
    "whois_raw_response": "#\n# ARIN WHOIS data and services are subject to the Terms of Use\n# available at: https://www.arin.net/resources/registry/whois/tou/\n#\n# If you see inaccuracies in the results, please report at\n# https://www.arin.net/resources/registry/whois/inaccuracy_reporting/\n#\n# Copyright 1997-2024, American Registry for Internet Numbers, Ltd.\n#\n\n\nNetRange:       8.8.8.0 - 8.8.8.255\nCIDR:           8.8.8.0/24\nNetName:        GOGL\nNetHandle:      NET-8-8-8-0-2\nParent:         NET8 (NET-8-0-0-0-0)\nNetType:        Direct Allocation\nOriginAS:       \nOrganization:   Google LLC (GOGL)\nRegDate:        2023-12-28\nUpdated:        2023-12-28\nRef:            https://rdap.arin.net/registry/ip/8.8.8.0\n\n\nOrgName:        Google LLC\nOrgId:          GOGL\nAddress:        1600 Amphitheatre Parkway\nCity:           Mountain View\nStateProv:      CA\nPostalCode:     94043\nCountry:        US\nRegDate:        2000-03-30\nUpdated:        2019-10-31\nComment:        Please note that the recommended way to file abuse complaints are located in the following links. \nComment:        \nComment:        To report abuse and illegal activity: https://www.google.com/contact/\nComment:        \nComment:        For legal requests: http://support.google.com/legal \nComment:        \nComment:        Regards, \nComment:        The Google Team\nRef:            https://rdap.arin.net/registry/entity/GOGL\n\n\nOrgTechHandle: ZG39-ARIN\nOrgTechName:   Google LLC\nOrgTechPhone:  +1-650-253-0000 \nOrgTechEmail:  arin-contact@google.com\nOrgTechRef:    https://rdap.arin.net/registry/entity/ZG39-ARIN\n\nOrgAbuseHandle: ABUSE5250-ARIN\nOrgAbuseName:   Abuse\nOrgAbusePhone:  +1-650-253-0000 \nOrgAbuseEmail:  network-abuse@google.com\nOrgAbuseRef:    https://rdap.arin.net/registry/entity/ABUSE5250-ARIN\n\n\n#\n# ARIN WHOIS data and services are subject to the Terms of Use\n# available at: https://www.arin.net/resources/registry/whois/tou/\n#\n# If you see inaccuracies in the results, please report at\n# https://www.arin.net/resources/registry/whois/inaccuracy_reporting/\n#\n# Copyright 1997-2024, American Registry for Internet Numbers, Ltd.\n#"
}

                


HTTP Error Codes

Below mentioned possible type of error and desc.

HTTP Code
Error Message
400 Request-param 'ip' (<ip>) is not an IP address. 400 Request-param 'format' (<format>) is not valid. Supported formats are json, xml. 401 Provided API key is invalid. [For Technical Support: support@whoisfreaks.com] 401 Provided API key is inactive. [For Technical Support: support@whoisfreaks.com] 401 Please buy subscription plan or add api credits then use this api key. [For Technical Support: support@whoisfreaks.com] 401 Your subscription is deactivated.Please buy new plan or add api credits for using whoisfreaks api's [For Technical Support: support@whoisfreaks.com] 401 Your subscription is deactivated due to many time payment failure.Please buy new plan or add api credits for using whoisfreaks api's. 401 Your account is deactivated.[For Technical Support: support@whoisfreaks.com] 408 Unable to fetch whois data. Please try again. [For technical support: support@whoisfreaks.com] 412 You have exceeded the limit of api plan requests and your subscription canceled.Please contact our technical support team: support@whoisfreaks.com] 413 You have exceeded the limit of api credits requests [allowed_request_no].Please upgrade your plan [For Technical Support: support@whoisfreaks.com] 413 You have exceeded the limit of Surcharge Requests [allowed_surcharge_request_no]. Please upgrade your plan [For Technical Support: support@whoisfreaks.com] 429 Please slow down.Your maximum request limit per minute reached. 500 Internal Server Error occurred [For Technical Support: support@whoisfreaks.com]. 503 Service is unavailable. Please try after some time or contact support@whoisfreaks.com. 504 Request is timed-out. Please contact at support@whoisfreaks.com.

HTTP Success Codes

Below-mentioned possible type of success status codes and their desc.

HTTP Code
Description
200 OK (Request is processed successfully.) 206 Partial Response.

Credits Usage API

You need credits in order to use Whoisfreaks API. IP Whois Lookup service will charge 1 credit per successful query for an IP address. Surcharge requests are only allowed to credit subscribers. You can fetch credits usage and remaining credits information through an API.

GET https://api.whoisfreaks.com/v1.0/whoisapi/usage?apiKey=API_KEY Copy
Copied

Input parameters: required

apiKey Get your API key from our billing dashboard.

Input parameters: optional

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


Response

You can get API key from our billing dashboard.

                    
{
    "apiKey": "API_KEY",
    "apiCredits": {
        "totalCredits": 1020079,
        "servedRequest": 1533
    },
    "apiSubscription": {
        "subscriptionStatus": "deactivated",
        "requestLimit": 0,
        "servedRequests": 18,
        "surchargeRequestLimit": 0,
        "servedSurchargeRequests": 0
    }
}
                    
        

FAQs

What is an IP WHOIS Lookup?

An IP WHOIS lookup is a query to retrieve information about an IP address, including the organization that registered it, contact information, and allocation details. The Live IP-Whois API provides responses in JSON/XML formats.



What information does an IP WHOIS Lookup provide?

It typically provides details like the registrant's name, organization, contact information, IP range, network name, and allocation status and also the details about the organization responsible for the given IP address.



Is IP WHOIS Lookup data always accurate?

WHOIS data relies on registrants providing accurate information. While registries strive for accuracy, there can be outdated or incomplete records.



Can I use IP WHOIS Lookup for any IP address?

Yes, you can look up the WHOIS information for any public IP address. Private IP addresses (e.g., 192.168.x.x) won't have WHOIS data as they are not globally unique.