How to check a domain expiration date with whois

Check a domain expiration date before renewal, transfer, or account-owner follow-up so the next action is tied to the registry record instead of memory or billing assumptions. Capture the registry expiry timestamp, not a date copied from a disclaimer, registrar promotion, or unrelated account notice.

Legacy WHOIS is free-form text. A gTLD record may expose Registry Expiry Date from the registry server, while a default client may stop at an IANA or registrar referral that has no expiration field.

RDAP returns the same lifecycle data as structured JSON and is the authoritative registration-data surface for gTLDs after the WHOIS sunset. Treat both sources as public registration evidence only, because registrar account billing state, auto-renew settings, holds, and grace periods still need account confirmation before a renewal or transfer decision.

Steps to check a domain expiration date with whois:

  1. Query the domain with the default WHOIS client.
    $ whois example.com
    % IANA WHOIS server
    % for more information on IANA, visit http://www.iana.org
    % This query returned 1 object
    
    domain:       EXAMPLE.COM
    
    organisation: Internet Assigned Numbers Authority
    
    created:      1992-01-01
    source:       IANA

    If the answer has no expiry label and only points to a registry, registrar, or TLD record, query the referred WHOIS server next.

  2. Query the registry WHOIS server when the first answer does not include an expiration field.
    $ whois -h whois.verisign-grs.com example.com
       Domain Name: EXAMPLE.COM
    ##### snipped #####
       Registry Expiry Date: 2026-08-13T04:00:00Z
       Registrar: RESERVED-Internet Assigned Numbers Authority
    ##### snipped #####

    Use the server that matches the TLD or referral output. The whois.verisign-grs.com server is for .com and .net registry records, not every domain.

  3. Read the expiry field from the domain record.
    Registry Expiry Date: 2026-08-13T04:00:00Z

    Other records may use labels such as Expiration Date, Registry Expiration, Expiry Date, or paid-till depending on the registry.

  4. Check the status codes beside the date.
    Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
    Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
    Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited

    Status codes do not extend registration. Holds, redemption, pending delete, or transfer restrictions can change the renewal or transfer action tied to the expiry date.

  5. Confirm the expiration event with RDAP when WHOIS is thin or ambiguous.
    $ curl -fsSL https://rdap.org/domain/example.com | jq '.events[] | select(.eventAction == "expiration")'
    {
      "eventAction": "expiration",
      "eventDate": "2026-08-13T04:00:00Z"
    }

    Use RDAP as the structured fallback for lifecycle dates, status values, nameservers, and registrar entities.

  6. Save the WHOIS record when the date supports a renewal ticket or handoff.
    $ whois -h whois.verisign-grs.com example.com > example.com.expiry.whois
  7. Verify the date inside the registrar account before renewal or transfer action.

    The success state is the public expiry timestamp, the source that supplied it, any status-code caveat, and a note that registrar-account confirmation is still required.