Losing a domain is the one outage you cannot fix by restarting anything. This watches registration expiry across as many domains as your plan allows.
Free plan forever · No credit card · Set up in under a minute
A domain check reads registration data and tells you how long is left before the registration lapses. It is the right check for a portfolio — agencies holding client domains, or anyone whose renewal reminders go to an inbox nobody reads any more.
Send the domain and how much notice you want.
curl -X POST https://monitoringdaddy.com/api/v1/monitors \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "example.com registration",
"url": "https://example.com",
"type": "domain",
"interval": 3600,
"request_method": "GET",
"alert_condition": "url_unavailable",
"domain_alert_days": 30
}'
Send your key as a bearer token. You will find it under Account → API, and it identifies the account everything is created against.
A successful create returns 201 with the whole resource, including its id — keep that if you intend to update or delete it later.
| Field | Type | What it does |
|---|---|---|
name |
string | Required. Unique within your account. |
url |
string | Required. Any address on the domain; the registrable domain is taken from it. |
type |
string | domain. |
domain_alert_days |
integer | How many days before expiry to warn you. Required for this type. |
alerts |
array | Where to send the warning. |
GET | /api/v1/monitors?kind=domain | List these |
POST | /api/v1/monitors | Create one |
GET | /api/v1/monitors/{id} | Fetch one |
PUT | /api/v1/monitors/{id} | Update one |
DELETE | /api/v1/monitors/{id} | Delete one |
GET | /api/v1/incidents | Incidents across the account |
Narrow the list with kind=domain.
A domain check carries domain_ends_at, domain_created_at and a domain_information object holding the registrar and status, which is enough to build a renewal calendar of your own.
Nothing extra. Anything you create through the API counts against the same plan allowance as anything you create in the interface — the same monitors, watches and cron jobs, in the same pool. There is no per-call charge, no separate API tier and no credits to top up. If your plan allows fifty monitors, you may have fifty, however you made them.
The API is the whole product, not a subset of it. Everything the interface can create, the API can create, and both write to the same account — so you can run your own front end, resell monitoring under your own name, or wire checks into a product you already sell, and still log in here to see the same data. Alerts, incidents and status pages all behave identically whichever way the resource was made.
Registration data is read from the registry, so coverage follows what each registry publishes. Some country TLDs publish less than others.
Registration dates change on renewal rather than by the hour, so the interval matters little here — pick any value your plan allows. The warning is driven by domain_alert_days, not by how often the check runs.
No, and both are worth having. A certificate can be valid on a domain that is about to lapse, and a renewed domain can still be serving an expired certificate.
Uptime, SSL, domain expiry, page changes and cron jobs, all from one REST API. Free plan, no card, and API access on every paid plan.