Where Expired Domain Lists Come From: The Data Pipeline

Published August 10, 2026

In a nutshell: every expired domains list is assembled from three feeds: registry zone files, registrar auction streams and WHOIS polling. Providers differ in how fast they diff, dedupe and enrich that data, which is why no two lists match.

An expired domains list looks like a simple spreadsheet: names, dates, a few metrics. Getting those rows onto your screen involves registries on several continents, daily multi-gigabyte zone file snapshots, millions of WHOIS queries and a race against a 2:00 pm US Eastern deadline. Understanding that pipeline is not trivia. It explains why the same domain appears on one list and not another, why every list runs hours behind reality, and what you are actually paying for when you buy access to a premium list.

What raw data feeds an expired domains list?

Every provider, free or paid, works from the same three raw feeds. Everything else, the filters, the metrics, the daily emails, is processing layered on top.

1. Registry zone files: the master inventory

A zone file is the registry's snapshot of every delegated domain in a TLD, name plus nameservers. Verisign publishes the .com and .net zones, which alone cover about 161 million .com names as of the Q4 2025 Domain Name Industry Brief, and most gTLD zones are available free through ICANN's Centralized Zone Data Service after an application. List providers download a fresh snapshot daily and diff it against yesterday's copy. A name that vanished from the zone has usually lost its nameservers: it expired, was put on hold, or was deleted. The diff is the cheapest way to watch a whole TLD at once, but it cannot say which lifecycle stage a vanished name is in.

2. WHOIS and RDAP polling: pinning down the stage

That is what WHOIS and RDAP queries are for. Each lookup returns the domain's EPP status codes: autoRenewPeriod means the registrar grace window, redemptionPeriod means the 30-day owner-only restore phase, and pendingDelete means the final, unstoppable 5 days before release. Providers poll their candidate names on a schedule and move each one between buckets as the status changes, which is how "pending delete" lists get dated by drop day. Because registries and registrars rate-limit lookups, providers have to prioritize, and obscure names get polled less often. Stale status data is one of the main reasons lists contain errors.

3. Registrar and auction feeds: the pre-drop market

Most valuable expired inventory never reaches the drop at all. Registrars auction expiring names during the grace period: GoDaddy Auctions adds 35,000+ new expiring domains every day, Dynadot runs its own expiry auctions with a closeout ladder stepping down to about $5, and Namecheap Market has hosted the official daily expired .ai auctions since February 2025. These platforms expose their inventory as feeds and search pages, and aggregators pull them in alongside the drop data. This is the feed where the money concentrates, because a domain sold at expiry auction keeps its original registration and age, while a dropped name starts over.

How do the three feeds compare?

FeedWhat it revealsTypical freshnessBlind spots
Registry zone filesNames appearing in or vanishing from a TLDDaily snapshot, so up to 24 hours behindCannot tell which lifecycle stage a name is in; most ccTLD zones are not public
WHOIS / RDAP pollingExact EPP status: autoRenewPeriod, redemptionPeriod, pendingDeleteHours to days, depending on polling priorityRate limits mean less popular names are checked less often
Registrar and auction feedsExpiring names for sale before the drop, with prices and end timesNear real time on the big platformsEach feed covers only that platform's own inventory
1 Zone file diff spot vanished names 2 WHOIS polling classify the stage 3 Feed merge auctions + drops 4 Dedupe + enrich metrics attached 5 Published list filtered and fresh every provider runs this loop at least daily; speed and data depth are what you pay for

Five steps between a registry event and the row on your screen: collect, classify, merge, enrich, publish

The pipeline, step by step

  1. Collect. Download today's zone snapshots, pull the auction platform feeds, and note the registry drop schedule. For .com and .net that schedule is fixed: deleting names release daily starting around 2:00 pm US Eastern.
  2. Diff. Compare today's zone against yesterday's. New names go to the "just registered" pile; vanished names become candidates for the expired pipeline.
  3. Classify. Poll WHOIS or RDAP for each candidate and sort by EPP status: still in grace, in redemption, or pending delete with a computable drop date.
  4. Merge and dedupe. A single domain can appear in a registrar auction this week and, if unsold, in the pending delete pool weeks later. Good providers collapse all sightings into one row with a current status; weak ones show you the same name twice under different labels.
  5. Enrich. Attach third-party metrics: Majestic Trust Flow and Citation Flow, Moz Domain Authority and Spam Score, referring domain counts, archive history. This is the expensive step, which is why deep metrics are the clearest dividing line between free and paid lists. The scale is real: SpamZilla alone reports processing around 300,000 domains per day, and DomCop attaches metrics from multiple providers to every row it aggregates.
  6. Publish. Push the refreshed list, typically on a daily cycle timed around the registry release, then start the loop again.

Why do no two lists agree?

Put two expired domain lists side by side for the same day and the overlap will be far from total. The first reason is definitional: "expired" can mean anything from "missed its renewal yesterday" (still recoverable by the owner) to "fully deleted and available to hand-register". That definition gap is why public estimates of daily volume range from roughly 100,000 listed names to 200,000+ dropped or deleted, and both figures are honest.

The second reason is coverage. ExpiredDomains.net tracks 676 TLDs; most providers track far fewer, because every extra TLD means another zone file agreement or another polling workload. ccTLDs are the hardest: many country registries publish no public zone file at all, .de deletions under DENIC can be near-instant with no standard redemption, and Nominet holds expired .uk names in a suspension state for roughly 90 days. The third reason is timing: a provider that snapshots the zone at 03:00 UTC and one that snapshots at 14:00 UTC are describing different worlds on a day when 100,000+ names churn.

Where does the lag come from?

Between a registry event and the row on your screen sit four delays: the zone snapshot cadence (up to 24 hours), the WHOIS polling queue (hours to days for low-priority names), the metrics enrichment run, and the publish cycle itself. Stack them and even a good daily list is typically several hours behind reality, which matters most at the pending delete stage, where the drop date is fixed and the good names attract backorders early.

The practical consequence: treat every list as a photograph, not a live feed. Check pending delete lists the evening before the drop date, re-verify status on anything you plan to spend money on, and assume that a domain still showing "in auction" may already have been bid past your budget.

What this means when you choose a list

Free and paid sources drink from the same three feeds, so you are never paying for secret data. You are paying for speed, wider TLD and auction coverage, honest deduplication, and above all the enrichment layer. Running Majestic and Moz lookups across hundreds of thousands of daily candidates is what a tool like DomCop charges for, with plans starting around $68 per month billed annually. Whether that trade is worth it depends on how many hours of manual cross-checking your own pipeline replaces; our ranking of the 10 best list sources breaks down who each option suits.

Frequently asked questions

Are zone files public?

Most gTLD zone files, including .com and .net, are available free through ICANN's Centralized Zone Data Service once you apply and agree to the terms. Most ccTLD registries do not publish zones, which is why ccTLD drop lists rely on WHOIS polling and registrar feeds instead.

Why is a domain on one list but missing from another?

Different feeds, different definitions, different timing. One provider may class it as "expiring" from an auction feed while another waits for pendingDelete status, and a third may not cover that TLD at all. Deduplication choices also differ, so the same name can surface under different labels.

How fresh is a typical expired domains list?

Daily refresh is the norm as of mid-2026, with the better providers cycling key segments more often. Even then, snapshot timing plus polling and enrichment delays mean hours of lag, so always re-verify status before paying for a name.

Can I build my own pipeline?

For one gTLD, yes: CZDS access, a daily diff script and a WHOIS library will get you a working drop list, and APIs like WhoisFreaks sell the polling layer ready-made. Doing it across hundreds of TLDs with metrics attached is the part that stops being a weekend project, and that is the gap paid lists fill.

Sources