Robottobeta Run a check

Guide

How to track domain expiry across a portfolio

Auto-renew fails more often than people think. A domain portfolio needs one list, one source of truth for dates, and a few deadlines you actually look at.

Losing a domain by accident is rarely dramatic. A card on file expires. An account belongs to someone who left. A registrar sends reminders to an inbox nobody reads. The domain passes its expiration date, stops resolving a few weeks later, and by the time someone notices, it's in redemption with a recovery fee, or gone.

With five domains you can keep the dates in your head. With fifty or five hundred, you need a system. Here's one that works.

What happens after the expiration date

For generic top-level domains like .com, .net and .org, a domain doesn't vanish on its expiration date. It goes through a sequence of states. The exact timing depends on the registry and your registrar, but the usual pattern is:

Stage Typical length What it means
Expired, in renewal grace 0 to 45 days, set by the registrar You can usually renew at the normal price. The registrar may park the domain or stop its DNS
Redemption grace period 30 days The registrar has deleted it at the registry. You can restore it, but with a restore fee that is often much higher than a renewal
Pending delete 5 days No recovery possible. The domain is about to be released
Released Anyone can register it, and drop-catching services often grab valuable names within seconds

ICANN's rules for gTLD registrars require renewal reminders before expiration, roughly a month and a week ahead, plus one after it. They also require the registrar to interrupt the domain's DNS for a period before deletion, so websites and email stop working. That interruption is often the first time anyone notices.

Country-code domains (.uk, .de, .tr, .io and so on) follow their own registries' rules, and some are stricter. Don't assume the gTLD timeline applies.

Why RDAP is the date to trust

Your registrar's dashboard shows an expiry date, and your invoices show another. The one that counts is the registry's. RDAP, the Registration Data Access Protocol, is how you read it.

RDAP replaced WHOIS as the official lookup for gTLD registration data when ICANN sunset WHOIS on January 28, 2025. Unlike WHOIS, it returns structured JSON with dated events, including registration and expiration, and a list of status codes. That makes it easy to read in bulk without parsing a dozen text formats.

The Robotto checker queries RDAP for each domain through the rdap.org bootstrap service, which forwards the request to the right registry. It shows the expiration date, days left and the registrar. Some ccTLD registries don't publish RDAP data or leave the expiry date out; for those you'll see "unknown" and have to rely on the registrar.

Read the status codes too

RDAP status codes tell you more than the date. A few to recognize:

  • client transfer prohibited is normal. It's the registrar lock that stops unauthorized transfers.
  • auto renew period means the registry has just renewed it and the registrar may still reverse that if you don't pay.
  • redemption period means the domain expired and was deleted. Act now.
  • pending delete means it's too late to restore through normal channels.
  • client hold or server hold means the domain won't resolve, often because of an unpaid bill or a verification problem.

The checker lists the status codes in each row's details.

A routine that scales

Keep one list

A spreadsheet or plain text file with every domain you own, the registrar, the account it's in, and who is responsible. Most portfolio trouble starts with a domain nobody remembers owning.

Consolidate where you can

Fewer registrars and fewer accounts mean fewer cards to keep current and fewer inboxes to watch. Moving domains costs a year's renewal at most registrars, which also pushes the expiry date back.

Check dates against the registry monthly

Paste the list into the checker ten at a time, export each batch to CSV, and sort by days_left. Anything under 60 days goes on a short list. Anything under 30 gets looked at that week. Your browser remembers each domain, so the next run tells you which expiry dates moved, which is how you confirm a renewal went through.

Don't rely on auto-renew alone

Turn it on, then verify it. Auto-renew fails when a card expires, when an account has a billing hold, or when a registrar changes its renewal rules. A renewed domain shows a new expiration date in RDAP within a day or so.

Renew important names for several years

It costs the same per year and turns a yearly risk into a once-in-five-years risk. For a name that carries a business, it's cheap insurance.

Keep contact email working

Registrars send renewal and verification emails to the registrant address. If that address bounces, you won't get the reminders, and some registrars suspend domains when verification emails go unanswered. Use an address on a different domain, so a lapse on one domain doesn't cut off the email for it.

Deadlines worth an alert

When Robotto monitoring launches, it will email at 30, 15, 7 and 2 days before expiry. Those numbers come from experience: 30 days is enough time to fix a billing problem or a lost account, 15 is a reminder for people who ignored the first one, 7 is urgent, and 2 is the last chance before the renewal grace period starts. Until then, a monthly checker run and a calendar reminder for anything under 30 days covers most of it.

More guides