Modern WHOIS for domains and IPs, in clean JSON
RDAP API
The RDAP API gives you authoritative domain and IP registration data through RDAP (Registration Data Access Protocol), the IETF standard that replaces the old, unstructured, rate-limited WHOIS protocol. Every request is routed through the IANA bootstrap registry to the authoritative registry or Regional Internet Registry, so you always get data straight from the source.
RDAP responses are deeply nested, jCard/vCard-encoded, and inconsistent across registries. This API does that work for you, flattening everything into a clean, stable JSON object with domain status flags, nameservers, registrar, registration dates, DNSSEC details, and full IP network records — no scraping, no flaky port-43 WHOIS servers, no brittle text parsing.
Free tier included, no credit card required. One key works across all 49 APIs.
- Endpoints
- 2
- Response Time
- <1s
- Uptime SLA
- 99.9%
Key features
- Domain lookups with status, nameservers, registrar, and dates
- IPv4, IPv6, and CIDR network lookups with abuse contacts
- Routed through the IANA RDAP bootstrap to authoritative registries
- Flattened, stable JSON instead of nested jCard/vCard
- Full DNSSEC details including DS records
- Available-domain heuristic (available:true on registry 404)
- Graceful handling of upstream rate limits, timeouts, and TLDs without RDAP
Built for
- Domain availability and registration checks
- Brand and trademark monitoring
- Fraud scoring and risk assessment
- IP and ASN enrichment for security tooling
- Abuse contact discovery for takedown workflows
- Domain expiration and renewal monitoring
- Threat intelligence and OSINT investigations
- Compliance and registrar auditing
Try it
Build the request for your data
Edit the parameters below and see the exact curl command and JSON response you will get. No key required to preview.
Parameters
GET /rdap/v1/domain?domain=example.com&apikey=YOUR_API_KEY HTTP/1.1
Host: api.apicodex.io
{
"domain": "example.com",
"handle": "2336799_DOMAIN_COM-VRSN",
"status": [
"client delete prohibited",
"client transfer prohibited",
"client update prohibited"
],
"nameservers": [
{ "name": "a.iana-servers.net" },
{ "name": "b.iana-servers.net" }
],
"registrar": {
"name": "RESERVED-Internet Assigned Numbers Authority",
"iana_id": "376",
"url": "http://res-dom.iana.org"
},
"registration_date": "1995-08-14T04:00:00Z",
"expiration_date": "2025-08-13T04:00:00Z",
"dnssec": true,
"source": "rdap.org"
}Documentation
RDAP API Documentation
The RDAP API exposes two simple GET endpoints — one for domains and one for IPs/CIDR blocks. Queries are routed through rdap.org (the IANA bootstrap redirector) to the authoritative registry or RIR, then flattened into clean, stable JSON. Note that, due to GDPR, most gTLD registrant contact details are redacted at the source; status, nameservers, registrar, and dates remain reliable.
Base URL
https://api.apicodex.ioAuthentication
Authenticate by passing your API key as a query parameter, or by sending it in an X-Api-Key header:
GET /rdap/v1/domain?domain=example.com&apikey=YOUR_API_KEYRequest and response
Illustrative values. Confirm current endpoint behavior, quotas, and data freshness in the API documentation before production use.
GET /rdap/v1/domain?domain=example.com&apikey=YOUR_API_KEY HTTP/1.1{
"domain": "example.com",
"handle": "2336799_DOMAIN_COM-VRSN",
"status": [
"client delete prohibited",
"client transfer prohibited",
"client update prohibited"
],
"nameservers": [
{ "name": "a.iana-servers.net" },
{ "name": "b.iana-servers.net" }
],
"registrar": {
"name": "RESERVED-Internet Assigned Numbers Authority",
"iana_id": "376",
"url": "http://res-dom.iana.org"
},
"registration_date": "1995-08-14T04:00:00Z",
"expiration_date": "2025-08-13T04:00:00Z",
"dnssec": true,
"source": "rdap.org"
}Code examples
curl --request GET \
--url 'https://api.apicodex.io/rdap/v1/domain?domain=example.com' \
--header 'X-Api-Key: YOUR_API_KEY'Endpoints
GET /rdap/v1/domain
RDAP/WHOIS lookup for a domain. Returns a flattened domain record with status, nameservers, registrar, dates, and DNSSEC. Returns 404 with available:true when the registry reports the domain as not found.
/rdap/v1/domain?domain=example.com&apikey=YOUR_API_KEYGET /rdap/v1/ip
RDAP lookup for an IPv4/IPv6 address or CIDR block. Returns a flattened network record with handle, name, type, country, CIDR, address range, and abuse contact.
/rdap/v1/ip?ip=8.8.8.8&apikey=YOUR_API_KEYDomain Endpoint Parameters
Required parameters
domainDomain name to query. Accepts a bare domain, an FQDN with trailing dot, an IDN/punycode (xn--) label, or a pasted URL (the hostname is extracted). Normalized to lowercase.apikeyYour API key. Pass it as a query parameter, or send it in an X-Api-Key header instead.
IP Endpoint Parameters
Required parameters
ipAn IPv4 address, IPv6 address, or CIDR block to look up, e.g. 8.8.8.8 or 8.8.8.0/24.apikeyYour API key. Pass it as a query parameter, or send it in an X-Api-Key header instead.
Pricing
RDAP API Pricing
One key, one subscription, all 49 APIs. Start free and upgrade when you grow. No minimums, no lock-in.
This API costs 5 credits per request. Credits are shared across every API on your plan.
Estimate your monthly cost
Drag the slider to match your expected request volume. We will recommend the cheapest plan that covers it.
Recommended plan
Starter
$29.99 /month
Free
- All 49 APIs included
- No credit card required
- Full documentation and examples
Starter
Popular- All 49 APIs included
- Email support
- Usage dashboard and analytics
Pro
- All 49 APIs included
- Priority support
- Up to 5 API keys
Need a different plan?
Tell us about your API, volume, or support requirements.
Coming soon · MCP
Use the RDAP API from your AI agent
The API Codex MCP server will expose this API, and the other 39, to Claude, Cursor and any MCP client as tools. Same key, same credits, one config entry.
FAQ
Frequently asked questions
RDAP (Registration Data Access Protocol) is the IETF standard that replaces the legacy WHOIS protocol. Where WHOIS returns unstructured free text over the unencrypted port 43 — formatted differently by every registry — RDAP returns structured JSON over HTTPS, supports internationalized data, and is mandated by ICANN for gTLD registries and operated by all five Regional Internet Registries. This API queries RDAP for you and flattens the complex, nested response into clean, stable JSON.
There are two GET endpoints. /rdap/v1/domain takes a domain query parameter and returns a flattened domain registration record (status, nameservers, registrar, dates, DNSSEC). /rdap/v1/ip takes an ip parameter — an IPv4 address, IPv6 address, or CIDR block — and returns a flattened network record with handle, name, type, country, CIDR, address range, and abuse contact. There is also a health check endpoint.
Yes, as a heuristic. When the authoritative registry reports a domain as not found, the API returns a 404 with available:true, which indicates the name is likely unregistered. If the TLD has no RDAP service at all, available is null so you can tell 'likely free' apart from 'unknown'. This is a strong signal for availability tools, but it is not a guarantee of registrability — always verify with a registrar before purchase.
Due to GDPR and similar privacy regulations, most gTLD registries redact personal registrant contact details (name, email, phone) at the source. This is a property of RDAP itself, not the API. You can still rely on non-personal fields — domain status flags, nameservers, registrar and IANA ID, and registration/expiration/last-changed dates — which remain fully populated. For IP lookups, organization and abuse-contact data is typically available.
The API runs on a global edge network and typically responds in under a second. Each query is routed through rdap.org, the IANA bootstrap redirector, which points to the authoritative registry (for domains) or Regional Internet Registry (for IPs). We follow that redirect and fetch the record straight from the source, so the data is authoritative rather than scraped or reconstructed from legacy WHOIS text.
Upstream conditions are mapped to clear HTTP status codes. A 400 means the supplied domain or IP was invalid. A 404 means the record was not found (with available:true for likely-unregistered domains). A 429 means the upstream RDAP service rate-limited the request, a 502 means the upstream returned an invalid or failed response, and a 504 means the upstream request timed out. This lets your client implement precise retry and backoff logic.
Yes. The ip parameter accepts an IPv4 address (e.g. 8.8.8.8), an IPv6 address, or a CIDR block (e.g. 8.8.8.0/24). The response includes the ip_version field along with the network's CIDR, start and end addresses, parent handle, registrant, and abuse contact — ideal for ASN enrichment, fraud scoring, and security tooling.
Keep building
Related APIs
Retrieve detailed WHOIS information for a domain name, including registration, expiration, and status data.
Query DNS records with support for all record types and reverse DNS lookups in structured JSON.
Analyze SPF, DKIM, and DMARC records to optimize email domain configurations and improve deliverability.