- Home
- Monitoring
- Domain expiry monitoring
Domain expiry monitoring, because a lapsed domain is total downtime
Tenium reads the registration expiry date from the registry over RDAP and warns you 30, 14 and 3 days before the domain runs out.
- From $7 a month on Starter
- Free plan: 30 monitors for HTTP(S), keyword, ping and port
- No credit card for Free
- Expires
- 20 Jan 2027
- Days left
- 142
- Registrar
- Example Registrar, Inc.
- Status
- client transfer prohibited
Illustrative example
Check it now, in your browser
No account. Domain expiry monitoring: type a target and see roughly what it looks at. Nothing you type is stored.
Reads the public RDAP registry from your browser, the same source a domain monitor reads daily.
What a domain expiry monitor looks at
Registry expiry date
The expiry event is read over RDAP for the registrable domain, at most once a day per monitor.
Warnings at 30, 14 and 3 days
Each threshold produces one alert batch, and a renewal moves the date forward and resets the windows.
Registrar on record
The registrar name from the RDAP record is saved next to the date, so you can see whose account holds the domain.
Shown in reports
The expiry date and days left appear on the monitor page and in the certificates and domains table of client reports.
Domain expiry monitoring: what an alert looks like
The same event arrives as an e-mail, a Telegram message or a Slack card. This is the wording the channels send; the host, times and numbers are made up.
clienta.com
Domain for clienta.com expires in 14 days
| Domain | expires 20 Jan 2027 (14 days left) |
|---|---|
| Target | clienta.com |
| Next step | Renew the domain at your registrar. Expired domains take the site, email and DNS down. |
Open monitor
Tenium · checked from Amsterdam · 14:02 UTC
Tenium alerts
🟠 DOMAIN EXPIRES IN 14 DAYS · clienta.com · Domain expires in 14 days
open
TTenium APP 2:02 PM
DOMAIN EXPIRES IN 14 DAYS · clienta.com
Domain for clienta.com expires in 14 days
- Domain: expires 20 Jan 2027 (14 days left)
- Target: clienta.com
Open monitor
Renew the domain at your registrar. Expired domains take the site, email and DNS down. · checked from Amsterdam
Domain expiry monitoring: e-mail, Discord and Google Chat work on every plan; Slack, Telegram, Teams and Mattermost start on Starter. There are no SMS or voice-call alerts.
The countdown the monitor watches
A quiet clock runs down to the expiry date. The monitor warns at fixed points, one batch per threshold, long before it matters.
Warnings before it expires
Expiry is not about check speed. Alerts go out at 30, 14 and 3 days before the date, once per threshold.
- 30 days before
- 14 days before
- 3 days before
Warnings sent so far: 1 of 3
Included from the Starter plan.
How to set up domain expiry monitoring in 30 seconds
Create an SSL / domain monitor
Domain expiry is part of the SSL / domain monitor type. Enter the hostname of the site; the registrable domain is worked out for you.
Let the first lookup run
The monitor page shows the expiry date and days left once the registry has answered. If the registry has no RDAP data you will see a lookup error, not a guess.
Choose alert contacts
Pick someone who can actually renew: the person with registrar access, not only the developer.
Add a DNS monitor for nameservers
Optional: a DNS monitor on the NS record with the expected nameservers catches an unexpected nameserver change.
What each error means
This is the text an incident shows in its Error line, the usual cause, and the first thing to look at.
EXPIRINGDomain expires in 14 days
The registration is close to its end date. Warnings go out at 30, 14 and 3 days. Renew at the registrar and turn on auto-renew with a card that is not about to expire.
Shown as: Domain expires in 14 days
EXPIREDDomain expired
The registry has not renewed it. The site, email and DNS can all stop. Most registrars keep a grace period, but the domain is usually already parked.
Shown as: Domain expired
RDAPRDAP lookup failed
The registry’s RDAP server did not answer. The monitor retries on the next run and does not raise a false expiry alarm.
Shown as: RDAP lookup failed
NO_DATEExpiry not published
Some country-code registries do not publish an expiry date, so no clock can be read. Track those renewals separately.
Shown as: Expiry not published
Domain expiry monitoring by plan
| Free $0/mo | Starter $7/mo | Pro $29/mo | Agency $59/mo | |
|---|---|---|---|---|
| Available | — | ✓ | ✓ | ✓ |
| Monitors | 30 | 100 | 300 | 1000 |
| Fastest interval | 5 min | 1 min | 30 s | 30 s |
| Regions | 1 | 2 | 2 | 2 |
| Custom headers | — | — | ✓ | ✓ |
| Response-time alerts | — | — | ✓ | ✓ |
| Escalation to a second contact | — | — | ✓ | ✓ |
| Status pages | 1 | 3 | 10 | Unlimited |
This check starts on the Starter plan. HTTP(S), keyword, ping and port checks are on every plan.
Other monitor types
How the expiry date is found
Domain expiry rides along with the SSL / domain monitor. On each check Tenium works out the registrable domain of the host you entered (www.clienta.co.uk becomes clienta.co.uk), then asks the public RDAP service for the registration record and reads the expiration event and the registrar name. The lookup happens at most once a day per monitor, because registry data does not move faster than that. The date lands on the monitor page with a days-left counter, and again in the certificates and domains table of client reports.
RDAP is the modern, structured replacement for WHOIS, but coverage is not universal. Most generic TLDs and many country codes publish it; some country-code registries do not, or hide the expiry date. In those cases the monitor records a lookup error instead of inventing a date, and the quickest test is to add the domain and look at the monitor page after the first run.
Warnings at 30, 14 and 3 days
Alerts go out when the remaining time drops below 30, then 14, then 3 days, once per threshold. Renewing the domain moves the date and starts the sequence over. These dates are fixed. The first warning is the useful one: a month is enough to chase a client for a card number, approve a transfer or find out who owns the registrar login. The 3-day warning is a last call, and if it is the first one anyone saw, treat it as an incident.
The feature needs a plan that includes SSL and domain checks, which means Starter ($7 a month) or above.
The person who can renew is rarely the person who gets the email
Domains lapse for human reasons far more often than technical ones. The registrant address belongs to a former employee, the card on file expired, the registrar account was created by a freelancer who left, or the client believes that the agency handles it while the agency believes the client does. Make sure at least one alert contact is a person with authority over the registrar account, not just the developer on call. For agencies, the client workspace is a natural place to attach the client's own address as a contact.
A short checklist that removes most of the risk:
- Turn on auto-renew, and confirm the payment method is not about to expire.
- Register for several years at once if the client agrees; it also helps stability.
- Enable registrar lock so an unauthorised transfer is harder.
- Keep the registrant contact on a role address such as [email protected], not on a person.
- Record which account holds each domain, for example in the monitor's tags.
What happens after expiry, and why 3 days is late
Expiry is rarely instant death. Most registries grant a renewal grace period after the date, then a redemption period in which recovery costs extra, and finally a short pending-delete stage before the name is released. The exact lengths differ per registry and registrar, and many registrars switch DNS to a parking page on day one regardless. That is why the first warning is placed a month ahead: after the date you are negotiating with a registrar, not renewing a domain.
What this monitor does not cover
Tenium does not alert on a registrar transfer, a status flag change or a nameserver change in the registration record. Nameserver hijacks can still be caught from the outside: create a DNS monitor on the NS record of the domain with your real nameservers as the expected values. Once public resolvers pick up a different delegation, the check fails. Because it goes through resolvers, it shows the change after caches expire, not the second it is made at the registrar. See DNS monitoring.
One more constraint follows from how the monitor works: it first opens a TLS connection to the host, so the hostname you enter has to answer on port 443 (or the port you configure). A domain without any HTTPS service, or a parked domain, fails the certificate half before the registry lookup runs. For such domains, a simple reminder in a calendar is a safer net than a monitor that cannot connect.
Many domains, one view
Each domain you monitor appears with its days-left count in the monitor list and in the monthly client reports, so a portfolio of forty names can be reviewed in a minute. Tagging each monitor with the registrar name lets you filter by account when it is time to renew in batches. The free domain expiry tool is handy for a one-off lookup before you commit to a monitor.
Domain expiry monitoring questions
Which TLDs work?
Any TLD whose registry publishes RDAP data with an expiration date. Where it does not, the monitor shows a lookup error and no days-left value instead of guessing.
Can I monitor a subdomain?
You can enter one, but the registration lookup always runs on the registrable domain above it. Two monitors for sub.clienta.com and www.clienta.com would both read the expiry of clienta.com.
Do I need a certificate to use it?
The host has to complete a TLS handshake before the registry step runs, so an HTTPS endpoint must exist on the host you enter. A parked or HTTP-only domain cannot be monitored this way.
Is the Free plan enough?
Not for this check. Free covers HTTP(S), keyword, ping and port checks, the same basic set UptimeRobot gives away, while SSL and domain expiry start on Starter.
Try domain expiry monitoring on Starter
This check starts on the Starter plan at $7 a month. The Free plan, no card needed, covers 30 monitors with HTTP(S), keyword, ping and port checks.