TLDlive

How to Check If a Domain Name Is Really Available

A name that does not resolve is not necessarily free to register. This guide ranks the available checks by reliability, shows the commands, and explains the cases where tools disagree.

The short version: only the registry can say "available"

Every second-level domain in a TLD lives in a database run by that TLD's registry. A name is available if, and only if, the registry will accept a create request for it from your registrar. Everything else you can look at, a website, a DNS answer, a WHOIS page, a search engine result, is indirect evidence. Indirect evidence is usually right, and it is wrong in exactly the cases that cost money.

The question "is it available?" really splits into three separate questions:

  1. Is the name registered? Answered by registry data (EPP check, RDAP, WHOIS).
  2. Is the name delegated? Answered by DNS, and by the TLD's zone file.
  3. Can I register it, and at what price? Answered only by a registrar talking to the registry, because reserved names, premium tiers and lifecycle states all change the result.

A registered name can be undelegated, so question 2 can say "no" while question 1 says "yes". That mismatch is the source of nearly every false "available" result.

Four methods, ranked by what they actually prove

MethodWhat it provesWhat it cannot tell you
Registrar search boxThe registrar's live EPP check passed, plus a priceWhether the registrar adds markup, or whether another party holds a backorder
RDAP lookupA record exists (or not) at the registryPremium status, reserved status, whether the record is about to be deleted
WHOIS lookupSame as RDAP, in an older text formatSame as RDAP, plus rate limits and inconsistent wording
DNS queryWhether the name currently delegates and resolvesAnything about registration: an unregistered name and a held name both look empty

The registrar search is not just a convenience layer. Registrars check availability with the EPP domain:check command against the registry, so a registrar answer is the closest thing to an authoritative "yes". The trade-off is that the registrar controls the presentation and the sales funnel, which is why it pays to confirm with a second, independent tool before you commit to a plan around a name.

Why NXDOMAIN does not mean the name is free

NXDOMAIN is a DNS response meaning "this name does not exist in the zone". For a registered domain to answer NXDOMAIN, it only needs to be missing from the TLD zone. That happens in several situations where the name is firmly owned:

  • No nameservers set. A freshly registered name with no NS records is not published in the zone at all.
  • Registry or registrar hold. Statuses such as clientHold and serverHold deliberately remove the delegation. Common reasons are unpaid renewals, unverified contact details, abuse complaints and legal disputes.
  • Expired and in the post-expiry period. Many registrars pull the delegation or point to a parking page soon after expiry, while the registration still exists for weeks. See the domain lifecycle for the typical sequence.
  • Pending delete. The last few days before a deleted name is purged. It is out of the zone and still registered.

Never treat "the site does not load" or "dig returns NXDOMAIN" as evidence that a name can be registered. Treat it as evidence that the name is not delegated, nothing more.

The reverse error also exists but is rarer. DNS can still return answers for a short time after a delegation was removed, because resolvers cache. A name that resolves is almost certainly registered; a name that does not tells you very little.

Command-line walkthrough with a placeholder name

The examples below use example-startup-name.com as a stand-in. Replace it with your candidate. Work through them in order.

Step 1: ask DNS what it thinks

dig +noall +comments +answer example-startup-name.com NS
dig +short example-startup-name.com A

Read the status: field in the comments. NXDOMAIN means no delegation. NOERROR with no answer on a name you expect to exist is also possible, for example a name that has a delegation but no address record. A NOERROR with NS records in the answer is strong evidence the name is registered.

Step 2: ask the registry through RDAP

curl -s -o /dev/null -w "%{http_code}\n" \
  https://rdap.verisign.com/com/v1/domain/example-startup-name.com

RDAP is a REST protocol, so availability becomes an HTTP status. A 404 generally means the registry has no such object. A 200 returns JSON describing the registration, including an events array with registration and expiry dates and a status array with values like client transfer prohibited or pending delete. For TLDs you do not know the server for, a public RDAP bootstrap redirector will forward you; the data format is defined in RFC 9083. The practical differences from the older protocol are covered in WHOIS vs RDAP.

Step 3: fall back to WHOIS

whois example-startup-name.com | head -30

Unregistered names produce a "No match" or "not found" line whose wording differs by registry; there is no standard phrase, so scripts that grep for one string break when you change TLD. Read the status lines too. A name showing redemptionPeriod or pendingDelete is not available yet, even though the owner has effectively lost it.

Step 4: confirm with a registrar

Run the name through a registrar's search. If it offers a price that is not the normal one for that TLD, you have probably found a premium name; the next section explains that case.

Names that look free but cannot be registered, or cost more

Registry-level rules change the answer even for a name nobody owns.

Premium names

Registries can classify specific names as premium and charge a higher registration fee, and in many TLDs a higher renewal fee too. The name shows as available but at a price tier set by the registry, not the registrar. Always read the renewal price, because a premium name can keep the premium on every renewal while a promo only discounts year one.

Reserved and blocked names

Registries hold back strings for technical, policy or later-release reasons: single characters, two-letter combinations in some TLDs, names that match the registry's own infrastructure, and lists the registry intends to auction or allocate separately. A reserved name usually fails the check outright or is shown as "unavailable" without explaining why.

Trademark and launch-phase blocks

During a TLD's launch, a Sunrise period gives trademark holders first access, and some names stay blocked afterwards through a block list. If a name is plainly unregistered but unobtainable, ask the registrar whether it is reserved or blocked.

Restrictions on who may register

Some ccTLDs and sponsored TLDs require local presence or eligibility. The check can pass, then registration fails at the eligibility step. See gTLD vs ccTLD vs new gTLD for how common that is.

Registered but not resolving: what the status codes mean

If the registry says a name is registered, the status array explains how close it is to release:

Status seenMeaningCan you register it?
ok or client transfer prohibitedNormal, active registrationNo
clientHold / serverHoldRegistered but removed from the zoneNo
autoRenewPeriod (grace)Expired; owner can usually renew without penaltyNo
redemptionPeriodOwner can still restore, usually at a high feeNo
pendingDeleteFinal stage; will be purged on a scheduled dateNot yet; backorder it
404 / "No match"No registry recordUsually yes, subject to premium and reserved rules

The exact length of each stage varies by registry and sometimes by registrar policy, so read your TLD's own rules instead of assuming. When a name is in pendingDelete, the realistic way to get it is a backorder or drop-catch service, since many parties compete in the same second. For lists of names approaching release, TLDlive publishes expired domain lists built from zone file changes.

Why zone-file tools can show "available" too early or too late

Daily zone-file analysis is a powerful way to find names that left a TLD, but it is a delegation signal, not a registration signal. A name missing from today's zone, compared with yesterday's, was removed from the delegation. It may have been deleted. It may also have been put on hold, suspended, or had its nameservers removed by the owner. The ICANN CZDS zone files carry no owner, price or status data, so a name that dropped out of a zone still needs an RDAP or registrar check before you plan around it. The relationship between the three terms is laid out in dropped vs expired vs deleted domains.

Rate limits, terms and polite checking

  • WHOIS servers throttle. Most limit queries per IP address and may block you for hours. Scripts that hammer port 43 get silent failures that look like "available" results if you only test for absence of a match.
  • RDAP servers return 429. Respect the Retry-After header and back off. Cache results; registration data does not change every second.
  • Registrar search tools have terms of service. Automated scraping of a registrar's search page is commonly prohibited. Use the registrar's documented API with your own account, or a bulk-check feature they provide.
  • Do not check names you want, in public tools, repeatedly. Some registrars log searches, and a pattern of repeated lookups on a valuable name is a signal. Whether any given registrar acts on it varies; if the name matters, register it when you first confirm it is free.
  • Identify yourself. Set a descriptive User-Agent on scripted requests so operators can contact you instead of banning you.

A practical checklist before you buy

  1. Run RDAP or WHOIS and read the status, not only whether a record exists.
  2. Confirm in a registrar and note whether the price is standard or premium, and what the renewal price is.
  3. Check obvious variants and look-alikes of the name, which is where typosquatting risk and brand confusion appear.
  4. Register straight away through the same registrar session you used to check.
  5. If the name is registered and you want it, look at whether it is nearing deletion before you contact the owner; see expired domains.

Frequently asked questions

If a domain does not load in my browser, is it available?

No. A site can be down, parked behind a hold, or simply never configured while the domain is fully registered. Only a registry-level check (RDAP, WHOIS) or a registrar's live search shows whether you can register it.

Does dig returning NXDOMAIN prove a domain is unregistered?

No. NXDOMAIN means the name is absent from DNS. Registered names with no nameservers, or with a clientHold or serverHold status, are also absent from the zone. Use RDAP or WHOIS for the registration question.

What is the most reliable single check?

A registrar's search, because it asks the registry directly with an EPP check and returns the price you would actually pay. Confirm with RDAP if you want independent evidence.

Why does one tool say available and another say taken?

Tools differ in data source and freshness. A zone-file or DNS tool sees delegation, a WHOIS cache may be stale, and a registrar sees the live registry. When they disagree, trust the registry-derived answer and re-check in a few minutes.

What does it mean when a registrar offers a name at a very high price?

The registry has probably classified it as premium. Check both the registration and renewal price, since the premium can apply every year.

Is it legal to run my own availability checks?

Looking up public registration data is normal, but each server publishes usage terms and rate limits. Stay within them, use official APIs where offered, and do not scrape registrar search pages that forbid it.