REST · JSON · bearer auth

Domain expiry, by API

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.

Quick start

Create a domain monitor

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.

Reference

Fields

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.
Endpoints

Reading, updating and deleting

GET/api/v1/monitors?kind=domainList these
POST/api/v1/monitorsCreate 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/incidentsIncidents across the account

Narrow the list with kind=domain.

Worth knowing

What comes back

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.

Pricing

What it costs

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.

White label

Building on top of us

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.

FAQ

Domain Expiry Monitoring API: your questions answered

Which TLDs are supported?

Registration data is read from the registry, so coverage follows what each registry publishes. Some country TLDs publish less than others.

How often should I check?

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.

Is this the same as SSL monitoring?

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.

Build it on our API

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.