Xitoring Document
Home
FAQ
Support
Register
Home
FAQ
Support
Register
  • Xitoring

    • Introduction
    • Release Notes
    • Xitoring Release Notes
    • Linux Xitogent Release Notes
    • Windows Xitogent Release Notes
    • Xitoring Mobile App Release Notes
    • Account Management
    • API Access & Automation
    • Team Management & Collaboration
    • Billing & Subscription Management
  • Getting Started

    • Getting Started with Xitoring
    • Workflows & Guides
    • Monitor Your First Server
    • Import / Migration
    • Migrate from UptimeRobot to Xitoring
    • Migrate from Pingdom to Xitoring
    • Migrate from Uptime.com to Xitoring
    • Migrate from BetterStack to Xitoring
  • Help & Support

    • FAQ & Troubleshooting
    • Glossary
  • Server Monitoring

    • Server Monitoring
    • Graphs
    • Live Statistics
    • Monitor Services
    • Auto-Triggers
  • Xitogent on Linux

    • Install Xitogent on Linux
    • Update Xitogent on Linux
    • Uninstall Xitogent on Linux
  • Xitogent on Windows

    • Install Xitogent on Windows
    • Uninstall Xitogent on Windows
    • Xitogent Service
    • Update Xitogent on Windows
    • Disk Performance (I/O)
  • Xitogent on Azure

    • Xitogent on Azure
    • Monitor Azure Linux VM
    • Monitor Azure Windows VM
  • Xitogent CLI

    • Xitogent CLI
    • Xitogent Pause/Unpause
    • Xitogent Status
    • Xitogent debug
    • Xitogent Diagnosis
    • Which data we collect
  • Xitoring CLI

    • Xitoring CLI
  • Uptime Monitoring

    • What is Uptime Monitoring
    • Monitoring Nodes (Geographic Locations)
    • What is Check
    • Auto-Discovery
    • Auto Fault Tolerance
    • Heartbeat Check
    • Ping Check
    • HTTP(S) Check
    • DNS Check
    • FTP Check
    • SMTP Check
    • IMAP Check
    • POP3 Check
    • TCP Check
    • UDP Check
    • Domain Expiry Check
  • SSL Monitoring

    • SSL Monitoring
  • Incidents

    • Incidents
    • Incident's Root Cause
    • Incidents Notification
    • Incident Notes
    • Resolving Incidents Manually
    • Incident Policy
  • Maintenance Schedule

    • Maintenance Schedule
  • Email Reports

    • Email Reports
  • Integrations

    • Integrations
    • Apache Integration
    • CoreDNS Integration
    • CouchDB Integration
    • Disk Health Integration
    • Docker Integration
    • Dovecot Integration
    • Exim Integration
    • HAProxy Integration
    • IIS Integration
    • InfluxDB Integration
    • Kafka Integration
    • KeyDB Integration
    • LiteSpeed Integration
    • MongoDB Integration
    • MySQL Integration
    • Netstat Integration
    • Nginx Integration
    • OpenLiteSpeed Integration
    • OpenVPN Integration
    • PHP-FPM Integration
    • Postfix Integration
    • PostgreSQL Integration
    • RabbitMQ integration
    • Redis Integration
    • MS SQL Server Integration
    • Supervisor Integration
    • Varnish Integration
    • Wireguard Integration
  • Notifications

    • Notifications
    • Creating Notification Roles
    • Email Integration
    • Mobile Push Notifications
    • SMS Integration
    • Phone call Integration
    • Webhook Integration
    • Integration for Slack
    • Telegram Integration
    • WhatsApp Integration
    • Mattermost Integration
    • Discord Integration
    • Google Chat Integration
    • Microsoft Teams Integration
    • Microsoft Teams (Webhook)
    • Atlassian Opsgenie Integration
    • Jira Service Management
    • Splunk On-Call Integration
    • Pushover Integration
    • Pushbullet Integration
    • Gotify Integration
    • Ntfy Integration
    • Spike.sh Integration
    • PagerDuty Integration
    • Zapier Integration
    • AlertOps Integration
  • Status Page

    • Status page
  • 3rd Party Status Pages

    • Using 3rd party Status Pages
    • Atlassian Status Page Integration with Xitoring
    • Status.io Integration with Xitoring
    • Statuspal Integration with Xitoring
    • Instatus Integration with Xitoring
  • Dashboards

    • Main Dashboard
    • Custom Dashboards
  • Metrics

    • Metrics
  • MCP Server

    • Setup & Tool Reference

Domain Expiry Check

When a domain registration runs out, everything on it stops: your website, your email, your APIs. Renewal reminders from registrars end up in old inboxes or spam folders, and the first sign of trouble is often an outage.

Xitoring's Domain Expiry check watches the registration of your domain. It warns you ahead of the expiry date and raises an incident if the domain has expired or is no longer registered.

How it works

  • Lookup: Xitoring reads the domain's registration data over RDAP, the modern replacement for WHOIS, using the registry list published by IANA. For domains whose registry doesn't offer RDAP, Xitoring falls back to WHOIS.
  • Frequency: registration data changes rarely, so the check runs about twice a day. The first lookup happens a few minutes after you create the check.
  • Domain name: you can enter a subdomain or a full URL, such as https://shop.example.co.uk/cart. Xitoring checks the registered domain (example.co.uk), using the public suffix list to find it. Internationalized domain names such as münchen.de are supported.
  • What you see: the check page shows the domain, the expiry date, the time left, the registrar, and your warning days.

Warnings before expiry

You choose how many days before the expiry date you want to be warned. The default is 30, 14, 7, and 1 days, and you can pick values of up to 365 days.

You get one warning for each threshold. With the default, that means a warning when 30 days are left, another at 14 days, and so on. Warnings go to the notification roles of the check, the same way SSL expiry warnings do. When the domain is renewed and the expiry date moves forward, the warnings start again for the new date.

When the check goes down

The check raises an incident only when:

  • the domain has expired, or
  • the domain is not registered (the registry has no record of it).

If a registry doesn't answer or the expiry date can't be read, the check shows the expiry as unknown and doesn't raise an incident. A slow or unreachable registry never causes a false alarm.

Limitations

  • Some country-code registries don't publish expiry dates at all, over RDAP or WHOIS. .de is one example. For these domains, the expiry shows as unknown and you get no warnings, but the check still goes down if the domain stops being registered.
  • Registry data can lag behind your registrar by a few hours after a renewal. The next lookup picks up the new date.

Create a Domain Expiry Check

Go to New Monitoring → Add a new Check and select Domain as the type.

Check Options

Type

Select Domain from the list of check types.

Domain name

The domain you want to watch, for example xitoring.com. IP addresses aren't accepted. Subdomains and URLs are reduced to the registered domain.

Check Label

A name for the check. It can contain letters, numbers, and spaces; special characters aren't allowed.

Warn before expiry

The number of days before the expiry date at which you want to be warned. Select one or more values. The default is 30, 14, 7, and 1 days.

Group

The group or subgroup the check belongs to. Use the gear icon next to the title to create, edit or delete groups.

Tips

Domain expiry checks have no interval setting. Xitoring looks up the registration about twice a day.

Trigger Options

Notification Roles

The notification roles that receive the expiry warnings and the incidents for this check. They work like any other check's roles, so every notification channel is supported.

Incident Policy

Works the same as for other checks. Because a domain doesn't flap between expired and registered, the default settings are fine for most users.

Tips

The Run Test button looks up the domain right away and shows what Xitoring found.

Plans

The Free plan includes one Domain Expiry check, the same as for SSL checks. See Pricing for the limits on each plan.

Mobile app and CLI

Domain expiry checks also appear in the Xitoring mobile app, with the time left in the checklist and the registration details on the check page. In the Xitoring CLI, list them with:

xitoring uptime --type=domain --columns=Status,Label,Host,Expires --sort=Expires
Last Updated: 11/5/26, 12:16 AM
Prev
UDP Check