WHOIS / RDAP Lookup API
Look up a domain’s registrar, creation and expiry dates, days left, status codes, nameservers and DNSSEC as clean JSON from the registry’s RDAP service.
The WHOIS API queries RDAP, the JSON successor of WHOIS that registries are required to run, and returns a short, consistent summary instead of free-form WHOIS text: registrar with its IANA ID and abuse contact, creation, last update and expiry dates, days_until_expiry, EPP status codes (such as client transfer prohibited), nameservers, DNSSEC and – when the registry publishes it – the registrant organisation and country.
The right RDAP server for each extension is taken from the official IANA bootstrap registry, which covers .com, .net, .org, .info, .dev, .app, .xyz and most other generic and many country-code domains. Subdomains are reduced automatically (blog.example.com → example.com). A domain that the registry does not know returns registered: false, which usually means it is available.
.vn domains are not supported, because VNNIC has no public RDAP service, and neither are other extensions without RDAP (the error code is tld_not_supported). Results are cached for one hour.
Parameters
| Name | In | Type | Required | Default | |
|---|---|---|---|---|---|
domain | query | string | yes | Domain name (a URL or subdomain is reduced to the domain). |
Example
curl "https://apibox.io.vn/v1/whois?domain=github.com" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/whois?domain=github.com', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/whois?domain=github.com",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/whois?domain=github.com');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Response
{
"query": "github.com",
"domain": "github.com",
"unicode_name": null,
"registered": true,
"handle": "1264983250_DOMAIN_COM-VRSN",
"registrar": {
"name": "MarkMonitor Inc.",
"iana_id": "292",
"url": "http://www.markmonitor.com",
"abuse_email": "abusecomplaints@markmonitor.com",
"abuse_phone": "+1.2086851750"
},
"created": "2007-10-09T18:20:50Z",
"updated": "2026-09-07T09:22:52Z",
"expires": "2028-10-09T18:20:50Z",
"days_until_expiry": 699,
"status": [
"client delete prohibited",
"client transfer prohibited",
"client update prohibited"
],
"nameservers": [
"dns1.p08.nsone.net",
"dns2.p08.nsone.net",
"ns-1283.awsdns-32.org",
"ns-421.awsdns-52.com"
],
"dnssec": false,
"registrant": null,
"rdap_server": "rdap.verisign.com",
"rdap_updated": "2026-11-10T10:06:30Z"
}
Use cases
- Monitor your domains and alert before they expire
- Check whether a domain is registered before suggesting it
- Find the registrar and abuse contact when reporting phishing
- Enrich lead or security data with domain age
FAQ
What is the difference between WHOIS and RDAP?
RDAP is the standardised replacement of WHOIS: the same registration data, but as structured JSON over HTTPS. ICANN requires it for all generic domains, so it is more reliable to parse than WHOIS text.
Why are .vn domains not supported?
The .vn registry (VNNIC) offers no public RDAP service. Use the VNNIC lookup at tracuutenmien.gov.vn for those domains.
Why is the registrant name empty?
Since GDPR, most registries and registrars redact personal contact data. Only non-personal data such as the organisation or country is shown when published.
Related APIs
URL Metadata
Fetch any URL and get its title, description, Open Graph and Twitter Card tags, favicon, canonical, feeds and JSON-LD as JSON.
H:HTTP Headers
See the HTTP status and every response header of a URL, with a summary of security headers like HSTS, CSP and X-Frame-Options.
301Redirect Checker
Follow every 301, 302, 307 and 308 redirect of a URL and get the full chain with status codes, the final URL and the number of hops.