How to check if a domain is available: RDAP vs WHOIS
To check whether a domain is taken, ask the registry that runs its extension. The modern way to ask is RDAP, the Registration Data Access Protocol. If the registry returns a record, the domain is registered. If it returns “not found”, the domain is probably available, but only the registrar can confirm that you can buy it and at what price.
Updated:
What RDAP is
RDAP is an IETF standard (RFC 9082 for queries, RFC 9083 for responses) that returns domain registration data as JSON over HTTPS. It was designed to replace WHOIS, which returns free-form text over an old, unencrypted protocol with a different format at every registry.
ICANN requires RDAP for generic top-level domains such as .com, .app and .dev, and since January 2025 RDAP is the authoritative source of registration data for them. Country-code domains such as .ai, .io and .co follow their own rules: some offer RDAP, some only WHOIS.
RDAP vs WHOIS
| RDAP | WHOIS | |
|---|---|---|
| Format | Structured JSON | Free text, differs per registry |
| Transport | HTTPS | Plain TCP on port 43 |
| Finding the server | IANA bootstrap file maps each extension to its RDAP server | Varies; often hard-coded per extension |
| “Not found” signal | HTTP 404 | A text message that differs per registry |
| Works from a browser | Often, when the registry allows cross-origin requests | No |
How to check a domain with RDAP, step by step
- Find the RDAP server for the extension. IANA publishes a bootstrap file at
https://data.iana.org/rdap/dns.json(RFC 9224). For .com it points tohttps://rdap.verisign.com/com/v1/. - Request the domain. Append
domain/and the name:curl -s https://rdap.verisign.com/com/v1/domain/example.com - Read the status code. HTTP 200 with
"objectClassName": "domain"means the registry has a record: the domain is registered. HTTP 404 means the registry has no record. - Confirm at a registrar. A 404 is a strong hint, not a purchase guarantee. Search the name at a registrar to see whether it can be registered and what it costs.
Useful fields in a 200 response include status (for example client transfer prohibited), events (registration and expiration dates) and entities (the registrar).
Why “not found” does not always mean available
- Premium names. Registries and resellers price some unregistered names far above the standard rate. RDAP does not show prices.
- Reserved and blocked names. Registries hold back some names (for example country names or short strings). They have no registration record but cannot be bought normally.
- Just registered or just deleted. A name can be registered minutes after your check. Names that expired may sit in a redemption or pending-delete period before they become available again.
- Rate limits and errors. Registries limit how many queries you can send. An HTTP 429 or a network error tells you nothing about availability.
Extensions without public RDAP
Some country-code registries publish no RDAP server in the IANA bootstrap file. Among the extensions DomainGenTool supports, that applies to .io and .co, so those names always need a registrar or WHOIS check (for example whois.nic.io for .io). Each extension page lists the exact server: .com, .ai, .io, .co, .app, .dev.
How DomainGenTool uses RDAP
DomainGenTool generates name ideas with AI, then your browser queries the registry’s RDAP server for each one, a few at a time. It shows “Registered” only when the registry returns a matching domain record, “Possibly available” only on a registry 404, and “Unconfirmed” for everything else: no RDAP server, rate limits, timeouts or blocked requests. The AI never decides registration status. See how it works for the full flow.