RDAP vs WHOIS

RDAP returns structured JSON over HTTPS with a defined schema. WHOIS returned free text over port 43 in whatever shape each registry chose.

RDAP returns structured JSON over HTTPS with a defined schema. WHOIS returned free text over port 43 in whatever shape each registry chose. Both answer the same question about a domain.

WHOISRDAP
TransportTCP port 43, plain textHTTPS
Responsefree text, no schemaJSON, defined by RFC 9083
Finding the servera list you maintainIANA bootstrap registry
InternationalizationASCII in practiceUTF-8 throughout
Access controlnonestandard HTTP authentication, so registries can tier access
Status of a namea text linestructured status codes
Required for gTLDsnot since 2025-01-28yes

What actually changes for a script

The parse disappears. Instead of matching "Creation Date:" against a dozen registry formats, a client reads the events array and takes the entry whose eventAction is registration.

Errors become HTTP status codes. A name that does not exist is a 404 rather than a sentence, and a rate limit is a 429 rather than silence. That alone removes a category of bug where a throttled response was parsed as an empty record and cached as "no registration data".

What Domduck records

RDAP only, once per domain. See RDAP for the fields.

Why it matters

The migration is mostly finished for generic top-level domains and mostly not finished for country ones, so any tool touching both has to handle two worlds for years. The honest position for a domain tool is to say which it used, per reading, rather than to present one merged answer.

If you are moving a script: keep the domain input the same, replace the port 43 call with an HTTPS GET, resolve the base URL through bootstrap, and read fields by name. The rest of the work is deleting your parser.

Primary source: RFC 9083, the RDAP JSON responses