WHOIS Lookup
free/v1/domain/whoisRetrieves comprehensive domain registration data via RDAP (Registration Data Access Protocol). As of January 2025, ICANN officially sunsetted WHOIS for gTLDs — RDAP is now the definitive source. Returns registrar details (name, IANA ID, URL), registration dates (created, updated, expires) with computed age and expiry indicators, EPP status codes, authoritative nameservers, DNSSEC signing status, and registrant/admin/tech contacts (name, organization, email, phone, address). Results are cached for 1 hour.
What It Does
Queries RDAP servers to retrieve domain registration metadata including registrar name, IANA accreditation ID, and URL; registration dates (created, updated, expires) with computed domain age in days, newly-registered flag (< 30 days), days until expiry, and expiring-soon flag (< 30 days); EPP status codes (clientTransferProhibited, serverHold, redemptionPeriod, etc.); authoritative nameservers; DNSSEC signing status; and registrant, administrative, and technical contacts — each with name, organization, email, phone, and full address (street, city, state, postal code, country). Handles GDPR-redacted registrant data gracefully and supports RDAP bootstrap discovery for both gTLDs and many ccTLDs. Optionally returns the full raw RDAP response via the include_raw parameter.
Why It's Useful
With WHOIS officially deprecated, RDAP is the only reliable source for gTLD registration data. EdgeDNS handles RDAP bootstrap discovery automatically — essential for due diligence, brand protection, phishing detection, and competitive research. Assess domain age, trustworthiness, and identify potential typosquatting domains.
Use Cases
Due Diligence for Domain Acquisition
Before purchasing a domain, verify ownership history, registration dates, and any existing disputes or holds.
Avoid purchasing domains with legal issues or poor reputation history.
Phishing Domain Detection
Investigate suspicious domains reported by users. RDAP data reveals registration date, registrar, and EPP status — newly registered domains from budget registrars with privacy enabled are strong phishing indicators.
Quickly triage phishing reports by identifying domains registered within the last 30 days with high-risk registration patterns.
Competitive Intelligence
Monitor when competitors register new domains to anticipate product launches or market expansions.
Stay ahead of competitor moves with early visibility into their domain portfolio.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
domain | string | Required | The domain name to lookup (e.g., example.com)Example: example.com |
include_raw | string | Optional | Set to "true" to include the full raw RDAP response in the outputExample: false |
Response Fields
| Field | Type | Description |
|---|---|---|
domain | string | The queried domain |
status | array | EPP status codes (clientTransferProhibited, serverHold, redemptionPeriod, etc.) |
registrar.name | string | Registrar name |
registrar.iana_id | number | Registrar IANA accreditation ID |
registrar.url | string | Registrar URL |
dates.created | string | Domain registration date (ISO 8601) |
dates.updated | string | Last update date (ISO 8601) |
dates.expires | string | Expiration date (ISO 8601) |
dates.age_days | number | Domain age in days since registration |
dates.is_newly_registered | boolean | True if domain is less than 30 days old |
dates.days_until_expiry | number | Days remaining until expiration |
dates.is_expiring_soon | boolean | True if domain expires within 30 days |
nameservers | array | Authoritative nameservers for the domain |
dnssec | boolean | Whether domain has DNSSEC signing enabled at the registry |
contacts.registrant | object | Registrant contact: name, organization, email, phone, address (street, city, state, postal_code, country) |
contacts.admin | object | Administrative contact: name, organization, email, phone, address |
contacts.tech | object | Technical contact: name, organization, email, phone, address |
raw | object | Full raw RDAP response (only when include_raw=true) |
Code Examples
curl "https://api.edgedns.dev/v1/domain/whois" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d "domain=example.com"const response = await fetch(
'https://api.edgedns.dev/v1/domain/whois?domain=example.com',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
console.log(data);import requests
response = requests.get(
'https://api.edgedns.dev/v1/domain/whois',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={
'domain': 'example.com'
}
)
data = response.json()
print(data)Read the full WHOIS Lookup guide
Why it matters, real-world use cases, parameters, response fields, and how to call it from Claude, ChatGPT, or Gemini via MCP.
Read the guide →Related Endpoints
External References
Learn more about the standards and protocols behind this endpoint.
Try This Endpoint
Test the WHOIS Lookup endpoint live in the playground.