Documentation


Introduction

WhoisDataCenter.com provides RESTful APIs. It is designed for server-to-server communication between your system and the WhoisDataCenter.com network using HTTPs protocol.

Domain Lookup API

    Our domain lookup API provides the latest domain WHOIS records directly from our extensive database, ensuring you have the most up-to-date information.

Historical Whois API

    Uncover the rich history of domain WHOIS records with our Historical Whois API, offering a comprehensive archive for thorough analysis.

Reverse Whois API

    Explore WHOIS records effortlessly using keywords, email addresses, registrant names, company names, phone numbers, and more.

    1. Keyword Search

  • Employ a case-insensitive Pattern Matching search technique to uncover patterns like "myexample" and "examplecom" when searching for "example."
  • 2. Email Search

  • Use a case-insensitive exact matching technique to find matches such as "[email protected]" when searching for "[email protected]."
  • 3. Phone Search

  • Utilize a containment matching technique to find matches like "987654321" when searching for "987654321."
  • 4. Registrant Name Search

  • Leverage a full-text search technique to discover matches including "John Smith," "John Smiths," "John Smith123," "myexample," and "examplecom" when searching for "John Smith.
  • 5. Company Search

  • Harness a full-text search technique to locate matches such as "example," "example.com," "Example," "myexample," and "examplecom" when searching for "example.
  • 6. Bulk Domain Lookup

  • Effortlessly query multiple domains in one request through our Bulk Domain WHOIS Lookup. Perform bulk WHOIS searches for up to 1000 domains in JSON / XML formats in a single request. For queries involving bulk WHOIS for up to 100 million domains, conveniently upload files via our billing portal. Upon completion of crawling, we will promptly send you an email with a link to download your WHOIS file.

Pricing for Credits

Monthly Credits Daily Limit Price USD Price / Lookup Price / Historical Lookup Price / Reverse Lookup
1000 $100 USD 0 0 0 0
Monthly Credits Daily Limit Price USD Price / Lookup Price / Historical Lookup Price / Reverse Lookup
10,000 1,000 $30 USD 0.003 0.006 0.009
50,000 5,000 $135 USD 0.0027 0.0054 0.0081
100,000 10,000 $243 USD 0.00243 0.00486 0.00729
500,000 50,000 $1,094 USD 0.002187 0.004374 0.006561
1,000,000 100,000 $1968 USD 0.0019683 0.0039366 0.0059049
Monthly Credits Daily Limit Price USD Price / Lookup Price / Historical Lookup Price / Reverse Lookup
10,000 1,000 $27 USD 0.0027 0.0054 0.0081
50,000 5,000 $122 USD 0.00243 0.00486 0.00729
100,000 10,000 $219 USD 0.002187 0.004374 0.006561
500,000 50,000 $984 USD 0.0019683 0.0039366 0.0059049
1,000,000 100,000 $$1,771 USD 0.00177147 0.00354294 0.00531441
Monthly Credits Daily Limit Price USD Price / Lookup Price / Historical Lookup Price / Reverse Lookup
10,000 1,000 $24 USD 0.00243 0.00486 0.00729
50,000 5,000 $109 USD 0.002187 0.004374 0.006561
100,000 10,000 $197 USD 0.0019683 0.0039366 0.0059049
500,000 50,000 $886 USD 0.00177147 0.00354294 0.00531441
1,000,000 100,000 $1,594 USD 0.001594323 0.003188646 0.004782969

    WDC Credit Framework

  • 1 Credit: Live Domain Lookup Record. (Latest record within the last 365 days)
  • 2 Credits: Each Domain History Record. (Records older than 365 days)
  • 3 Credits: Each Reverse Lookup Record. (Fetching domain WHOIS details using name, phone, email, company name, or registrant name, regardless of date)

Pricing for Feeds

Monthly

Annually

Database Name Price
Newly Registered Whois Database $299 USD
Expiring Whois Database $299 USD
Email proxy removed Whois Database $299 USD
Phone proxy removed Whois Database $299 USD

Error Handling

HTTP Code

Error Message

Or

Or

Or

Or

Or

The HTTP 401 status code indicates that the request lacks valid authentication credentials or the provided credentials are insufficient. Above are specific scenarios that may trigger a 401 error response.


Data Format

  • JSON and XML: For both Lookup and Reverse Lookup operations.
  • CSV in ZIP: Compressed in Feeds for convenient data retrieval.

Rate Limit

  • 15 requests per minute
  • 20 concurrent requests
  • 5 concurrent requests for bulk data

Domain Reverse Lookup API

Our domain lookup API provides the latest domain WHOIS records directly from our extensive database, ensuring you have the most up-to-date information.

Domain Lookup API Endpoint:

API

POST/GET https://api.whoisdatacenter.com/v1/domain

{
 "domain": "example",
 "apiKey": "{place_your_api_key_here}"
}

API Request Examples:

 # Python
import requests

api_key = 'place_your_api_key_here'
domain = 'example.com'
api_url=f'https://api.whoisdatacenter.com/v1/domain?apiKey={api_key}&domain={domain}'

response = requests.get(api_url)
data = response.json()
print(data)
#!/bin/bash
apiKey="place_your_api_key_here"
domain="example.com"
apiUrl="https://api.whoisdatacenter.com/v1/domain?apiKey=${apiKey}&domain=${domain}"
# Make API request using curl
response=$(curl -s "$apiUrl")
# Print the API response
echo "$response"
<?php
$apiKey = 'place_your_api_key_here';
$domain = 'example.com';
$apiUrl = "https://api.whoisdatacenter.com/v1/domain?apiKey={$apiKey}&domain={$domain}";
$response = file_get_contents($apiUrl);
$data = json_decode($response, true);
print_r($data);
?>
// Node.js
const https = require('https');
const apiKey = 'place_your_api_key_here';
const domain = 'example.com';
const apiUrl = `https://api.whoisdatacenter.com/v1/domain?apiKey=${apiKey}&domain=${domain}`;

https.get(apiUrl, (response) => {
let data = '';
response.on('data', (chunk) => {
data += chunk;
});
response.on('end', () => {
const result = JSON.parse(data);
console.log(result);
});
}).on('error', (error) => {
console.error(`Error: ${error.message}`);
});
const https = require('https');
const apiKey = 'place_your_api_key_here';
const domain = 'example.com';
const apiUrl = `https://api.whoisdatacenter.com/v1/domain?apiKey=${apiKey}&domain=${domain}`;
https.get(apiUrl, (response) => {
let data = '';
response.on('data', (chunk) => {
data += chunk;
});
response.on('end', () => {
const result = JSON.parse(data);
console.log(result);
});
}).on('error', (error) => {
console.error(`Error: ${error.message}`);
});
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class DomainInfo {
public static void main(String[] args) throws Exception {
String apiKey = "place_your_api_key_here";
String domain = "example.com";
String apiUrl = "https://api.whoisdatacenter.com/v1/domain?apiKey = " + apiKey + "&domain=" + domain;

URL url = new URL(apiUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
System.out.println(response.toString());
} finally {
connection.disconnect();
}
}
}
# Ruby
require 'net/http'
require 'json'

api_key = 'place_your_api_key_here'
domain = 'example.com'
api_url="https://api.whoisdatacenter.com/v1/domain?apiKey=#{api_key}&domain=#{domain}"

response = Net::HTTP.get(URI(api_url))
data = JSON.parse(response)
puts data
// C#
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
static async Task Main() {
string apiKey = "place_your_api_key_here";
string domain = "example.com";
string apiUrl = $"https://api.whoisdatacenter.com/v1/domain?apiKey={apiKey}&domain={domain}";

using (HttpClient client = new HttpClient()) {
string response = await client.GetStringAsync(apiUrl);
Console.WriteLine(response);
}
}
}
// Go
package main

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

func main() {
apiKey := "place_your_api_key_here"
domain := "example.com"
apiURL := fmt.Sprintf("https://api.whoisdatacenter.com/v1/domain?apiKey=%s&domain=%s", apiKey, domain)

response, err := http.Get(apiURL)
if err != nil {
panic(err)
}
defer response.Body.Close()

body, err := ioutil.ReadAll(response.Body)
if err != nil {
panic(err)
}

var data map[string]interface{}
err = json.Unmarshal(body, &data)
if err != nil {
panic(err)
}

fmt.Println(data)
}
// Swift
import Foundation

let apiKey = "place_your_api_key_here"
let domain = "example.com"
let apiUrl = URL(string: "https://api.whoisdatacenter.com/v1/domain?apiKey=\(apiKey)&domain=\(domain)")!

let data = try! Data(contentsOf: apiUrl)
let result = try! JSONSerialization.jsonObject(with: data, options: []) as! [String: Any]

print(result)

Response Example

API

 [
    'status':'success',
    'total_count':120,
    'result_count':120,
    'data': [
                {
                    "_type": "current",
                    "_source": {
                        "name_server_3": "ns3.yahoo.com",
                        "administrative_fax": "",
                        "create_date": "1995-01-18",
                        "registrant_company": "Oath Inc.",
                        "registrant_zip": "20166",
                        "registrant_name": "Domain Admin",
                        "registrant_fax": "",
                        "administrative_zip": "20166",
                        "administrative_email": "[email protected]",
                        "billing_address": "",
                        "technical_state": "VA",
                        "billing_company": "",
                        "registrant_city": "Dulles",
                        "administrative_name": "Domain Admin",
                        "administrative_state": "VA",
                        "update_date": "2021-07-16",
                        "technical_name": "Domain Admin",
                        "technical_zip": "20166",
                        "billing_phone": "",
                        "billing_fax": "",
                        "domain_registrar_url": "http://www.markmonitor.com",
                        "billing_name": "",
                        "billing_email": "",
                        "name_server_4": "ns4.yahoo.com",
                        "administrative_country": "United States",
                        "technical_phone": "+1.4083493300",
                        "name_server_1": "ns1.yahoo.com",
                        "registrant_email": "[email protected]",
                        "billing_city": "",
                        "billing_state": "",
                        "administrative_address": "22000 AOL Way",
                        "expiry_date": "2023-01-19",
                        "domain_registrar_name": "MarkMonitor Inc.",
                        "technical_city": "VA",
                        "billing_zip": "",
                        "administrative_company": "Oath Inc.",
                        "technical_address": "22000 AOL Way",
                        "billing_country": "",
                        "registrant_phone": "+1.4083493300",
                        "domain_registrar_id": "292",
                        "registrant_address": "22000 AOL Way",
                        "technical_company": "Oath Inc.",
                        "domain_status_4": "serverDeleteProhibited\r",
                        "administrative_phone": "+1.4083493300",
                        "name_server_2": "ns2.yahoo.com",
                        "registrant_state": "VA",
                        "registrant_country": "United States",
                        "administrative_city": "Dulles",
                        "domain_status_1": "clientDeleteProhibited",
                        "query_time": "2021-09-03 14:04:10",
                        "domain_name": "yahoo.com",
                        "technical_fax": "",
                        "domain_registrar_whois": "whois.markmonitor.com",
                        "domain_status_2": "clientTransferProhibited",
                        "domain_status_3": "clientUpdateProhibited",
                        "technical_country": "United States",
                        "technical_email": "[email protected]"
                    },
                    "sort": [
                        "2021-09-03 14:04:10"
                    ]
                }
            ]
]

Rate Price of Domain Lookup

3 WDC Credit for each record (Fetching domain WHOIS details using domain, regardless of date)


Reverse Lookup API

Explore WHOIS records effortlessly using keywords, email addresses, registrant names, company names, phone numbers, and more.

Phone Reverse Lookup API

Phone Lookup API Endpoint:

API

POST/GET https://api.whoisdatacenter.com/v1/phone

{
 "phone": "9999999999",
 "apiKey": "{place_your_api_key_here}"
}

API Request Examples:

# Python
import requests

api_key = 'place_your_api_key_here'
phone_number = '1234567890'
api_url=f'https://api.whoisdatacenter.com/v1/phone?apiKey={api_key}&phone={phone_number}'

response = requests.get(api_url)
data = response.json()
print(data)
#!/bin/bash

api_key='place_your_api_key_here'
phone_number='+1234567890' # Replace with the phone number you want to look up
api_url="https://api.whoisdatacenter.com/v1/phone?apiKey=${api_key}&phone=${phone_number}"

response=$(curl -s $api_url)
echo $response
<?php
$apiKey = 'place_your_api_key_here';
$phoneNumber = '1234567890'; // Replace with the phone number you want to look up
$apiUrl = " https://api.whoisdatacenter.com/v1/search?apikey={$apiKey}&phone={$phoneNumber}";

$response = file_get_contents($apiUrl);
$data = json_decode($response, true);
print_r($data);
?>
// Node.js
const https = require('https');

const apiKey = 'place_your_api_key_here';
const phoneNumber = '1234567890'; // Replace with the phone number you want to look up
const apiUrl = `https://api.whoisdatacenter.com/v1/search?apikey=${apiKey}&phone=${phoneNumber}`;

https.get(apiUrl, (response) => {
let data = '';

response.on('data', (chunk) => {
data += chunk;
});

response.on('end', () => {
const result = JSON.parse(data);
console.log(result);
});
}).on('error', (error) => {
console.error(`Error: ${error.message}`);
});
// Java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class PhoneInfo {
public static void main(String[] args) throws Exception {
String apiKey = "place_your_api_key_here";
String phoneNumber = "1234567890"; // Replace with the phone number you want to look up
String apiUrl = "https://api.whoisdatacenter.com/v1/search?apikey=" + apiKey + "&phone=" + phoneNumber;

URL url = new URL(apiUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
String line;
StringBuilder response = new StringBuilder();

while ((line = reader.readLine()) != null) {
response.append(line);
}

System.out.println(response.toString());
} finally {
connection.disconnect();
}
}
}
# Ruby
require 'net/http'
require 'json'

api_key = 'place_your_api_key_here'
phone_number = '1234567890' # Replace with the phone number you want to look up
api_url = "https://api.whoisdatacenter.com/v1/search?apikey=#{api_key}&phone=#{phone_number}"

response = Net::HTTP.get(URI(api_url))
data = JSON.parse(response)
puts data
// C#
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
static async Task Main() {
string apiKey = "place_your_api_key_here";
string phoneNumber = "1234567890"; // Replace with the phone number you want to look up
string apiUrl = $"https://api.whoisdatacenter.com/v1/search?apikey={apiKey}&phone={phoneNumber}";

using (HttpClient client = new HttpClient()) {
string response = await client.GetStringAsync(apiUrl);
Console.WriteLine(response);
}
}
}
// Go
package main

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

func main() {
apiKey := "place_your_api_key_here"
phoneNumber := "1234567890" // Replace with the phone number you want to look up
apiURL := fmt.Sprintf("https://api.whoisdatacenter.com/v1/search?apikey=%s&phone=%s", apiKey, phoneNumber)

response, err := http.Get(apiURL)
if err != nil {
panic(err)
}
defer response.Body.Close()

body, err := ioutil.ReadAll(response.Body)
if err != nil {
panic(err)
}

var data map[string]interface{}
err = json.Unmarshal(body, &data)
if err != nil {
panic(err)
}

fmt.Println(data)
}
// Swift
import Foundation

let apiKey = "place_your_api_key_here"
let phoneNumber = "1234567890" // Replace with the phone number you want to look up
let apiUrl = URL(string: "https://api.whoisdatacenter.com/v1/search?apikey=\(apiKey)&phone=\(phoneNumber)")!

let data = try! Data(contentsOf: apiUrl)
let result = try! JSONSerialization.jsonObject(with: data, options: []) as! [String: Any]

print(result)

Response Example

API

 [
    'status':'success',
    'total_count':120,
    'result_count':120,
    'data': [
                {
                    "_type": "current",
                    "_source": {
                        "name_server_3": "ns3.yahoo.com",
                        "administrative_fax": "",
                        "create_date": "1995-01-18",
                        "registrant_company": "Oath Inc.",
                        "registrant_zip": "20166",
                        "registrant_name": "Domain Admin",
                        "registrant_fax": "",
                        "administrative_zip": "20166",
                        "administrative_email": "[email protected]",
                        "billing_address": "",
                        "technical_state": "VA",
                        "billing_company": "",
                        "registrant_city": "Dulles",
                        "administrative_name": "Domain Admin",
                        "administrative_state": "VA",
                        "update_date": "2021-07-16",
                        "technical_name": "Domain Admin",
                        "technical_zip": "20166",
                        "billing_phone": "",
                        "billing_fax": "",
                        "domain_registrar_url": "http://www.markmonitor.com",
                        "billing_name": "",
                        "billing_email": "",
                        "name_server_4": "ns4.yahoo.com",
                        "administrative_country": "United States",
                        "technical_phone": "+1.4083493300",
                        "name_server_1": "ns1.yahoo.com",
                        "registrant_email": "[email protected]",
                        "billing_city": "",
                        "billing_state": "",
                        "administrative_address": "22000 AOL Way",
                        "expiry_date": "2023-01-19",
                        "domain_registrar_name": "MarkMonitor Inc.",
                        "technical_city": "VA",
                        "billing_zip": "",
                        "administrative_company": "Oath Inc.",
                        "technical_address": "22000 AOL Way",
                        "billing_country": "",
                        "registrant_phone": "+1.4083493300",
                        "domain_registrar_id": "292",
                        "registrant_address": "22000 AOL Way",
                        "technical_company": "Oath Inc.",
                        "domain_status_4": "serverDeleteProhibited\r",
                        "administrative_phone": "+1.4083493300",
                        "name_server_2": "ns2.yahoo.com",
                        "registrant_state": "VA",
                        "registrant_country": "United States",
                        "administrative_city": "Dulles",
                        "domain_status_1": "clientDeleteProhibited",
                        "query_time": "2021-09-03 14:04:10",
                        "domain_name": "yahoo.com",
                        "technical_fax": "",
                        "domain_registrar_whois": "whois.markmonitor.com",
                        "domain_status_2": "clientTransferProhibited",
                        "domain_status_3": "clientUpdateProhibited",
                        "technical_country": "United States",
                        "technical_email": "[email protected]"
                    },
                    "sort": [
                        "2021-09-03 14:04:10"
                    ]
                }
            ]
]

Rate Card of Phone lookup

3 WDC Credit for each record (Fetching domain WHOIS details using phone, regardless of date)


Email Reverse Lookup API

Email Lookup API Endpoint:

API

POST/GET https://api.whoisdatacenter.com/v1/email

{
 "email": "[email protected]",
 "apiKey": "{place_your_api_key_here}"
}

API Request Examples:

# Python
import requests

api_key = 'place_your_api_key_here'
email_address = '[email protected]' # Replace with the email address you want to look up
api_url = f'https://api.whoisdatacenter.com/v1/email?apiKey={api_key}&email={email_address}'

response = requests.get(api_url)
data = response.json()

print(data)
#!/bin/bash

api_key='place_your_api_key_here'
email='[email protected]' # Replace with the email address you want to look up
api_url="https://api.whoisdatacenter.com/v1/email?apiKey=${api_key}&email=${email}"

response=$(curl -s $api_url)
echo $response
# PHP
$apiKey = 'place_your_api_key_here';
$emailAddress = '[email protected]'; // Replace with the email address you want to look up
$apiUrl = "https://api.whoisdatacenter.com/v1/search?apikey={$apiKey}&email={$emailAddress}";

$response = file_get_contents($apiUrl);
$data = json_decode($response, true);
print_r($data);
?>
// Node.js
const https = require('https');

const apiKey = 'place_your_api_key_here';
const emailAddress = '[email protected]'; // Replace with the email address you want to look up
const apiUrl = `https://api.whoisdatacenter.com/v1/search?apikey=${apiKey}&email=${emailAddress}`;

https.get(apiUrl, (response) => {
let data = '';

response.on('data', (chunk) => {
data += chunk;
});

response.on('end', () => {
const result = JSON.parse(data);
console.log(result);
});
}).on('error', (error) => {
console.error(`Error: ${error.message}`);
});
// Java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class EmailInfo {
public static void main(String[] args) throws Exception {
String apiKey = "place_your_api_key_here";
String emailAddress = "[email protected]"; // Replace with the email address you want to look up
String apiUrl = "https://api.whoisdatacenter.com/v1/search?apikey=" + apiKey + "&email=" + emailAddress;

URL url = new URL(apiUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
String line;
StringBuilder response = new StringBuilder();

while ((line = reader.readLine()) != null) {
response.append(line);
}

System.out.println(response.toString());
} finally {
connection.disconnect();
}
}
}
# Ruby
require 'net/http'
require 'json'

api_key = 'place_your_api_key_here'
email_address = '[email protected]' # Replace with the email address you want to look up
api_url = "https://api.whoisdatacenter.com/v1/search?apikey=#{api_key}&email=#{email_address}"

response = Net::HTTP.get(URI(api_url))
data = JSON.parse(response)
puts data
// C#
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
static async Task Main() {
string apiKey = "place_your_api_key_here";
string emailAddress = "[email protected]"; // Replace with the email address you want to look up
string apiUrl = $" https://api.whoisdatacenter.com/v1/search?apikey={apiKey}&email={emailAddress}";

using (HttpClient client = new HttpClient()) {
string response = await client.GetStringAsync(apiUrl);
Console.WriteLine(response);
}
}
}
// Go
package main

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

func main() {
apiKey := "place_your_api_key_here"
emailAddress := "[email protected]" // Replace with the email address you want to look up
apiURL := fmt.Sprintf("https://api.whoisdatacenter.com/v1/search?apikey=%s&email=%s", apiKey, emailAddress)

response, err := http.Get(apiURL)
if err != nil {
panic(err)
}
defer response.Body.Close()

body, err := ioutil.ReadAll(response.Body)
if err != nil {
panic(err)
}

var data map[string]interface{}
err = json.Unmarshal(body, &data)
if err != nil {
panic(err)
}

fmt.Println(data)
}
// Swift
import Foundation

let apiKey = "place_your_api_key_here"
let emailAddress = "[email protected]" // Replace with the email address you want to look up
let apiUrl = URL(string: "https://api.whoisdatacenter.com/v1/search?apikey=\(apiKey)&email=\(emailAddress)")!

do {
let data = try Data(contentsOf: apiUrl)
let result = try JSONSerialization.jsonObject(with: data, options: []) as! [String: Any]
print(result)
} catch {
print("Error: \(error)")
}

Response Example

API

 [
    'status':'success',
    'total_count':120,
    'result_count':120,
    'data': [
                {
                    "_type": "current",
                    "_source": {
                        "name_server_3": "ns3.yahoo.com",
                        "administrative_fax": "",
                        "create_date": "1995-01-18",
                        "registrant_company": "Oath Inc.",
                        "registrant_zip": "20166",
                        "registrant_name": "Domain Admin",
                        "registrant_fax": "",
                        "administrative_zip": "20166",
                        "administrative_email": "[email protected]",
                        "billing_address": "",
                        "technical_state": "VA",
                        "billing_company": "",
                        "registrant_city": "Dulles",
                        "administrative_name": "Domain Admin",
                        "administrative_state": "VA",
                        "update_date": "2021-07-16",
                        "technical_name": "Domain Admin",
                        "technical_zip": "20166",
                        "billing_phone": "",
                        "billing_fax": "",
                        "domain_registrar_url": "http://www.markmonitor.com",
                        "billing_name": "",
                        "billing_email": "",
                        "name_server_4": "ns4.yahoo.com",
                        "administrative_country": "United States",
                        "technical_phone": "+1.4083493300",
                        "name_server_1": "ns1.yahoo.com",
                        "registrant_email": "[email protected]",
                        "billing_city": "",
                        "billing_state": "",
                        "administrative_address": "22000 AOL Way",
                        "expiry_date": "2023-01-19",
                        "domain_registrar_name": "MarkMonitor Inc.",
                        "technical_city": "VA",
                        "billing_zip": "",
                        "administrative_company": "Oath Inc.",
                        "technical_address": "22000 AOL Way",
                        "billing_country": "",
                        "registrant_phone": "+1.4083493300",
                        "domain_registrar_id": "292",
                        "registrant_address": "22000 AOL Way",
                        "technical_company": "Oath Inc.",
                        "domain_status_4": "serverDeleteProhibited\r",
                        "administrative_phone": "+1.4083493300",
                        "name_server_2": "ns2.yahoo.com",
                        "registrant_state": "VA",
                        "registrant_country": "United States",
                        "administrative_city": "Dulles",
                        "domain_status_1": "clientDeleteProhibited",
                        "query_time": "2021-09-03 14:04:10",
                        "domain_name": "yahoo.com",
                        "technical_fax": "",
                        "domain_registrar_whois": "whois.markmonitor.com",
                        "domain_status_2": "clientTransferProhibited",
                        "domain_status_3": "clientUpdateProhibited",
                        "technical_country": "United States",
                        "technical_email": "[email protected]"
                    },
                    "sort": [
                        "2021-09-03 14:04:10"
                    ]
                }
            ]
    ]

Rate Price of Email Lookup

3 WDC Credit for each record (Fetching domain WHOIS details using email, regardless of date)


Name Reverse Lookup API

Name Lookup API Endpoint:

API

POST/GET https://api.whoisdatacenter.com/v1/name

{
 "name": "example",
 "apiKey": "{place_your_api_key_here}"
}

API Request Examples:

# Python
import requests

api_key = 'place_your_api_key_here'
name = 'example'
api_url = f'https://api.whoisdatacenter.com/v1/name?apiKey={api_key}&name={name}'

response = requests.get(api_url)
data = response.json()
print(data)
#!/bin/bash

api_key='place_your_api_key_here'
name='John Doe' # Replace with the name you want to look up
api_url="https://api.whoisdatacenter.com/v1/name?apiKey=${api_key}&name=${name}"

response=$(curl -s $api_url)
echo $response
$apiKey = 'place_your_api_key_here';
$name = 'example';
$apiUrl = "https://api.whoisdatacenter.com/v1/name?apiKey={$apiKey}&name={$name}";

$response = file_get_contents($apiUrl);
$data = json_decode($response, true);
print_r($data);
// Node.js
const https = require('https');

const apiKey = 'place_your_api_key_here';
const name = 'example';
const apiUrl = `https://api.whoisdatacenter.com/v1/name?apiKey=${apiKey}&name=${name}`;

https.get(apiUrl, (response) => {
let data = '';

response.on('data', (chunk) => {
data += chunk;
});

response.on('end', () => {
const result = JSON.parse(data);
console.log(result);
});
}).on('error', (error) => {
console.error(`Error: ${error.message}`);
});
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class NameInfo {
public static void main(String[] args) throws Exception {
String apiKey = "place_your_api_key_here";
String name = "example";
String apiUrl = "https://api.whoisdatacenter.com/v1/name?apiKey=" + apiKey + "&name=" + name;

URL url = new URL(apiUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
String line;
StringBuilder response = new StringBuilder();

while ((line = reader.readLine()) != null) {
response.append(line);
}

System.out.println(response.toString());
} finally {
connection.disconnect();
}
}
}
require 'net/http'
require 'json'

api_key = 'place_your_api_key_here'
name = 'example'
api_url = "https://api.whoisdatacenter.com/v1/name?apiKey=#{api_key}&name=#{name}"

response = Net::HTTP.get(URI(api_url))
data = JSON.parse(response)
puts data
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program {
static async Task Main() {
string apiKey = "place_your_api_key_here";
string name = "example";
string apiUrl = $"https://api.whoisdatacenter.com/v1/name?apiKey={apiKey}&name={name}";

using (HttpClient client = new HttpClient()) {
string response = await client.GetStringAsync(apiUrl);
Console.WriteLine(response);
}
}
}
package main

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

func main() {
apiKey := "place_your_api_key_here"
name := "example"
apiURL := fmt.Sprintf("https://api.whoisdatacenter.com/v1/name?apiKey=%s&name=%s", apiKey, name)

response, err := http.Get(apiURL)
if err != nil {
panic(err)
}
defer response.Body.Close()

body, err := ioutil.ReadAll(response.Body)
if err != nil {
panic(err)
}

var data map[string]interface{}
err = json.Unmarshal(body, &data)
if err != nil {
panic(err)
}

fmt.Println(data)
}
import Foundation

let apiKey = "place_your_api_key_here"
let name = "example"
let apiUrl = URL(string: "https://api.whoisdatacenter.com/v1/name?apiKey=\(apiKey)&name=\(name)")!

let data = try! Data(contentsOf: apiUrl)
let result = try! JSONSerialization.jsonObject(with: data, options: []) as! [String: Any]

print(result)

Response Example

API

 [
    'status':'success',
    'total_count':120,
    'result_count':120,
    'data': [
                {
                    "_type": "current",
                    "_source": {
                        "name_server_3": "ns3.yahoo.com",
                        "administrative_fax": "",
                        "create_date": "1995-01-18",
                        "registrant_company": "Oath Inc.",
                        "registrant_zip": "20166",
                        "registrant_name": "Domain Admin",
                        "registrant_fax": "",
                        "administrative_zip": "20166",
                        "administrative_email": "[email protected]",
                        "billing_address": "",
                        "technical_state": "VA",
                        "billing_company": "",
                        "registrant_city": "Dulles",
                        "administrative_name": "Domain Admin",
                        "administrative_state": "VA",
                        "update_date": "2021-07-16",
                        "technical_name": "Domain Admin",
                        "technical_zip": "20166",
                        "billing_phone": "",
                        "billing_fax": "",
                        "domain_registrar_url": "http://www.markmonitor.com",
                        "billing_name": "",
                        "billing_email": "",
                        "name_server_4": "ns4.yahoo.com",
                        "administrative_country": "United States",
                        "technical_phone": "+1.4083493300",
                        "name_server_1": "ns1.yahoo.com",
                        "registrant_email": "[email protected]",
                        "billing_city": "",
                        "billing_state": "",
                        "administrative_address": "22000 AOL Way",
                        "expiry_date": "2023-01-19",
                        "domain_registrar_name": "MarkMonitor Inc.",
                        "technical_city": "VA",
                        "billing_zip": "",
                        "administrative_company": "Oath Inc.",
                        "technical_address": "22000 AOL Way",
                        "billing_country": "",
                        "registrant_phone": "+1.4083493300",
                        "domain_registrar_id": "292",
                        "registrant_address": "22000 AOL Way",
                        "technical_company": "Oath Inc.",
                        "domain_status_4": "serverDeleteProhibited\r",
                        "administrative_phone": "+1.4083493300",
                        "name_server_2": "ns2.yahoo.com",
                        "registrant_state": "VA",
                        "registrant_country": "United States",
                        "administrative_city": "Dulles",
                        "domain_status_1": "clientDeleteProhibited",
                        "query_time": "2021-09-03 14:04:10",
                        "domain_name": "yahoo.com",
                        "technical_fax": "",
                        "domain_registrar_whois": "whois.markmonitor.com",
                        "domain_status_2": "clientTransferProhibited",
                        "domain_status_3": "clientUpdateProhibited",
                        "technical_country": "United States",
                        "technical_email": "[email protected]"
                    },
                    "sort": [
                        "2021-09-03 14:04:10"
                    ]
                }
            ]
]

Rate Price of Name lookup

3 WDC Credit for each record (Fetching domain WHOIS details using name, regardless of date)


Company Reverse Lookup API

Company Lookup API Endpoint:

API

POST/GET https://api.whoisdatacenter.com/v1/company

{
 "company": "example",
 "apiKey": "{place_your_api_key_here}"
}

API Request Examples:

# Python
import requests

api_key = 'place_your_api_key_here'
company_name = 'example'

api_url = f'https://api.whoisdatacenter.com/v1/company?apiKey={api_key}&company={company_name}'

response = requests.get(api_url)
data = response.json()

print(data)
#!/bin/bash

api_key='place_your_api_key_here'
company_name='Example Corp' # Replace with the company name you want to look up
api_url="https://api.whoisdatacenter.com/v1/company?apiKey=${api_key}&company=${company_name}"

response=$(curl -s $api_url)
echo $response
# PHP
$apiKey = 'place_your_api_key_here';
$companyName = 'example';

$apiUrl = "https://api.whoisdatacenter.com/v1/company?apiKey={$apiKey}&company={$companyName}";

$response = file_get_contents($apiUrl);
$data = json_decode($response, true);

print_r($data);
// Node.js
const https = require('https');

const apiKey = 'place_your_api_key_here';
const companyName = 'example';
const apiUrl = `https://api.whoisdatacenter.com/v1/company?apiKey=${apiKey}&company=${companyName}`;

https.get(apiUrl, (response) => {
let data = '';

response.on('data', (chunk) => {
data += chunk;
});

response.on('end', () => {
const result = JSON.parse(data);
console.log(result);
});
}).on('error', (error) => {
console.error(`Error: ${error.message}`);
});
// Java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class CompanyInfo {
public static void main(String[] args) throws Exception {
String apiKey = "place_your_api_key_here";
String companyName = "example";
String apiUrl = "https://api.whoisdatacenter.com/v1/company?apiKey=" + apiKey + "&company=" + companyName;

URL url = new URL(apiUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
String line;
StringBuilder response = new StringBuilder();

while ((line = reader.readLine()) != null) {
response.append(line);
}

System.out.println(response.toString());
} finally {
connection.disconnect();
}
}
}
# Ruby
require 'net/http'
require 'json'

api_key = 'place_your_api_key_here'
company_name = 'example'
api_url = "https://api.whoisdatacenter.com/v1/company?apiKey=#{api_key}&company=#{company_name}"

response = Net::HTTP.get(URI(api_url))
data = JSON.parse(response)
puts data
// C#
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
static async Task Main()
{
string apiKey = "place_your_api_key_here";
string companyName = "example";
string apiUrl = $"https://api.whoisdatacenter.com/v1/company?apiKey={apiKey}&company={companyName}";

using (HttpClient client = new HttpClient())
{
string response = await client.GetStringAsync(apiUrl);
Console.WriteLine(response);
}
}
}
// Go
package main

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

func main() {
apiKey := "place_your_api_key_here"
companyName := "example"
apiURL := fmt.Sprintf("https://api.whoisdatacenter.com/v1/company?apiKey=%s&company=%s", apiKey, companyName)

response, err := http.Get(apiURL)
if err != nil {
panic(err)
}
defer response.Body.Close()

body, err := ioutil.ReadAll(response.Body)
if err != nil {
panic(err)
}

var data map[string]interface{}
err = json.Unmarshal(body, &data)
if err != nil {
panic(err)
}

fmt.Println(data)
}
// Swift
import Foundation;

let apiKey = "place_your_api_key_here";
let companyName = "example";
let apiUrl = URL(string: "https://api.whoisdatacenter.com/v1/company?apiKey=\(apiKey)&company=\(companyName)")!;

do {
let data = try Data(contentsOf: apiUrl);
let result = try JSONSerialization.jsonObject(with: data, options: []) as [String: Any];
print(result);
} catch {
print("Error: \(error)");
}

Response Example

API

 [
    'status':'success',
    'total_count':120,
    'result_count':120,
    'data': [
                {
                    "_type": "current",
                    "_source": {
                        "name_server_3": "ns3.yahoo.com",
                        "administrative_fax": "",
                        "create_date": "1995-01-18",
                        "registrant_company": "Oath Inc.",
                        "registrant_zip": "20166",
                        "registrant_name": "Domain Admin",
                        "registrant_fax": "",
                        "administrative_zip": "20166",
                        "administrative_email": "[email protected]",
                        "billing_address": "",
                        "technical_state": "VA",
                        "billing_company": "",
                        "registrant_city": "Dulles",
                        "administrative_name": "Domain Admin",
                        "administrative_state": "VA",
                        "update_date": "2021-07-16",
                        "technical_name": "Domain Admin",
                        "technical_zip": "20166",
                        "billing_phone": "",
                        "billing_fax": "",
                        "domain_registrar_url": "http://www.markmonitor.com",
                        "billing_name": "",
                        "billing_email": "",
                        "name_server_4": "ns4.yahoo.com",
                        "administrative_country": "United States",
                        "technical_phone": "+1.4083493300",
                        "name_server_1": "ns1.yahoo.com",
                        "registrant_email": "[email protected]",
                        "billing_city": "",
                        "billing_state": "",
                        "administrative_address": "22000 AOL Way",
                        "expiry_date": "2023-01-19",
                        "domain_registrar_name": "MarkMonitor Inc.",
                        "technical_city": "VA",
                        "billing_zip": "",
                        "administrative_company": "Oath Inc.",
                        "technical_address": "22000 AOL Way",
                        "billing_country": "",
                        "registrant_phone": "+1.4083493300",
                        "domain_registrar_id": "292",
                        "registrant_address": "22000 AOL Way",
                        "technical_company": "Oath Inc.",
                        "domain_status_4": "serverDeleteProhibited\r",
                        "administrative_phone": "+1.4083493300",
                        "name_server_2": "ns2.yahoo.com",
                        "registrant_state": "VA",
                        "registrant_country": "United States",
                        "administrative_city": "Dulles",
                        "domain_status_1": "clientDeleteProhibited",
                        "query_time": "2021-09-03 14:04:10",
                        "domain_name": "yahoo.com",
                        "technical_fax": "",
                        "domain_registrar_whois": "whois.markmonitor.com",
                        "domain_status_2": "clientTransferProhibited",
                        "domain_status_3": "clientUpdateProhibited",
                        "technical_country": "United States",
                        "technical_email": "[email protected]"
                    },
                    "sort": [
                        "2021-09-03 14:04:10"
                    ]
                }
            ]
]

Rate Price of Company lookup

3 WDC Credit for each record (Fetching domain WHOIS details using company, regardless of date)


Keyword Reverse Lookup API

Keyword Lookup API Endpoint:

API

POST/GET https://api.whoisdatacenter.com/v1/keyword

{
 "keyword": "example",
 "apiKey": "{place_your_api_key_here}"
}

API Request Examples:

# Python
import requests

api_key = 'place_your_api_key_here'
keyword = 'programming' # Replace with the keyword you want to look up
api_url = f'https://api.whoisdatacenter.com/v1/keyword?apiKey={api_key}&keyword={keyword}'

response = requests.get(api_url)
data = response.json()

print(data)
#!/bin/bash

api_key='place_your_api_key_here'
keyword='your_keyword_here' # Replace with the keyword you want to look up
api_url="https://api.whoisdatacenter.com/v1/keyword?apiKey=${api_key}&keyword=${keyword}"

response=$(curl -s $api_url)
echo $response
# PHP
$apiKey = 'place_your_api_key_here';
$keyword = 'programming'; // Replace with the keyword you want to look up
$apiUrl = "https://api.whoisdatacenter.com/v1/keyword?apiKey={$apiKey}&keyowrd={$keyword}";

$response = file_get_contents($apiUrl);
$data = json_decode($response, true);

print_r($data);
// Node.js
const https = require('https');

const apiKey = 'place_your_api_key_here';
const keyword = 'programming'; // Replace with the keyword you want to look up
const apiUrl = `https://api.whoisdatacenter.com/v1/keyword?apiKey=${apiKey}&keyword=${keyword}`;

https.get(apiUrl, (response) => {
let data = '';

response.on('data', (chunk) => {
data += chunk;
});

response.on('end', () => {
const result = JSON.parse(data);
console.log(result);
});
}).on('error', (error) => {
console.error(`Error: ${error.message}`);
});
// Java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class KeywordInfo {
public static void main(String[] args) throws Exception {
String apiKey = "place_your_api_key_here";
String keyword = "programming"; // Replace with the keyword you want to look up
String apiUrl = "https://api.whoisdatacenter.com/v1/keyword?apiKey=" + apiKey + "&keyword=" + keyword;

URL url = new URL(apiUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
String line;
StringBuilder response = new StringBuilder();

while ((line = reader.readLine()) != null) {
response.append(line);
}

System.out.println(response.toString());
} finally {
connection.disconnect();
}
}
}
# Ruby
require 'net/http'
require 'json'

api_key = 'place_your_api_key_here'
keyword = 'programming' # Replace with the keyword you want to look up
api_url = "https://api.whoisdatacenter.com/v1/keyword?apiKey=#{api_key}&keyword=#{keyword}"

response = Net::HTTP.get(URI(api_url))
data = JSON.parse(response)
puts data
// C#
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
static async Task Main()
{
string apiKey = "place_your_api_key_here";
string keyword = "programming"; // Replace with the keyword you want to look up
string apiUrl = $"https://api.whoisdatacenter.com/v1/keyword?apiKey={apiKey}&keyword={keyword}";

using (HttpClient client = new HttpClient())
{
string response = await client.GetStringAsync(apiUrl);
Console.WriteLine(response);
}
}
}
// Go
package main

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

func main() {
apiKey := "place_your_api_key_here"
keyword := "programming"; // Replace with the keyword you want to look up
apiURL := fmt.Sprintf("https://api.whoisdatacenter.com/v1/keyword?apiKey=%s&keyword=%s", apiKey, keyword)

response, err := http.Get(apiURL)
if err != nil {
panic(err)
}
defer response.Body.Close()

body, err := ioutil.ReadAll(response.Body)
if err != nil {
panic(err)
}

var data map[string]interface{}
err = json.Unmarshal(body, &data)
if err != nil {
panic(err)
}

fmt.Println(data)
}
// Swift
import Foundation;

let apiKey = "place_your_api_key_here";
let keyword = "programming"; // Replace with the keyword you want to look up
let apiUrl = URL(string: "https://api.whoisdatacenter.com/v1/keyword?apiKey=\(apiKey)&keyword=\(keyword)")!;

do {
let data = try Data(contentsOf: apiUrl);
let result = try JSONSerialization.jsonObject(with: data, options: []) as [String: Any];
print(result);
} catch {
print("Error: \(error)");
}

Response Example

API

 [
    'status':'success',
    'total_count':120,
    'result_count':120,
    'data': [
                {
                    "_type": "current",
                    "_source": {
                        "name_server_3": "ns3.yahoo.com",
                        "administrative_fax": "",
                        "create_date": "1995-01-18",
                        "registrant_company": "Oath Inc.",
                        "registrant_zip": "20166",
                        "registrant_name": "Domain Admin",
                        "registrant_fax": "",
                        "administrative_zip": "20166",
                        "administrative_email": "[email protected]",
                        "billing_address": "",
                        "technical_state": "VA",
                        "billing_company": "",
                        "registrant_city": "Dulles",
                        "administrative_name": "Domain Admin",
                        "administrative_state": "VA",
                        "update_date": "2021-07-16",
                        "technical_name": "Domain Admin",
                        "technical_zip": "20166",
                        "billing_phone": "",
                        "billing_fax": "",
                        "domain_registrar_url": "http://www.markmonitor.com",
                        "billing_name": "",
                        "billing_email": "",
                        "name_server_4": "ns4.yahoo.com",
                        "administrative_country": "United States",
                        "technical_phone": "+1.4083493300",
                        "name_server_1": "ns1.yahoo.com",
                        "registrant_email": "[email protected]",
                        "billing_city": "",
                        "billing_state": "",
                        "administrative_address": "22000 AOL Way",
                        "expiry_date": "2023-01-19",
                        "domain_registrar_name": "MarkMonitor Inc.",
                        "technical_city": "VA",
                        "billing_zip": "",
                        "administrative_company": "Oath Inc.",
                        "technical_address": "22000 AOL Way",
                        "billing_country": "",
                        "registrant_phone": "+1.4083493300",
                        "domain_registrar_id": "292",
                        "registrant_address": "22000 AOL Way",
                        "technical_company": "Oath Inc.",
                        "domain_status_4": "serverDeleteProhibited\r",
                        "administrative_phone": "+1.4083493300",
                        "name_server_2": "ns2.yahoo.com",
                        "registrant_state": "VA",
                        "registrant_country": "United States",
                        "administrative_city": "Dulles",
                        "domain_status_1": "clientDeleteProhibited",
                        "query_time": "2021-09-03 14:04:10",
                        "domain_name": "yahoo.com",
                        "technical_fax": "",
                        "domain_registrar_whois": "whois.markmonitor.com",
                        "domain_status_2": "clientTransferProhibited",
                        "domain_status_3": "clientUpdateProhibited",
                        "technical_country": "United States",
                        "technical_email": "[email protected]"
                    },
                    "sort": [
                        "2021-09-03 14:04:10"
                    ]
                }
            ]
]

Rate Price of Keyword Lookup

3 WDC Credit for each record (Fetching domain WHOIS details using keyword, regardless of date)


Feeds API

Free Domains API Endpoint:

API

https://api.whoisdatacenter.com/v1/download/free-domains?apiKey={place_your_api_key_here}&date=2024-03-28

API Request Examples:

# Python
import urllib.request

api_url= f'https://api.whoisdatacenter.com/v1/download/free-domains?apiKey={place_your_api_key_here}&date=2024-03-28'
urllib.request.urlretrieve(api_url, 'downloaded_data.zip')
#!/bin/bash

api_url="https://api.whoisdatacenter.com/v1/download/free-domains?apiKey={place_your_api_key_here}&date=2024-03-28"
output_file="free_domains.txt"

# Download the list of free domains
curl -o "$output_file" "$api_url"

# Check if the download was successful
if [ $? -eq 0 ]; then
echo "Download successful. Free domains saved to $output_file"
else
echo "Error downloading free domains."
fi
$apiURL = 'https://api.whoisdatacenter.com/v1/download/free-domains?apiKey={place_your_api_key_here}&date=2024-03-28';
file_put_contents('downloaded_data.zip', file_get_contents($apiURL));
const https = require('https');
const fs = require('fs');

const apiURL = 'https://api.whoisdatacenter.com/v1/download/free-domains?apiKey={place_your_api_key_here}&date=2024-03-28';

const file = fs.createWriteStream('downloaded_data.zip');

https.get(apiURL, response => {
response.pipe(file);
});
const apiURL = 'https://api.whoisdatacenter.com/v1/download/free-domains?apiKey={place_your_api_key_here}&date=2024-03-28';

fetch(apiURL)
.then(response => response.blob())
.then(blob => {
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'downloaded_data.zip';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
});
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
public class DownloadData {
public static void main(String[] args) throws Exception {
String apiURL = "https://api.whoisdatacenter.com/v1/download/free-domains?apiKey={place_your_api_key_here}&date=2024-03-28";
URL url = new URL(apiURL);
try (InputStream in = url.openStream();
FileOutputStream fos = new FileOutputStream("downloaded_data.zip")) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
}
}
}
# Ruby
require 'open-uri'

api_url='https://api.whoisdatacenter.com/v1/download/free-domains?apiKey={place_your_api_key_here}&date=2024-03-28'
open('downloaded_data.zip', 'wb') do |file|
file << open(api_url).read
end
using System.Net; class Program { static void Main() { string apiURL = "https://api.whoisdatacenter.com/v1/download/free-domains?apiKey={place_your_api_key_here}&date=2024-03-28"; using (WebClient client = new WebClient()) { client.DownloadFile(apiURL, "downloaded_data.zip"); } } }
package main

import (
"io"
"net/http"
"os"
)

func main() {
apiURL := "https://api.whoisdatacenter.com/v1/download/free-domains?apiKey={place_your_api_key_here}&date=2024-03-28"
response, err := http.Get(apiURL)
if err != nil {
panic(err)
}
defer response.Body.Close()

file, err := os.Create("downloaded_data.zip")
if err != nil {
panic(err)
}
defer file.Close()

_, err = io.Copy(file, response.Body)
if err != nil {
panic(err)
}
}
import Foundation

let apiURL = URL(string: "https://api.whoisdatacenter.com/v1/download/free-domains?apiKey={place_your_api_key_here}&date=2024-03-28")!
let destinationURL = URL(fileURLWithPath: "downloaded_data.zip")

let data = try! Data(contentsOf: apiURL)
try! data.write(to: destinationURL)

Newly Registered Domains API Endpoint:

API

https://api.whoisdatacenter.com/v1/download/nrd?apiKey={place_your_api_key_here}&date=2024-03-28

API Request Examples:

# Python
import urllib.request

api_url=f'https://api.whoisdatacenter.com/v1/download/nrd?apiKey={place_your_api_key_here}&date=2024-03-28'
urllib.request.urlretrieve(api_url, 'downloaded_data.zip')
#!/bin/bash

api_url="https://api.whoisdatacenter.com/v1/download/nrd?apiKey={place_your_api_key_here}&date=2024-03-28"
output_file="downloaded_data.zip"

curl -o "$output_file" "$api_url"
$apiURL = 'https://api.whoisdatacenter.com/v1/download/nrd?apiKey={place_your_api_key_here}&date=2024-03-28';
file_put_contents('downloaded_data.zip', file_get_contents($apiURL));
const https = require('https');
const fs = require('fs');

const apiURL = 'https://api.whoisdatacenter.com/v1/download/nrd?apiKey={place_your_api_key_here}&date=2024-03-28';

const file = fs.createWriteStream('downloaded_data.zip');

https.get(apiURL, response => {
response.pipe(file);
});
const apiURL = 'https://api.whoisdatacenter.com/v1/download/nrd?apiKey={place_your_api_key_here}&date=2024-03-28';

fetch(apiURL)
.then(response => response.blob())
.then(blob => {
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'downloaded_data.zip';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
});
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
public class DownloadData {
public static void main(String[] args) throws Exception {
String apiURL = "https://api.whoisdatacenter.com/v1/download/nrd?apiKey={place_your_api_key_here}&date=2024-03-28";
URL url = new URL(apiURL);
try (InputStream in = url.openStream();
FileOutputStream fos = new FileOutputStream("downloaded_data.zip")) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
}
}
}
# Ruby
require 'open-uri'

api_url='https://api.whoisdatacenter.com/v1/download/nrd?apiKey={place_your_api_key_here}&date=2024-03-28'
open('downloaded_data.zip', 'wb') do |file|
file << open(api_url).read
end
using System.Net; class Program { static void Main() { string apiURL = "https://api.whoisdatacenter.com/v1/download/nrd?apiKey={place_your_api_key_here}&date=2024-03-28"; using (WebClient client = new WebClient()) { client.DownloadFile(apiURL, "downloaded_data.zip"); } } }
package main

import (
"io"
"net/http"
"os"
)

func main() {
apiURL := "https://api.whoisdatacenter.com/v1/download/nrd?apiKey={place_your_api_key_here}&date=2024-03-28"
response, err := http.Get(apiURL)
if err != nil {
panic(err)
}
defer response.Body.Close()

file, err := os.Create("downloaded_data.zip")
if err != nil {
panic(err)
}
defer file.Close()

_, err = io.Copy(file, response.Body)
if err != nil {
panic(err)
}
}
import Foundation

let apiURL = URL(string: "https://api.whoisdatacenter.com/v1/download/nrd?apiKey={place_your_api_key_here}&date=2024-03-28")!
let destinationURL = URL(fileURLWithPath: "downloaded_data.zip")

let data = try! Data(contentsOf: apiURL)
try! data.write(to: destinationURL)

Expiring Feeds API Endpoint:

API

https://api.whoisdatacenter.com/v1/download/expiring?apiKey={place_your_api_key_here}&date=2024-03-28

API Request Examples:

# Python
import urllib.request

api_url=f'https://api.whoisdatacenter.com/v1/download/expiring?apiKey={place_your_api_key_here}&date=2024-03-28'
urllib.request.urlretrieve(api_url, 'downloaded_data.zip')
#!/bin/bash

api_key="ba5d05197020c53b6c3670e273637c48829c9148b6816561820050108055b8af"
expiration_date="2023-12-12"
current_date=$(date +"%Y-%m-%d")

if [[ "$current_date" < "$expiration_date" ]]; then
api_url="https://api.whoisdatacenter.com/v1/download/expiring?apiKey=$api_key&date=$expiration_date"
output_file="downloaded_data.zip"

# Check if the file already exists
if [[ -e "$output_file" ]]; then
echo "File already exists. Skipping download."
else
# Download the file if it doesn't exist
curl -o "$output_file" "$api_url"
echo "Download successful."
fi
else
echo "File has expired. Not downloading."
fi
$apiURL = 'https://api.whoisdatacenter.com/v1/download/expiring?apiKey={place_your_api_key_here}&date=2024-03-28';
file_put_contents('downloaded_data.zip', file_get_contents($apiURL));
const https = require('https');
const fs = require('fs');

const apiURL = 'https://api.whoisdatacenter.com/v1/download/expiring?apiKey={place_your_api_key_here}&date=2024-03-28';

const file = fs.createWriteStream('downloaded_data.zip');

https.get(apiURL, response => {
response.pipe(file);
});
const apiURL = 'https://api.whoisdatacenter.com/v1/download/expiring?apiKey={place_your_api_key_here}&date=2024-03-28';

fetch(apiURL)
.then(response => response.blob())
.then(blob => {
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'downloaded_data.zip';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
});
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
public class DownloadData {
public static void main(String[] args) throws Exception {
String apiURL = "https://api.whoisdatacenter.com/v1/download/expiring?apiKey={place_your_api_key_here}&date=2024-03-28";
URL url = new URL(apiURL);
try (InputStream in = url.openStream();
FileOutputStream fos = new FileOutputStream("downloaded_data.zip")) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
}
}
}
# Ruby
require 'open-uri'

api_url='https://api.whoisdatacenter.com/v1/download/expiring?apiKey={place_your_api_key_here}&date=2024-03-28'
open('downloaded_data.zip', 'wb') do |file|
file << open(api_url).read
end
using System.Net; class Program { static void Main() { string apiURL = "https://api.whoisdatacenter.com/v1/download/expiring?apiKey={place_your_api_key_here}&date=2024-03-28"; using (WebClient client = new WebClient()) { client.DownloadFile(apiURL, "downloaded_data.zip"); } } }
package main

import (
"io"
"net/http"
"os"
)

func main() {
apiURL := "https://api.whoisdatacenter.com/v1/download/expiring?apiKey={place_your_api_key_here}&date=2024-03-28"
response, err := http.Get(apiURL)
if err != nil {
panic(err)
}
defer response.Body.Close()

file, err := os.Create("downloaded_data.zip")
if err != nil {
panic(err)
}
defer file.Close()

_, err = io.Copy(file, response.Body)
if err != nil {
panic(err)
}
}
import Foundation

let apiURL = URL(string: "https://api.whoisdatacenter.com/v1/download/expiring?apiKey={place_your_api_key_here}&date=2024-03-28")!
let destinationURL = URL(fileURLWithPath: "downloaded_data.zip")

let data = try! Data(contentsOf: apiURL)
try! data.write(to: destinationURL)

Proxy Removed API Endpoint:

API

https://api.whoisdatacenter.com/v1/download/proxy?apiKey={place_your_api_key_here}&date=2024-03-28

API Request Examples:

# Python
import urllib.request

api_url=f'https://api.whoisdatacenter.com/v1/download/proxy?apiKey={place_your_api_key_here}&date=2024-03-28'
urllib.request.urlretrieve(api_url, 'downloaded_data.zip')
#!/bin/bash

api_key="ba5d05197020c53b6c3670e273637c48829c9148b6816561820050108055b8af"
expiration_date="2023-12-12"
current_date=$(date +"%Y-%m-%d")

if [[ "$current_date" < "$expiration_date" ]]; then
api_url="https://api.whoisdatacenter.com/v1/download/proxy?apiKey=$api_key&date=$expiration_date"
output_file="downloaded_data.zip"

# Check if the file already exists
if [[ -e "$output_file" ]]; then
echo "File already exists. Skipping download."
else
# Download the file if it doesn't exist
curl -o "$output_file" "$api_url"
echo "Download successful."
fi
else
echo "File has expired. Not downloading."
fi
$apiURL = 'https://api.whoisdatacenter.com/v1/download/proxy?apiKey={place_your_api_key_here}&date=2024-03-28';
file_put_contents('downloaded_data.zip', file_get_contents($apiURL));
const https = require('https');
const fs = require('fs');

const apiURL = 'https://api.whoisdatacenter.com/v1/download/proxy?apiKey={place_your_api_key_here}&date=2024-03-28';

const file = fs.createWriteStream('downloaded_data.zip');

https.get(apiURL, response => {
response.pipe(file);
});
const apiURL = 'https://api.whoisdatacenter.com/v1/download/proxy?apiKey={place_your_api_key_here}&date=2024-03-28';

fetch(apiURL)
.then(response => response.blob())
.then(blob => {
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'downloaded_data.zip';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
});
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
public class DownloadData {
public static void main(String[] args) throws Exception {
String apiURL = "https://api.whoisdatacenter.com/v1/download/proxy?apiKey={place_your_api_key_here}&date=2024-03-28";
URL url = new URL(apiURL);
try (InputStream in = url.openStream();
FileOutputStream fos = new FileOutputStream("downloaded_data.zip")) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
}
}
}
# Ruby
require 'open-uri'

api_url='https://api.whoisdatacenter.com/v1/download/proxy?apiKey={place_your_api_key_here}&date=2024-03-28'
open('downloaded_data.zip', 'wb') do |file|
file << open(api_url).read
end
using System.Net; class Program { static void Main() { string apiURL = "https://api.whoisdatacenter.com/v1/download/proxy?apiKey={place_your_api_key_here}&date=2024-03-28"; using (WebClient client = new WebClient()) { client.DownloadFile(apiURL, "downloaded_data.zip"); } } }
package main

import (
"io"
"net/http"
"os"
)

func main() {
apiURL := "https://api.whoisdatacenter.com/v1/download/proxy?apiKey={place_your_api_key_here}&date=2024-03-28"
response, err := http.Get(apiURL)
if err != nil {
panic(err)
}
defer response.Body.Close()

file, err := os.Create("downloaded_data.zip")
if err != nil {
panic(err)
}
defer file.Close()

_, err = io.Copy(file, response.Body)
if err != nil {
panic(err)
}
}
import Foundation

let apiURL = URL(string: "https://api.whoisdatacenter.com/v1/download/proxy?apiKey={place_your_api_key_here}&date=2024-03-28")!
let destinationURL = URL(fileURLWithPath: "downloaded_data.zip")

let data = try! Data(contentsOf: apiURL)
try! data.write(to: destinationURL)

Bulk Domain Lookup

  • -Leverage our API to perform real-time WHOIS queries for up to 1,000,000 domains.
  • -Upload a file with one domain per line effortlessly through our intuitive dashboard.
  • -Retrieve results directly from the dashboard or receive a convenient email with a link to download the WHOIS file in CSV format.
  • -Streamline your domain information retrieval process with our efficient and user-centric platform.

Terms of Use and Policies

For detailed information about our terms of use and policies, please visit WhoisDataCenter Terms of Use. We encourage you to review and familiarize yourself with our terms to ensure a clear understanding of our services and guidelines.


Change Log

2023-11-23

  • Feeds Update

    You can now download the latest data without passing any specific date. If no date is provided, you will automatically receive the most recent data.

  • Feeds Available

  • New Registrations Domains Data:
  • API

    https://api.whoisdatacenter.com/v1/download/nrd?apiKey={place_your_api_key_here}
  • Expired Domains Data:
  • API

    https://api.whoisdatacenter.com/v1/download/expired?apiKey={place_your_api_key_here}
  • Expiring Domains Data:
  • API

    https://api.whoisdatacenter.com/v1/download/expiring?apiKey={place_your_api_key_here}

2023-11-01

  • New API Endpoints

  • Domain Lookup:
  • API

    https://api.whoisdatacenter.com/v1/domain?apiKey={place_your_api_key_here}&domain={example.com}
  • Reverse Domain Lookup:
  • API

    https://api.whoisdatacenter.com/v1/name?apiKey={place_your_api_key_here}&{parameter}={example}
  • Historical Whois Lookup:
  • API

    https://api.whoisdatacenter.com/v1/domain?apiKey={place_your_api_key_here}&domain={example.com}
  • These new endpoints provide more secure and efficient methods for domain and WHOIS data retrieval. Please update your integration to use these new endpoints.

2023-02-21

  • domain-dns-status page is successfully added to our website.
  • The Sample and Daily Count was added to ProxyRemoved page.
  • The field name Country Id was changed to Country Name.
  • ProxyRemoved page added to WDC.

2022-12-19

  • Free Database page is now available.