Domain Expiry Watch — Early Signal Before a Domain Drops
Pricing
Pay per event
Domain Expiry Watch — Early Signal Before a Domain Drops
Watches registry zone files for domains that dropped out, with how many days they have been absent. Zone exit happens about 35 days before release, so this is domain expiration monitoring at its earliest point: an early watchlist, not a list of expired domains you can buy today.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Oswaldo Carabano
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Domains that disappeared from the registries' zone files, with how many days they have been absent.
Leaving the zone happens roughly 35 days before a domain is actually released, so this is an early warning — a shortlist to watch, not a list of domains you can buy.
Coverage
1,075 gTLDs, including .com, .net, .org, .info, .biz, .xyz, .top,
.shop, .online, .site, .store, .app, .dev and .cloud — 255,631,856
delegated domains, counted from the zone files themselves and refreshed daily.
Coverage is real but it is not evenly spread, and you should know the shape of it
before you rely on it: .com alone is 166 million of that total, and while all 1,075
TLDs are included, 481 of them hold fewer than a thousand domains each. Breadth helps
you catch something in an obscure TLD; it is not 1,075 equally busy namespaces.
Not covered: .io, .ai, .co, .me, .tv, .cc and every other country-code
TLD. These are not available from ICANN's zone file service at any price — they are run
outside ICANN's contracts. They are also exactly the TLDs a startup expects, so we say
it here rather than letting you find out from an empty result.
What a zone file does not contain, and no run will ever return: the registrant, their email, the registrar, the registration date, the expiry date, or the domain's own A, MX and TXT records. Any tool promising those needs a different source, and at scale that source is prohibited by the agreement behind this data.
Input
Every run is anchored on something you provide. There is no way to ask this Actor for the whole namespace, and that is a design decision rather than a limitation: the data agreement behind it forbids handing over a substantial portion of a zone, so the product simply has no shape that could.
See Example runs below for fifteen worked inputs.
Output
| Field | Meaning |
|---|---|
domain | The domain that left the zone |
tld | Its top-level domain |
exited_on | The date of the first snapshot where it was missing |
days_absent | How many days it has been missing since |
last_nameservers | Where it delegated before it left |
dns_provider | Who ran its DNS, inferred from those nameservers |
parked_for_sale | True when it was already sitting on a parking or sale service before it left. A parked domain leaving the zone is a much firmer drop candidate than one that was in active use |
Reading the results
🔴 This Actor is deliberately not called "expired domains", and that matters.
More than half the domains that leave the zone never drop. They come back: a renewal that landed late, a nameserver misconfiguration, a registrar suspension that got resolved. If we called this "expired domains" we would be selling you a list where most rows are wrong.
What we sell instead is the zone exit event with an age, and the minDaysAbsent
filter is the control that turns a noisy early signal into a useful one:
minDaysAbsent | What you get |
|---|---|
| 0 | Includes domains that left the zone today. The earliest possible signal, and the noisiest |
| 1 | Everything from yesterday back, including the renewals that come back tomorrow |
| 7 | Most transient problems have resolved themselves |
| 30 | Domains genuinely heading for release |
The zone event itself is 100% reliable. This domain was in yesterday's snapshot and is not in today's. What is uncertain is what it means, and that uncertainty is the reason for the filter rather than something we hide.
We do not query WHOIS or RDAP to resolve the ambiguity, and we will not: querying registries at scale is prohibited by the agreement that gives us this data at all.
dns_provider says who runs the DNS, not what the site is built with. The
nameserver identifies the DNS operator for 69% of domains, but a domain on Cloudflare
can be running anything. Website platforms are configured with A and CNAME records,
which a zone file does not contain, so we cannot see them and we do not guess.
An empty result means nothing left the zone matching your filters, or nothing has been absent long enough. It only costs the $0.00001 start fee.
Example runs
1. Find domains dropping in a niche TLD
{"tld": ["bank"],"minDaysAbsent": 30,"days": 60,"maxResults": 500}
2. Check whether any of your own domains lapsed
{"contains": ["shopify"],"minDaysAbsent": 1,"days": 7,"maxResults": 100}
3. Find short domains leaving the registry zone
{"contains": ["zy"],"tld": ["com"],"minDaysAbsent": 21,"days": 45,"maxResults": 1000}
4. Track crypto domains going quiet
{"contains": ["nft","token"],"minDaysAbsent": 14,"days": 30,"maxResults": 1000}
5. Watch a competitor releasing domain names
{"contains": ["northwind"],"minDaysAbsent": 7,"days": 30,"maxResults": 200}
6. Monitor domains dropping out of a busy TLD
{"tld": ["shop"],"minDaysAbsent": 30,"days": 60,"maxResults": 5000}
7. High-confidence domain drop candidates
{"contains": ["travel"],"minDaysAbsent": 45,"days": 90,"maxResults": 2000}
8. Research view of domains leaving a TLD
{"tld": ["xyz"],"minDaysAbsent": 1,"days": 3,"maxResults": 5000}
9. Find abandoned brand domains in shop and store
{"contains": ["shop","store"],"minDaysAbsent": 30,"days": 90,"maxResults": 2000}
10. Monitor a client managed domains for lapses
{"contains": ["agency"],"minDaysAbsent": 1,"days": 14,"maxResults": 100}
11. Find dropping domains with a city keyword
{"contains": ["madrid"],"minDaysAbsent": 21,"days": 60,"maxResults": 1000}
12. Track a failed startup domain assets
{"contains": ["startup"],"minDaysAbsent": 7,"days": 60,"maxResults": 200}
13. Find dictionary word domains dropping in app
{"tld": ["app"],"minDaysAbsent": 30,"days": 90,"maxResults": 2000}
14. Weekly conservative domain drop digest
{"contains": ["fintech"],"minDaysAbsent": 30,"days": 45,"maxResults": 1000}
15. Quarterly study of domain drops in one TLD
{"tld": ["online"],"minDaysAbsent": 45,"days": 90,"maxResults": 5000}
Pricing
$0.00001 to start, then $0.002 per zone exit — about $2 per 1,000 results.
Same price as the new-delegations Actor and for the same reason: it is built to be scheduled daily with a narrow filter, where most runs cost almost nothing.
Raise minDaysAbsent before you raise maxResults. A run with minDaysAbsent: 1
returns a lot of rows that will resolve themselves by tomorrow, and you pay for every
one of them.
Data source
🛡️ Sourced from the Registry Operators' own zone files, obtained through ICANN's Centralized Zone Data Service under agreement with those operators. ICANN does not endorse, sponsor or review this Actor.
Built for security research, brand protection and domain analytics. The access behind this data was granted one TLD at a time, which is why the coverage is what it is.
Support
Found a domain the Actor missed, or a row that looks wrong? Open an issue on the Actor page with the exact input you used. Zone data is refreshed once a day, so a domain delegated this morning may not appear until tomorrow's snapshot.


