Expired Domain Checker: How to Check Expiry, History, Backlinks and Availability (4 Lookups)

Four public sources answer everything an expired domain checker should: RDAP for the registration status, a public capture index for site history, an open web crawl for backlinks, and DNS for whether the name is in the zone. What each one returns and where it misleads.

An expired domain checker answers four questions. Is the name registered, and if so where is it in the expiry process. What was on it before. Who links to it. And can you register it today. Each question has a public source of record, and each source has a way of misleading you if you read it wrong. This guide goes through the four in order, with the query behind each one, and points at the tool we built on top of them.

The short version: check status with RDAP, site history with a public capture index, backlinks with an open web crawl, and availability with a DNS query against the root. Our expired domain checker runs all four from one input.

How do you check if a domain is expired?

Query the registry over RDAP. RDAP is the Registration Data Access Protocol, and ICANN's RDAP page describes it as the protocol that "was created as the replacement for the WHOIS protocol." The same page notes that gTLD registries and registrars must provide RDAP and that "as of 28 January 2025 they are no longer required to provide WHOIS services (except for .com, .name, and .post)." A WHOIS-based expiry checker is querying a service most registries have been allowed to switch off.

RDAP returns JSON, and the fields you want are the expiration event and the status array. The status values are the EPP codes ICANN documents on its status codes page. Three matter for an expired name. autoRenewPeriod is a grace period the registry grants after the registration expires. redemptionPeriod means the registrar has deleted the name and the owner has 30 days to restore it. pendingDelete "indicates that your domain has been in redemptionPeriod status for 30 days and you have not restored it within that 30-day period. Your domain will remain in this status for several days, after which time your domain will be purged and dropped from the registry database."

Finding the right RDAP server is a solved problem. IANA keeps the bootstrap registry for the domain name space, published as JSON at data.iana.org, and RFC 9224 specifies how a client uses it to find "which Registration Data Access Protocol (RDAP) server is authoritative to answer queries" for a given name. If you would rather not write the lookup, ICANN's lookup.icann.org does it for any gTLD.

Country-code TLDs are the exception. Many have RDAP; some still only offer WHOIS or a web form. For .au, auDA's own lookup returns the registry's status codes, and what happens when a domain expires covers both the gTLD timeline and the 30-day .au rule.

One misreading to avoid. An expiry date in the past does not mean the name is available. A .com can sit up to 80 days past expiry before it drops, and for most of that time the old owner can still renew it.

How do you check a domain's history?

Query the Wayback Machine's index rather than browsing it. The Internet Archive publishes a CDX server API whose only required parameter is the URL. The documentation describes the basic query as returning "a portion of the index, one per row, for each 'capture' of the url" that the archive holds. Add matchType=domain to include every subdomain, output=json for a parseable response, from and to to bound the years, and a filter on status code to drop redirects and errors.

What you get is a list of captures with timestamps, status codes and MIME types. From that list you can read the four things that matter about a domain's past. When the first capture is, which is the earliest evidence the site existed. How many captures there are and how evenly they spread, which separates a site that ran for years from one that was crawled twice. Where the gaps are, since a gap of two or more years usually marks a change of owner. And what the last captures returned, because a run of 302s to an unrelated site at the end of the record is the signature of a domain that was already picked up and redirected once.

Then look at the pages themselves, at two or three points in the timeline. A domain that was a plumbing business for twelve years and then a casino for eight months has a link profile that belongs to the plumbing business. Evaluating an expired domain's link history covers how to read that.

The CDX index is also how to check age. Registration dates in WHOIS reset when a domain is registered again after a drop, so "aged domain" claims based on WHOIS are often measuring the current registration, not the site. The first archive capture does not reset. Aged domain vs new domain goes into what the age is worth.

How do you check an expired domain's backlinks?

Use a link index. The one that is public and free is the Common Crawl web graph. Common Crawl's web graphs page says it "regularly releases host- and domain-level graphs" built from its crawl, that "all types of links are listed," and that "the domain graph is built by aggregating the host graph at the pay-level domain (PLD) level based on the public suffix list." A pay-level domain is the registrable name, so example.com rather than blog.example.com, which is the unit you care about when a domain expires.

Querying it for one domain returns the referring domains, meaning the distinct sites that link in. That count is the first number to look at, and how backlinks work explains why one link from each of 50 sites is worth more than 50 links from one site. Then read the list. Links from a university, a government body, an encyclopedia or a national newspaper mean editors chose the site as a source. Links from directories, forum signatures and expired-domain sellers mean the opposite.

Our backlink checker runs this query and names the notable sources. Each directory listing carries a Revised Score, a 0 to 100 grade computed the same way for every listing, which makes two candidates comparable.

A crawl is a snapshot. A link removed since the crawl still shows until the next release is built, and a link added since does not show at all. Treat the count as a lower bound on what existed and an upper bound on what still does.

How do you check if an expired domain is available?

Ask the DNS. A registered domain with working name servers has NS records in its TLD zone. A domain that is not registered returns NXDOMAIN, and RFC 8020 states that this response "means that the domain name which is thus denied AND ALL THE NAMES UNDER IT do not exist." Google's public resolver exposes this over HTTPS through the DNS-over-HTTPS JSON API at dns.google/resolve, so a single GET request answers it.

The trap is the other direction. NXDOMAIN means the name is not in the zone. It does not mean the name is unregistered. A domain in redemptionPeriod is removed from the DNS and still belongs to the old owner for 30 more days, and a .au domain in its 30-day expired hold is the same. So the availability check is two queries: DNS says whether the name resolves, and RDAP says whether anyone holds it. A name that fails DNS and returns no RDAP record is registrable. A name that fails DNS and returns a record with redemptionPeriod is on its way, and the drop date is 30 days plus a few from the deletion event in that record.

The recently dropped domains and new expired domains hubs run this check on every listing, re-checked against the live root, and remove anything that has been registered.

Which checks matter most?

QuestionSourceWhat it returnsWhere it misleads
Expired?RDAP via IANA bootstrapStatus codes, expiry and deletion eventsExpiry date in the past is not availability
History?Wayback CDX indexEvery capture with timestamp and statusSnapshot count without reading the pages
Backlinks?Open web crawl link dataReferring domains, linking pagesSnapshot; removed links persist until next build
Available?DNS NS query, NXDOMAINWhether the name is in the zoneNXDOMAIN during redemption is not available

Run them in that order. Status first, because a name in autoRenewPeriod may never drop. History second, because a bad archive record ends the exercise before you spend time on links. Backlinks third. Availability last, and again on the day you intend to register.

FAQ

What is the best expired domain checker? One that reads the sources of record rather than a cached copy. RDAP for status, a public capture index for site history, an open web crawl for backlinks, and a live DNS query for availability. Our checker runs those four; several paid tools do the same with a proprietary link index.

How do I check when a domain expires? Query the registry over RDAP and read the expiration event. ICANN's lookup.icann.org does this for any gTLD. WHOIS still works for .com but most other registries are no longer required to run it.

How can I check if a domain has expired for free? RDAP, the archive's capture index, the open crawl data and DNS are all free and public. Our expired domain checker and backlink checker are free to use.

Does an expired domain keep its backlinks? The links are on other sites and do not change when the domain expires. They stop resolving while the domain is out of the DNS. Some are removed or replaced with archive copies while the domain is dark, so a recent drop keeps more than an old one.

How do I check a domain's history before buying it? Pull its CDX index, note the first capture, the capture density and any gaps, then read the archived pages at two or three points in time. If the last era looks nothing like the earlier ones, the links belong to the earlier site.

Using the Revised directory for this

Every listing has been through the same four lookups, which is the point of the directory: the checking is done and published rather than left to you.

  1. Open the directory. As of 16 September 2026 it holds roughly 11,000 expired domains, and all of them had availability re-checked against the live root within 30 days.
  2. Filter on Checked in the History section to restrict the grid to recently swept rows, or use recently dropped for names confirmed unregistered in the last seven days.
  3. Set Spam signal to low in Quality. Every listing is spam-screened on its site history before it goes up, and 9,541 (84%) sit in the low band.
  4. Read the archive timeline and Linked by on the listing page before spending a reveal. That is lookups two and three already done.
  5. Re-run availability yourself with the expired domain checker on the day you intend to register, because lookup four is the one that goes stale.

Search, filters and every metric are free and need no account.

Expired domains, scored for AI search

Expired domains with the links AI engines rely on

Every listing carries its Agent Citability score, in preview: weighted links from sources AI engines rely on. Alongside it, verified referring domains from our web crawl, site history and age, spam filtered out. Reveal a name and register it at any registrar.

Availability is re-checked the moment you reveal a name, or on Business when you register. They go once someone else registers them.