How to Check a Domain's Exact Expiry Date with WHOIS and RDAP

VigilDog Team · September 15, 2026 · 6 min read

A domain expiring is one of those failures that takes down everything at once, website, email, the lot, and it's entirely preventable if you know the real date. "It renews in March" isn't a date. This guide shows you how to check a domain expiration date to the day using WHOIS and its modern replacement, RDAP, and how to read the fields without being misled.

WHOIS and RDAP: two ways to ask the same question

Every registered domain has registration data, including an expiry date, held by the registry that runs the TLD and mirrored by the registrar you bought it from. There are two protocols for querying that data. WHOIS is the old one: a simple text-based lookup that's been around since the 1980s and returns human-readable but wildly inconsistent output. RDAP, the Registration Data Access Protocol, is its structured successor, returning clean, standardized JSON.

For a quick eyeball, WHOIS is fine. For anything you'll parse, script, or trust precisely, RDAP is the better tool because its fields are defined rather than free-form. Both are free to query, and both will tell you when a domain expires, you just read them differently.

Reading expiry with WHOIS

On macOS or Linux the whois command is built in; on Windows, use the Sysinternals whois utility or any web-based lookup. Run it and read the expiry field:

whois example.com returns a block of text. The line you want is usually labeled "Registry Expiry Date:"this is the authoritative date held by the registry. You may also see "Registrar Registration Expiration Date:", which comes from the registrar and can differ slightly. When they disagree, trust the registry date; it's the one that governs when the domain actually drops.

  • Registry Expiry Date, the authoritative expiry, set by the TLD registry. Trust this one.
  • Registrar Registration Expiration Date, the registrar's copy; occasionally lags or differs.
  • Dates are in ISO 8601 UTC (e.g. 2027-03-14T09:00:00Z), mind the timezone before you assume you have until end of day.

RDAP: the precise, structured way

RDAP returns JSON, which means no guessing at inconsistent labels. The easiest entry point is rdap.org, which routes your query to the correct registry automatically:

curl https://rdap.org/domain/example.com gives you a JSON document with an "events" array. Find the object whose "eventAction" is "expiration" and read its "eventDate"that's the authoritative expiry in ISO 8601 UTC. The same array carries "registration" and "last changed" events, so you get the full lifecycle in one call. Because the format is defined by standard, you can pipe it through jq or a script and rely on the field being there.

Why dates disagree, and other gotchas

A domain doesn't die at the expiry timestamp. After it lapses, most gTLDs enter an Auto-Renew Grace Period, then a Redemption Grace Period (typically around 30 days) where you can still recover it for a fee, then a pending-delete window before it's released. So the expiry date is the deadline to renew cleanly, not the moment the name is gone, but planning to the grace period instead of the date is how people lose domains to someone watching for the drop.

Two more traps. Some registrars and privacy services redact or rate-limit WHOIS output, so a lookup may show less than the full record, RDAP is often more complete here. And every date is in UTC: a domain expiring "2027-03-14T09:00:00Z" is already the 15th in parts of Asia, so don't cut your renewal to the last local hour.

From one-off check to never missing again

A manual WHOIS or RDAP lookup answers the question today. The problem is that it's a snapshot, and expiry is a slow-moving deadline that's easy to forget across a portfolio of domains. For a single domain you own, the free domain expiry checker reads the RDAP date for you, and the when does my domain expire guide covers the renewal and grace-period mechanics in more depth.

For anyone managing more than a handful of names, the sane answer is monitoring: track every domain's RDAP expiry on a schedule and get warned weeks ahead. That's exactly what VigilDog's monitoring does, alongside certificate and DNS checks, so "when does this renew?" stops being a question you have to remember to ask.

Questions

Frequently asked

What's the difference between WHOIS and RDAP?

Both return domain registration data including the expiry date. WHOIS is the older, free-form text protocol with inconsistent formatting; RDAP is its modern replacement that returns standardized JSON. For precise or scripted checks, RDAP is more reliable because its fields are defined by standard.

Which expiry date should I trust, registry or registrar?

The Registry Expiry Date. It's set by the TLD registry and governs when the domain actually enters its grace and deletion periods. The registrar's date can differ slightly; when they disagree, the registry date wins.

Does my domain stop working the instant it expires?

Usually not immediately, most gTLDs have grace and redemption periods after expiry where you can still renew, often around 30 days total. But relying on that window is risky; treat the expiry date itself as your renewal deadline.

Know every domain's real expiry date, automatically

VigilDog reads RDAP expiry across your whole portfolio and warns you weeks ahead, so a lapsed domain never takes your site and email down with it.

Your first domain is free forever