WHOIS Lookup
Get domain registration details including registrar, name servers, status, creation and expiry dates, and DNSSEC information.
Overview
Use Cases
- Verifying domain ownership before initiating a transfer
- Checking domain expiry dates for monitoring or alerting
- Enriching lead data with registrar and registration details
- Security research and phishing domain investigation
Features
API Endpoints
WHOIS Lookup
Returns WHOIS registration information for a domain name.
https://requiems.xyz/v1/networking/whois/{domain}
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| domain | string |
Required | The domain name to look up (e.g. example.com) |
Try it out
Live DemoRequest
The domain name to look up (e.g. example.com)
Response Fields
| Field | Type | Description |
|---|---|---|
| domain | string |
The domain name that was looked up |
| registrar | string |
The name of the registrar holding the domain registration |
| name_servers | array<string> |
List of authoritative name servers for the domain |
| status | array<string> |
EPP status codes for the domain (e.g. clientTransferProhibited) |
| created_date | string |
Date the domain was first registered (ISO 8601) |
| updated_date | string |
Date the domain record was last updated (ISO 8601) |
| expiry_date | string |
Date the domain registration expires (ISO 8601) |
| dnssec | boolean |
True when DNSSEC is enabled for the domain |
Code Examples
curl "https://requiems.xyz/v1/networking/whois/example.com" \
-H "requiems-api-key: YOUR_API_KEY"
import requests
url = "https://requiems.xyz/v1/networking/whois/example.com"
headers = {"requiems-api-key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch('https://requiems.xyz/v1/networking/whois/example.com', {
headers: { 'requiems-api-key': 'YOUR_API_KEY' }
});
const data = await response.json();
console.log(data.data.registrar, data.data.expiry_date);
require 'net/http'
require 'json'
uri = URI('https://requiems.xyz/v1/networking/whois/example.com')
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)
puts data['data']['registrar']
Error Responses
The domain name format is invalid.
No WHOIS record was found for the domain.
Unexpected server error or upstream WHOIS query failure.
Batch WHOIS Lookup
Returns WHOIS information for up to 50 domains in a single request. Results are returned in the same order as the input array. Domains without WHOIS data return found: false instead of failing the entire request.
https://requiems.xyz/v1/networking/whois/batch
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| domains | array<string> |
Required | Array of domain names. Min: 1, Max: 50. |
Try it out
Live DemoRequest
Array of domain names. Min: 1, Max: 50.
Response Fields
| Field | Type | Description |
|---|---|---|
| results | array<object> |
One entry per domain, in the same order as the input |
| results[].domain | string |
Domain name requested in the batch |
| results[].found | boolean |
False when WHOIS data could not be found |
| results[].error | string |
Error message when found is false |
| results[].data | object |
WHOIS information for the domain when found is true |
| total | integer |
Total number of results returned |
Code Examples
curl -X POST "https://requiems.xyz/v1/networking/whois/batch" \
-H "requiems-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domains":["example.com","google.com"]}'
import requests
url = "https://requiems.xyz/v1/networking/whois/batch"
headers = {
"requiems-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"domains": ["example.com", "google.com"]
}
response = requests.post(url, headers=headers, json=payload)
for item in response.json()["data"]["results"]:
if item["found"]:
print(item["data"]["registrar"])
else:
print(item["error"])
const response = await fetch(
'https://requiems.xyz/v1/networking/whois/batch',
{
method: 'POST',
headers: {
'requiems-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
domains: ['example.com', 'google.com']
})
}
);
const { data } = await response.json();
data.results.forEach(item => {
if (item.found) {
console.log(item.data.domain, item.data.registrar);
} else {
console.log(item.domain, item.error);
}
});
require 'net/http'
require 'json'
uri = URI('https://requiems.xyz/v1/networking/whois/batch')
request = Net::HTTP::Post.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
request['Content-Type'] = 'application/json'
request.body = {
domains: ['example.com', 'google.com']
}.to_json
response = Net::HTTP.start(
uri.hostname,
uri.port,
use_ssl: true
) do |http|
http.request(request)
end
results = JSON.parse(response.body)['data']['results']
results.each do |item|
if item['found']
puts "#{item['domain']} -> #{item['data']['registrar']}"
else
puts "#{item['domain']} -> #{item['error']}"
end
end
Error Responses
Invalid request body. This includes empty arrays, more than 50 domains, invalid domain names, or malformed payloads.
Unexpected server error during batch WHOIS lookup.