Naming and branding

How to Check If a Domain Name Is Available (Correctly)

Vettoz · · 5 min read

To check if a domain name is available, look it up on the registry that runs its extension. For most extensions that means an RDAP lookup: an answer of “not found” (HTTP 404) means unregistered, and a record (HTTP 200) means taken. A few popular extensions, including .io and .co, have no RDAP server, so check those with the registry’s WHOIS instead. Then register it quickly, because available only means unregistered at that moment.

Why does a domain check go wrong?

The usual first step is typing the name into a registrar’s search box. That works for buying, but registrars mix in premium listings, aftermarket offers and suggestions, so “available” can mean “available at a reseller’s price”.

The more serious problem is a false “available”. It happens when a tool asks the wrong place. While naming this product, a lookup through a generic RDAP proxy said a .io domain was free. The registry’s own WHOIS said it had been registered since 2018. The proxy had no RDAP server for .io, so it answered “not found” for every .io name, registered or not. If you trust that answer, you design a logo around a name you can’t have.

How do RDAP and WHOIS work?

Both ask the registry, the organisation that keeps the official list for an extension, whether a name is on that list.

Method How you ask Registered Not registered
RDAP An HTTPS request to the registry’s RDAP server HTTP 200 with a record HTTP 404
WHOIS A text query to the registry’s WHOIS server on port 43 A record starting “Domain Name:” “Domain not found”, “No match” or similar

RDAP is the newer protocol and returns structured data. WHOIS is older and returns plain text that differs by registry. IANA publishes a bootstrap file that lists the RDAP server for each extension, so a tool can find the right server instead of guessing.

Which extensions need WHOIS instead of RDAP?

In checks run on 2026-10-18, .com (Verisign), .ai, .app and .si answered over RDAP, and the bootstrap file also lists RDAP servers for .net, .dev and .xyz. Three common extensions had no RDAP server in the bootstrap file and needed the registry’s WHOIS: .io (whois.nic.io), .co (whois.registry.co) and .me (whois.nic.me).

Two practical details from those checks:

  • Ask the right server for each extension. A generic RDAP lookup that has no server for .io or .co can answer “not found” for every name, which reads as available. That is exactly the false result described above.
  • Ask one question at a time per registry. When many lookups hit one registry at once, some answer with rate limits or empty replies. An empty reply is “unknown”, never “available”.

How do you check a domain by hand?

For one or two names, this is quick:

  1. Find the registry’s server. For RDAP, look up the extension in IANA’s bootstrap file (data.iana.org/rdap/dns.json). For WHOIS, the registry’s own site lists its server.
  2. Run the lookup. In a terminal, curl -I https://rdap.verisign.com/com/v1/domain/yourname.com returns 404 for a free .com name. For .io, whois -h whois.nic.io yourname.io returns “Domain not found.” for a free one.
  3. Read the answer literally. A record means taken. A clear “not found” means unregistered. Anything else, including an error or an empty reply, means you don’t know yet.
  4. Check the registrar’s price. Some unregistered names are priced as premium by the registry. Available and affordable are separate questions.

How do you check many names at once?

During naming you may have 20 candidates and five extensions each: 100 lookups. By hand that is slow, and running them all at once tends to trip the rate limits mentioned above. A small script that groups names by extension, asks each registry one name at a time and runs the extensions side by side finishes in seconds. Keep three answers, never two: available, taken and unknown. Retry unknowns once after a short pause, and treat what is still unknown as not available until you check it yourself.

What does “available” mean, exactly?

It means nobody has registered the name at the moment of the lookup. It does not mean:

  • Reserved for you. Anyone can register it a minute later. If you like it, register it the same day.
  • Free of trademarks. A brand can own the name without owning the domain. Search the name with your category and check the trademark office where you plan to sell.
  • Unused. A taken .com with a parked page may still block you in search and in buyers’ heads.

This is why domain checks belong early in naming, at the shortlist stage, right after you’ve validated the idea itself. The full method is in how to name a product, including how this product’s first two names failed on exactly this check.

Should you buy the .com or settle for another extension?

It depends on who holds the .com. If it’s parked or unused, a product on .io, .co, .app or a country domain like .si can work. If someone in your category uses the .com, buyers who type the name by habit will land on them, and you may want a different name. Positioning matters too: see brand positioning for a new product.

FAQ

Is a registrar’s search box accurate?
It is accurate for what that registrar can sell you, which can include premium and resale listings. For a plain yes or no on registration, ask the registry.

Why did a tool say my .io was free when it isn’t?
Likely because it used RDAP for an extension that has no RDAP server, and read “not found” as available. Check .io and .co with the registry’s WHOIS.

Can I hold a name without buying it?
No. Until you register it, anyone else can.

How many extensions should I check?
The .com plus the three or four extensions you would actually use. Checking all of them for every candidate also shows which names are crowded.

Does a free domain mean the name is safe to use?
No. Check existing brands and trademarks separately. Competitor research helps here: how to find competitors for a product idea.

Check names and the idea with Vettoz

Vettoz checks up to 20 name ideas at a time across extensions like .com, .io, .co, .app and .ai inside Claude or ChatGPT. He asks the registries directly, because a registrar’s search box mixes in resale listings. He uses WHOIS where an extension has no RDAP, because a generic lookup reads those as free. And he marks anything unclear as unknown, because a wrong “available” costs more than a second check. The same tool researches the idea itself. See how a check works, the plans, the setup guide and more guides.

Get 2 free checks

Check your next idea, inside Claude.

Get started

More in Naming and branding

1 idea $9 · 15 ideas $99 See the packs

Contact support

We reply by email, usually within one business day.