What the checker queries
RDAP (Registration Data Access Protocol) is the successor of WHOIS: a standardised JSON protocol through which registries publish registration data. The checker first uses the IANA bootstrap file to find the registry responsible for the TLD and then queries it. The answer contains the registrar, the dates of registration, last update and expiry, the EPP status codes and the name servers registered at the registry.
The checker does not show personal data of the registrant; since the GDPR most registries no longer publish it anyway.
Expiry: the most expensive avoidable mistake
An expired domain takes website and mail offline at the same time. After expiry there is usually a grace period of a few days to weeks during which the domain can be recovered for a fee, then a redemption period at much higher cost, and finally the domain is deleted and available to anyone. Domain grabbers wait for exactly that.
Typical causes are an expired credit card, a billing address nobody reads any more, or an employee who registered the domain personally and has left the company. The checker gives a notice from 60 days and a warning from 30 days before expiry.
Understanding EPP status
The status codes describe locks and states of the domain. The most important ones:
- clientTransferProhibited: transfer lock set by the registrar. Protects against accidental or fraudulent transfers. Should be set on every domain.
- clientDeleteProhibited and clientUpdateProhibited: protection against deletion and changes. Also recommended.
- ok: no locks. The domain is protected only by the auth code. Enable the transfer lock at your registrar.
- clientHold or serverHold: the domain is suspended and no longer served in DNS. Usually caused by unverified registrant data, unpaid invoices or abuse reports. Critical, clarify with the registrar immediately.
- pendingDelete and redemptionPeriod: the domain has expired and is on its way to deletion.
- active: the status DENIC uses for .de domains. Only means the domain is registered and connected.
Special case .de: no expiry date
DENIC does not publish an expiry date for .de domains, because the contracts run between registrant and registrar, not with the registry. For .de the checker therefore only shows status and name servers. The contract end is known only to the registrar; for client domains it is worth a look at its control panel. A few other country TLDs behave similarly. Most generic TLDs such as .com, .net, .org and newer ones like .shop or .app deliver the date reliably.
What an RDAP answer looks like
An abridged excerpt for a .com domain:
{
"ldhName": "example.com",
"status": ["client transfer prohibited", "client delete prohibited"],
"events": [
{ "eventAction": "registration", "eventDate": "2015-03-02T10:15:00Z" },
{ "eventAction": "expiration", "eventDate": "2027-03-02T10:15:00Z" }
],
"nameservers": [{ "ldhName": "ns1.hoster.net" }, { "ldhName": "ns2.hoster.net" }]
}Monitor domains continuously
A one-off query tells you the domain has 200 days left. It does not tell you when the renewal fails in six months or the registrar puts the domain on hold. DomainWarn queries the registry for all client domains regularly, warns in time before expiry, reports hold status and registrar changes and detects when the name servers at the registry change.
Frequently asked questions
- Why does the checker show no expiry date for my .de domain?
- DENIC does not publish it. Only the registrar the domain runs through knows the contract end. The status active confirms the domain is registered.
- What does the notice about a missing transfer lock mean?
- Status ok without clientTransferProhibited means a transfer only needs the auth code. Enable the transfer lock at your registrar; it is usually one click and free.
- What is the difference between RDAP and WHOIS?
- WHOIS is a text protocol without a fixed format; RDAP returns JSON with defined fields and supports access control. All generic TLDs and many country TLDs offer RDAP; for TLDs without RDAP the checker cannot return data.