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.
