How to Monitor Domain Expiry for Client Portfolios You Don't Own
VigilDog Team · October 4, 2026 · 6 min read
An expired client domain is one of the few outages that takes down email, website, and DNS all at once, and it is entirely preventable. The hard part for agencies is that you rarely own the registrar login, so the renewal reminders never reach you. Here is how to monitor domain expiry across a portfolio you don't control.
Why client domains slip through the cracks
When a domain is registered under the client's account, every renewal notice goes to their inbox, not yours. That inbox belongs to a founder who changed email providers, a marketing lead who left, or a billing address that bounces. The registrar does its job and warns someone; that someone just isn't the person who would actually act on it.
Multiply that across twenty or fifty client domains and the odds that at least one lapses this year get uncomfortable. You have responsibility for the outcome without access to the control panel, which is the exact situation monitoring exists for.
What 'expiry' really means: registry dates and grace periods
A domain does not vanish the instant it expires. For most gTLDs like .com, there is a sequence: the registration expiry date passes, then a roughly 30-day auto-renew grace period during which the current owner can usually still renew at normal price, followed by a redemption period (about 30 more days) where recovery is possible but expensive, and finally deletion, after which anyone can register it.
The date you want to watch is the registry expiration date, and the practical deadline is earlier than it looks because you need lead time to reach a client, get them to log in, and actually pay. Treat the published expiry date as the last possible moment, not the target.
How to pull expiry dates you can trust
You do not need registrar access to read a domain's expiry date; it is public. The modern, structured way is RDAP, the JSON-based successor to WHOIS. A quick lookup through the RDAP bootstrap service works for most gTLDs: curl -s https://rdap.org/domain/example.com | jq '.events' returns registration and expiration events with clean ISO dates, which is far easier to parse reliably than scraping WHOIS text.
Two honest caveats. First, coverage is uneven: many ccTLDs (for example .de or .uk) offer limited RDAP or restricted WHOIS, so you may get partial data or need the registry's own lookup. Second, privacy redaction has grown since GDPR, but it typically hides registrant contact details, not the expiration date itself, so expiry monitoring still works even when the owner is masked.
For a one-off check without touching a terminal, the free domain expiry checker reads the same public data and shows you the date and days remaining.
Build a cadence, not a spreadsheet
A spreadsheet of expiry dates is where good intentions go to die. It is accurate the day you make it and stale the day after, and nobody re-runs the lookups. The goal is recurring checks that push an alert to you, tied to lead times that give you room to act.
A cadence that works for most agencies: a first heads-up around 60 days out, a firmer nudge at 30 days, and an urgent alert at 7 days if the date hasn't moved forward. Pair each alert with a named owner on your side and a clear escalation path to the client, because the monitoring only matters if someone is accountable for the follow-through. If you manage many domains, domain monitoring for agencies walks through structuring this at portfolio scale.
Let monitoring carry the memory
The whole point is to stop relying on anyone remembering. Automated expiry monitoring re-checks the public registry data on a schedule and alerts you well before a domain reaches its grace period, whether or not you have the registrar login.
VigilDog's monitoring tracks domain expiry alongside SSL certificates, DNS records, and email authentication for every domain in your portfolio, with white-label reports you can hand to clients. One expired .com is more expensive than years of watching it; the watching is the easy part to automate.
