What is a Domain Expiry Check?
A domain expiry check watches the registration of a domain, not the server behind it. Xitoring reads the domain's registration record from its registry and tracks the expiry date and registrar. When the renewal date gets close, you get warnings. If the domain expires or is no longer registered, the check goes down and alerts your team.
A lapsed domain takes the website, email and every API on it offline at once, and it often happens for mundane reasons: an expired payment card, a registrar account nobody looks at, or auto-renew switched off. A domain expiry check gives you weeks of notice instead of a surprise.
For the certificate on the same domain, also set up SSL certificate monitoring. The two expire independently.
What Gets Monitored
- Expiry date of the registration, read from the registry
- Days left until the domain expires
- Registrar the domain is registered with
- Registration status: the check goes down if the domain has expired or is not registered
Registration data comes from the registry's RDAP service, found through the IANA bootstrap, with a WHOIS fallback for TLDs that have no RDAP. Each domain is looked up about twice a day, which is plenty for dates that change once a year.
Prerequisites
- A Xitoring account. The free plan includes one domain expiry check.
- The domain name you want to watch.
How to Set Up a Domain Expiry Check
Step 1: Create the Check
- Log in to your Xitoring Dashboard
- Click New Monitoring and choose to add an uptime check
- Select Domain as the check Type
Step 2: Enter the Domain
- In Domain name, enter only the name, without
https://or a path, for exampleexample.com - IP addresses aren't accepted
- A subdomain is reduced to its registered domain, so
shop.example.co.ukis checked asexample.co.uk - Enter internationalized domain names in punycode, for example
xn--mnchen-3ya.deformünchen.de
Step 3: Choose When to Be Warned
Under Warn before expiry, keep the default of 30, 14, 7 and 1 day, or pick your own thresholds of up to 365 days. Each threshold sends one warning per expiry date. When you renew the domain, the new date resets the warnings.
Step 4: Assign Notifications
Under Notification Roles, select who receives the warnings and alerts. Domain expiry checks use the same channels as every other check, including email, SMS, phone calls, Slack, Microsoft Teams, Telegram, Discord, PagerDuty, Opsgenie and webhooks.
Step 5: Create and Verify
Click Create. Within a few minutes the check page shows a Domain registration card with the expiry date, the time left and the registrar.
When You Get Alerted
| Situation | What happens |
|---|---|
| Expiry date reaches a warning threshold | One warning per threshold, sent to the notification roles |
| Domain renewed | New expiry date recorded, warnings reset |
| Domain expired | Check goes down and an incident is opened |
| Domain no longer registered | Check goes down and an incident is opened |
| Registry unreachable or no expiry date published | Expiry shown as unknown, no alert |
The check never goes down just because a registry was slow or didn't answer, so you won't get false alarms from registry hiccups.
Limitations
Some registries don't publish an expiry date at all. Several country-code TLDs, such as .de, return the registration without a date. For those domains the expiry shows as unknown, and Xitoring can only tell you when the domain is no longer registered.
Checking Domains from the CLI
The Xitoring CLI lists domain expiry checks with the days left:
xitoring uptime --type domain --columns Status,Label,Host,Expires --sort Expires
The Expires column shows the days until expiry, expired, not registered or unknown.
Tips
- Monitor every domain that carries email or an API, not only the main website. Mail and API domains are the ones people forget.
- Keep the 30-day warning even with auto-renew on. It catches a failed renewal while there is still time to fix the payment method.
- Check a domain once without an account using the free domain expiry checker.