What is RDAP?
RDAP (Registration Data Access Protocol) is the modern, IETF-standardized protocol for accessing domain name registration data. Developed as the successor to WHOIS, RDAP provides structured, machine-readable responses in JSON format, making it significantly easier for developers to integrate domain lookup functionality into their applications.
Why RDAP Matters for Developers
If you've ever tried to parse WHOIS data, you know the pain. Each registrar formats their responses differently, uses inconsistent field names, and returns unstructured plain text that requires complex regex patterns to extract useful information. RDAP solves these problems with a standardized JSON schema that works consistently across all RDAP-compliant servers.
Key Technical Advantages
Structured JSON Responses: Every RDAP server returns data in the same JSON format defined by RFC 7483. This means you can write one parser that works with any domain, regardless of registrar or registry. RESTful Architecture: RDAP uses standard HTTP methods and status codes. A simple GET request to an RDAP endpoint returns domain information, and HTTP 404 indicates an available domain—no special protocol handling required. HTTPS by Default: Unlike WHOIS which transmits data in plain text over port 43, RDAP uses HTTPS, ensuring encrypted communication between your application and the RDAP server. Internationalization Support: RDAP properly handles IDN (Internationalized Domain Names) and Unicode characters, essential for global applications.How RDAP Works
When you query a domain through RDAP, the process follows these steps:
1. Bootstrap Discovery: Your client queries the IANA RDAP Bootstrap registry to find the authoritative RDAP server for the TLD
2. HTTP Request: A GET request is made to the RDAP server URL (e.g., https://rdap.verisign.com/com/v1/domain/example.com)
3. JSON Response: The server returns a structured JSON object containing registration data, status codes, and events
Example RDAP Response Structure
{
"objectClassName": "domain",
"handle": "example.com",
"ldhName": "example.com",
"status": ["client transfer prohibited"],
"events": [
{"eventAction": "registration", "eventDate": "1995-08-14T04:00:00Z"},
{"eventAction": "expiration", "eventDate": "2025-08-13T04:00:00Z"}
]
}
RDAP vs WHOIS Comparison
| Feature | RDAP | WHOIS |
|---|---|---|
| Data Format | Structured JSON | Unstructured text |
| Transport | HTTPS (encrypted) | Plain text (port 43) |
| Standardization | RFC 7480-7484 | Inconsistent |
| IDN Support | Native | Limited |
| Query Type | RESTful HTTP | Custom protocol |
Implementing RDAP in Your Applications
For developers building domain tools, RDAP is the recommended approach. Most modern domain availability checkers, including DomScan, use RDAP as their primary data source because it provides:
- Reliable availability detection: HTTP 404 responses definitively indicate available domains
- Rich metadata: Access to registration dates, expiration dates, and status codes
- Consistent parsing: One codebase handles all TLDs
RDAP Adoption Status
RDAP is now mandatory for gTLD registries and registrars per ICANN requirements. Most ccTLDs have also adopted RDAP, though some still operate WHOIS-only services. The IANA Bootstrap file at https://data.iana.org/rdap/dns.json provides current RDAP server mappings for all supported TLDs.
Best Practices
When implementing RDAP queries, cache responses appropriately to respect rate limits, implement the IANA bootstrap for server discovery, and handle both successful lookups and 404 responses for availability checking.