How the domain expiry checker works
When you enter a domain, Query.Domains queries the authoritative WHOIS or RDAP server for that TLD, parses the Registry Expiry Date (or Expires On) field, and calculates the time remaining until that date. We do not estimate expiry — the date you see is the date the registry returned.
Alongside the expiry date, the tool reports:
- Days until expiry — how long until the current registration term ends.
- EPP status codes — registry flags such as
clientHold,pendingDelete, orredemptionPeriod. - Registrar — the registrar currently managing the domain.
- Domain age — for context.
The domain expiration lifecycle
A domain doesn't simply vanish on its expiry date. Most gTLDs follow a defined lifecycle that can take 70+ days from expiry to becoming registerable again. Understanding the lifecycle is essential whether you're trying to renew on time or trying to catch a dropping name.
- Active (before expiry) — the domain functions normally. The registrant should renew before the expiry date.
- Expiry date — registration term ends.
- Auto-renew grace period (0–45 days, varies by registrar) — many registrars keep the domain active and bill the registrant. Renewal is at standard price.
- Redemption period (about 30 days) — the domain is parked, DNS often broken. Recovery costs an extra redemption fee, typically $80–$200. Status code:
redemptionPeriod. - Pending delete (5 days) — final stage. Status:
pendingDelete. The original owner can no longer recover the name. Drop-catchers queue for it. - Released — registry deletes the domain; first available to register.
Country-code TLDs (ccTLDs) follow their own rules. .de, .uk, and .fr, for example, all have different grace and redemption windows.
EPP status codes — quick reference
When you see strange-looking codes in the Status field, those are EPP status codes set by the registry or registrar. Common ones:
ok/active— default working state.clientTransferProhibited— registrar lock; cannot transfer to another registrar.clientHold— registrar has suspended DNS; site won't load.serverHold— registry has suspended DNS, often due to legal action or abuse.autoRenewPeriod— within the auto-renew grace window after expiry.redemptionPeriod— domain expired and is in redemption; high-cost recovery only.pendingDelete— last 5 days before deletion; not recoverable.
Multiple codes can apply at once (you may see clientTransferProhibited + clientUpdateProhibited together — that's normal for a domain locked at the registrar).
Why an expiry date might be missing
Some legitimate cases where Expires shows "Unavailable":
- The domain is available. Unregistered domains have no current expiry.
- The domain is reserved. Registry-reserved or premium-pool names show no expiry because they are not registered to anyone.
- ccTLD privacy. Some country registries (particularly under GDPR) redact most fields including expiry — the registrar may know but the public WHOIS won't.
- Brand-protected gTLDs. Closed brand TLDs may not publish full WHOIS.
When this happens, look at the status codes and registrar fields for context.
Best practices
- Set up auto-renew at your registrar — and verify your payment method is current. Most domain losses are billing failures, not deliberate non-renewal.
- Configure renewal reminders 90, 30, and 7 days before expiry.
- If you must catch an expiring domain, understand the lifecycle: by the time you see
redemptionPeriod, only the prior owner can recover it. Wait forpendingDeleteor use a drop-catch service. - Check WHOIS multiple times close to a critical date — the dates can update during renewal processing.