Newly Registered Domain's Documentation
Overview
-
Newly Registered Domain's Whois API
Newly Registered Domains Whois API helps you to download newly registered domains Whois files in CSV format as well as it helps you to retrieve newly registered domains whois for a specific date separately for gTLDs and ccTLDs. You can download newly registered domains whois database files through our billing dashboard manually or through API. -
Newly Registered Domain's API
-
CSV Format
The Newly Registered Domain's API helps you download files of newly registered domains in CSV format, containing only domains. You can download newly registered domains for a specific date separately for gTLDs and ccTLDs. The files can be accessed through our billing dashboard either manually or via the API. -
JSON Format
The Newly Registered Domain's API also allows you to query domains in JSON format. You can query newly registered domains for a specific date, and furthermore, you can filter the data based on top-level domains (TLDs).
-
CSV Format
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.
With Whois
CSV Format
API
https://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=true&date=2023-10-12

https://files.whoisfreaks.com/v3.1/download/domainer/cctld?apiKey=API_KEY&whois=true&date=2023-10-12

Input parameters: required
apiKey Get your API key from our billing dashboard.
whois Whois is a required and a boolean value parameter. It will retrieve a CSV file containing complete whois information of gTLDs and ccTLDs.
Input parameters: optional
date Date parameter is optional. The most recent file will be downloaded if the link doesn't have a date specified. If you choose to provide a date, use the format (yyyy-MM-dd).
Code Snippets
curl --location --request GET 'https://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=true&date=2023-10-12'
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=true&date=2023-10-12',
'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://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=true&date=2023-10-12")
.method("GET", null)
.build();
Response response = client.newCall(request).execute();
import http.client
conn = http.client.HTTPSConnection("files.whoisfreaks.com")
payload = ''
headers = {}
conn.request("GET", "/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=true&date=2023-10-12", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=true&date=2023-10-12',
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://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=true&date=2023-10-12")
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://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=true&date=2023-10-12", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
var client = new RestClient("https://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=true&date=2023-10-12");
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://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=true&date=2023-10-12"
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://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=true&date=2023-10-12");
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://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=true&date=2023-10-12")!,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()
Response
Download sample of newly registered gTLDs whois file from here
sample_whois.csv.gz
Download sample of newly registered ccTLDs whois file from here
sample_whois.csv.gz
Downloaded Whois File is of following format.
num,domain_name,query_time,create_date,update_date,expiry_date,domain_registrar_id,domain_registrar_name,domain_registrar_whois,domain_registrar_url,registrant_name,registrant_company,registrant_address,registrant_city,registrant_state,registrant_zip,registrant_country_code,registrant_country,registrant_email,registrant_phone,registrant_fax,administrative_name,administrative_company,administrative_address,administrative_city,administrative_state,administrative_zip,administrative_country_code,administrative_country,administrative_email,administrative_phone,administrative_fax,technical_name,technical_company,technical_address,technical_city,technical_state,technical_zip,technical_country_code,technical_country,technical_email,technical_phone,technical_fax,billing_name,billing_company,billing_address,billing_city,billing_state,billing_zip,billing_country_code,billing_country,billing_email,billing_phone,billing_fax,name_server_1,name_server_2,name_server_3,name_server_4,domain_status_1,domain_status_2,domain_status_3,domain_status_4,reseller_name,reseller_email,reseller_phone
1,"airport-jobs-28863.bond","2023-10-12 09:19:52","2023-10-11","2023-10-11","2024-10-11","1345","Key-Systems LLC","whois.rrpproxy.net","http://www.key-systems.net","","","","","","","US","United States","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","","","","","","","","","","","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","","","","","","","","","","","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","","","","","","","","","","","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","","","NS1.NIC53.NET","NS2.NIC53.DE","","","serverTransferProhibited","addPeriod","","","","",""
2,"infohato.online","2023-10-12 09:19:52","2023-10-12","2023-10-12","2024-10-12","1636","HOSTINGER operations, UAB","whois.hostinger.com","https://www.hostinger.com/","","Privacy Protect, LLC (PrivacyProtect.org)","","","MA","","US","United States","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","","","","","","","","","","","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","","","","","","","","","","","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","","","","","","","","","","","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","","","NS1.DNS-PARKING.COM","NS2.DNS-PARKING.COM","","","clientTransferProhibited","serverTransferProhibited","addPeriod","","","",""
3,"hubserver.xyz","2023-10-12 09:19:52","2023-10-11","2023-10-11","2024-10-11","1068","Namecheap","whois.namecheap.com","https://namecheap.com","","Privacy service provided by Withheld for Privacy ehf","","","Capital Region","","IS","Iceland","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","","","","","","","","","","","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","","","","","","","","","","","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","","","","","","","","","","","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","","","TITAN.NS.CLOUDFLARE.COM","KIA.NS.CLOUDFLARE.COM","","","clientTransferProhibited","serverTransferProhibited","addPeriod","","","",""
4,"409hit.win","2023-10-12 09:19:52","2023-10-11","2023-10-11","2024-10-11","472","Dynadot Inc","whois.dynadot.com","https://www.dynadot.com/","REDACTED FOR PRIVACY","Super Privacy Service LTD c/o Dynadot","","REDACTED FOR PRIVACY","California","REDACTED FOR PRIVACY","US","United States","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","REDACTED FOR PRIVACY","REDACTED FOR PRIVACY","REDACTED FOR PRIVACY","REDACTED FOR PRIVACY","","REDACTED FOR PRIVACY","REDACTED FOR PRIVACY","REDACTED FOR PRIVACY","","REDACTED FOR PRIVACY","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","REDACTED FOR PRIVACY","REDACTED FOR PRIVACY","REDACTED FOR PRIVACY","REDACTED FOR PRIVACY","","REDACTED FOR PRIVACY","REDACTED FOR PRIVACY","REDACTED FOR PRIVACY","","REDACTED FOR PRIVACY","Please query the RDDS service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.","REDACTED FOR PRIVACY","REDACTED FOR PRIVACY","","","","","","","","","","","","ns1.dyna-ns.net","ns2.dyna-ns.net","","","clientTransferProhibited","serverTransferProhibited","addPeriod","","","",""
5,"ygot45.com","2023-10-12 09:19:52","2023-10-11","2023-10-11","2024-10-11","2487","Internet Domain Service BS Corp","whois.internet.bs","http://www.internet.bs","Domain Admin","Whois Privacy Corp.","","Nassau","New Providence","00000","BS","Bahamas","OWNER@ygot45.com.customers.whoisprivacycorp.com","+1.5163872248","","Domain Admin","Whois Privacy Corp.","","Nassau","New Providence","00000","BS","Bahamas","ADMIN@ygot45.com.customers.whoisprivacycorp.com","+1.5163872248","","Domain Admin","Whois Privacy Corp.","","Nassau","New Providence","00000","BS","Bahamas","TECH@ygot45.com.customers.whoisprivacycorp.com","+1.5163872248","","","","","","","","","","","","","ns2.wpx.net","ns1.wpx.net","ns3.wpx.net","","clientTransferProhibited","","","","","",""
Without Whois
CSV Format
API
https://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=false&date=2023-10-12

https://files.whoisfreaks.com/v3.1/download/domainer/cctld?apiKey=API_KEY&whois=false&date=2023-10-12

Input parameters: required
apiKey Get your API key from our billing dashboard.
whois Whois is a required and a boolean value parameter. It will retrieve a CSV file containing newly registered domains for gTLDs and ccTLDs.
Input parameters: optional
date Date parameter is optional. Today's date will be taken as default if no date is specified. If you choose to provide a date, use the format (yyyy-MM-dd).
Code Snippets
curl --location --request GET 'https://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=false&date=2023-10-12'
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=false&date=2023-10-12',
'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://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=false&date=2023-10-12")
.method("GET", null)
.build();
Response response = client.newCall(request).execute();
import http.client
conn = http.client.HTTPSConnection("files.whoisfreaks.com")
payload = ''
headers = {}
conn.request("GET", "files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=false&date=2023-10-12", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=false&date=2023-10-12',
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://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=false&date=2023-10-12")
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://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=false&date=2023-10-12", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
var client = new RestClient("https://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=false&date=2023-10-12");
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://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=false&date=2023-10-12"
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://files.whoisfreaks.com/v3.1/download/domainer/gtld?apiKey=API_KEY&whois=false&date=2023-10-12");
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://files.whoisfreaks.com/v3.1/domains/gtld?apiKey=API_KEY&date=2023-10-12?tlds=com,us")!,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()
Response
Download sample of newly registered gTLDs domains file from
here
sample_newly_gtlds.csv.gz
Download sample of newly registered ccTLDs domains file from
here
sample_newly_cctlds.csv.gz
Downloaded file would contain newly registered domains for tlds in following format.
airport-jobs-28863.bond
infohato.online
hubserver.xyz
409hit.win
ygot45.com
JSON Format
API
https://files.whoisfreaks.com/v3.1/domains/newly/gtld?apiKey=API_KEY&date=2023-10-12&tlds=com,net

https://files.whoisfreaks.com/v3.1/domains/newly/cctld?apiKey=API_KEY&date=2023-10-12&tlds=us,uk

https://files.whoisfreaks.com/v3.1/domains/newly?apiKey=API_KEY&date=2023-10-12&tlds=com,us

- You can use the /newly/gtld endpoint to retrieve either all newly registered gTLDs or specific gTLDs based on TLD filtration. To utilize this endpoint, it is mandatory that the data for newly registered gTLDs is prepared, which can be verified through our status API.
- Similarly, you can use the /newly/cctld endpoint to obtain either all newly registered ccTLDs or specific ccTLDs based on TLD filtration. To use this endpoint, it is essential that the data for newly registered ccTLDs is prepared, and this can be confirmed through our status API.
- If you need to perform combined filtration, such as filtering domains of com, us, uk, and net simultaneously, you can use the /newly endpoint. However, it is mandatory that both newly registered ccTLDs and gTLDs data are prepared to use this endpoint. You can verify the data preparation status through our status API.
Please note that if you pass any ccTLD in the tlds parameter while using the /newly/gtld endpoint, it will return empty data for that ccTLD, and vice versa.
Input parameters: required
apiKey Get your API key from our billing dashboard.
Input parameters: optional
date Date parameter is optional. Today's date will be taken as default if no date is specified. If you choose to provide a date, use the format (yyyy-MM-dd).
tlds TLDs parameter is optional. All domains will be fetched if you don't specify any tld. If you choose to provide a tld, just enter a tld (e.g. com). In case of more than one tlds, please provide a comma separated list (e.g. com, us, shop). If you want to specify all gtlds enter 'gtlds' and for all cctlds use 'cctlds'.
Code Snippets
curl --location --request GET 'https://files.whoisfreaks.com/v3.1/domains/gtld?apiKey=API_KEY&date=2023-10-12?tlds=com,us'
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://files.whoisfreaks.com/v3.1/domains/gtld?apiKey=API_KEY&date=2023-10-12?tlds=com,us',
'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://files.whoisfreaks.com/v3.1/domains/gtld?apiKey=API_KEY&date=2023-10-12?tlds=com,us")
.method("GET", null)
.build();
Response response = client.newCall(request).execute();
import http.client
conn = http.client.HTTPSConnection("files.whoisfreaks.com")
payload = ''
headers = {}
conn.request("GET", "files.whoisfreaks.com/v3.1/domains/gtld?apiKey=API_KEY&date=2023-10-12?tlds=com,us", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://files.whoisfreaks.com/v3.1/domains/gtld?apiKey=API_KEY&date=2023-10-12?tlds=com,us',
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://files.whoisfreaks.com/v3.1/domains/gtld?apiKey=API_KEY&date=2023-10-12?tlds=com,us")
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://files.whoisfreaks.com/v3.1/domains/gtld?apiKey=API_KEY&date=2023-10-12?tlds=com,us", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
var client = new RestClient("https://files.whoisfreaks.com/v3.1/domains/gtld?apiKey=API_KEY&date=2023-10-12?tlds=com,us");
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://files.whoisfreaks.com/v3.1/domains/gtld?apiKey=API_KEY&date=2023-10-12?tlds=com,us"
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://files.whoisfreaks.com/v3.1/domains/gtld?apiKey=API_KEY&date=2023-10-12?tlds=com,us");
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://files.whoisfreaks.com/v3.1/domains/gtld?apiKey=API_KEY&date=2023-10-12?tlds=com,us")!,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()
Response
Retrieved domains for tld will be JSON format. For example:
[
"makincreative.com",
"xyxldj.com",
"hudesw.com",
"ariaglobaltrading.com",
"classicalnames.com",
"kfsoupai.com",
"casenumber8835486.com",
"cfyueche.com",
"ifrostretail.com",
"theoutsidestyle.com",
"yourmoneymindsetbff.com",
"organiksofraniz.com",
"hotels2030.com",
"jzrunhe.com",
"featherthedog.com",
.
.
.
"keobongda30.com",
"melcomcopeland.com",
"nidehaow36.com",
"lightyear-space.com",
"omniscc.com",
"fantastic5corporation.com",
"salesstorehomeware.com",
"lightweightcrm.com",
"liluaoki.com"
]
HTTP Error Codes
Below mentioned possible type of error and desc.
Whois Files Status API
API
https://files.whoisfreaks.com/v3.1/status

Response
{
"expired": {
"lastUpdate": "2023-10-15",
"availableFrom": "2023-08-01"
},
"gtld": {
"lastUpdate": "2023-10-16",
"availableFrom": "2023-08-01"
},
"dropped": {
"lastUpdate": "2023-10-15",
"availableFrom": "2023-08-01"
},
"database_updates": [
{
"dailyBaseAvailable_From": "2023-09-01",
"dailyBaseLastUpdate": "2023-10-15"
},
{
"weeklyBaseAvailable_From": "2023-07-03",
"weeklyBaseLastUpdate": "2023-10-16"
},
{
"monthlyBaseAvailable_From": "2023-06-01",
"monthlyBaseLastUpdate": "2023-10-01"
}
],
"cctld": {
"lastUpdate": "2023-10-15",
"availableFrom": "2023-08-09"
}
}
FAQs
At what time do you generate your recently registered domains whois files?
The whois files for newly registered domains are updated for download at the following times:
1. All ccTLD files are made available for download at 23:55 UTC and they are of that particular day.
2. Similarly, all gTLD files for a given day are made available for download at 13:00 UTC and they
all are of that particular day.
We also notify you via email when each file is ready to download. Further, you can check file status
through API.
Can I check programmatically any file type of generated domains whois file status?
Yes, you can check details of whois files through Domainer Files status API.
Is there any download limit to download files?
Yes, there is a limit to download whois files. but it can be extended. Download limit will be shown in billing dashboard with usage.