Get the registrar, registration dates, nameservers, status codes, and registrant handle for any domain — in clean JSON, not regex-parsed text. 4-tier fallback chain: rdap.org → IANA RDAP bootstrap → 22 hardcoded RDAP servers → port-43 socket WHOIS for 50+ TLDs. No setup, no parsing.
Type any domain to see the live WHOIS / RDAP response from the API. Free, no signup — rate-limited to 5 lookups/day per browser.
// Click "Run lookup" to see the live API response for this endpoint
Most WHOIS libraries return unstructured text you have to regex-parse, break on new TLDs, and force you to handle registry-specific quirks. This API does that work for you and gives back clean JSON.
_source field tells you which tier returned the data./domain/{d}/whois, or grab WHOIS + DNS + SSL + subdomains + email security in a single /lookup/{d} call. Same API key, same pricing.Every WHOIS response follows the same shape, regardless of whether the data came from RDAP or port-43 fallback. Below: a real response for cloudflare.com.
{
"domain": "cloudflare.com",
"_source": "rdap.verisign.com", // data source used
"registrar": "Cloudflare, Inc.",
"handle": "2241025_DOMAIN_COM-VRSN",
"created": "2009-02-17T22:07:54Z",
"updated": "2024-12-21T16:35:32Z",
"expires": "2027-02-17T22:07:54Z",
"nameservers": [
"ns3.cloudflare.com",
"ns4.cloudflare.com",
"ns5.cloudflare.com",
"ns6.cloudflare.com",
"ns7.cloudflare.com"
],
"status": [
"clientDeleteProhibited",
"clientTransferProhibited",
"clientUpdateProhibited",
"serverDeleteProhibited",
"serverTransferProhibited",
"serverUpdateProhibited"
]
}
Authenticate once with your RapidAPI key, then call GET /domain/{domain}/whois for any domain. Below: examples in cURL, Python, Node.js, and PHP.
curl "https://domain-intelligence-api.p.rapidapi.com/domain/cloudflare.com/whois" \ -H "X-RapidAPI-Host: domain-intelligence-api.p.rapidapi.com" \ -H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY"
import requests
domain = "cloudflare.com"
url = f"https://domain-intelligence-api.p.rapidapi.com/domain/{domain}/whois"
headers = {
"X-RapidAPI-Host": "domain-intelligence-api.p.rapidapi.com",
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
}
r = requests.get(url, headers=headers, timeout=15)
data = r.json()
print(data["registrar"], "- expires", data["expires"])// Node 18+ has built-in fetch - no import needed
const domain = "cloudflare.com";
const res = await fetch(
`https://domain-intelligence-api.p.rapidapi.com/domain/${domain}/whois`,
{ headers: {
"X-RapidAPI-Host": "domain-intelligence-api.p.rapidapi.com",
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
}}
);
const data = await res.json();
console.log(data.registrar, "-", data.nameservers);<?php
$domain = "cloudflare.com";
$ch = curl_init("https://domain-intelligence-api.p.rapidapi.com/domain/$domain/whois");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-RapidAPI-Host: domain-intelligence-api.p.rapidapi.com",
"X-RapidAPI-Key: YOUR_RAPIDAPI_KEY",
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
echo $data["registrar"] . " - created " . $data["created"];The most common workflows that benefit from programmatic WHOIS access. Free tier covers most of them comfortably.
One subscription covers WHOIS, DNS, SSL, subdomains, email security, and the bundled /lookup. Billed monthly via RapidAPI. Cancel anytime.
Quick answers to the things developers usually ask before integrating.
Free tier · No credit card · All endpoints included
Get your API key →