Blog
Written By Nadeem Khan, WhoisFreaks Team Published: April 23, 2026, Last Updated: April 30, 2026
Every day, tens of thousands of domain names expire, pass through redemption, and eventually drop back into open registration. Most of them are worthless. A small percentage carry real link equity, clean histories, and brandable names worth acquiring for SEO, redirect strategy, or resale.
The problem is volume. Sorting through 10,000 or more domains manually every day is not a workflow. It is a job that scales badly, invites human error, and means your best candidates get hand-registered by competitors running automated systems before you finish your morning coffee.
This guide shows how to replace that manual process with a five-stage automated pipeline using an expired domains API as the data source.
What this pipeline does: It pulls daily expired domain data from an API, enriches each domain with WHOIS history, scores candidates by backlink quality, filters out spam and penalized domains, and routes actionable picks to a registration or backorder queue. The goal is to reduce a daily feed of 10,000 or more domains to a shortlist of 10 to 20 investment-grade candidates without manual browsing.
Who this is for: Domain investors acquiring more than 10 domains per month, SEO professionals sourcing domains for redirect or PBN strategies, and developers building domain intelligence or portfolio management tools.
Key takeaways before you start:
Before writing a single line of code, clarify what you are trying to produce. A domain investment pipeline has one job: move domains from a raw daily list to a scored, filtered shortlist that requires minimal manual decision-making.
The pipeline runs five stages in sequence. Domains that fail at any stage are discarded. Only the survivors reach Stage 5, where you make an actual acquisition decision.
The input to your pipeline is a domain feed from an expired domains API. The WhoisFreaks Expiring and Dropped Domains API delivers three distinct feeds updated daily at 03:00 UTC:
Each record in the WhoisFreaks feed includes: domain name, expiry date, update date, registrar, nameservers, domain status codes, registrant contact fields, and backlink counts. The JSON feed can be filtered by TLD at query time, which means you can restrict your pipeline to .com only, or to a specific country-code TLD, before the records even enter your scoring logic.
WhoisFreaks also publishes a free daily expired domain list of up to 10,000 names updated at 03:00 UTC if you want to test your pipeline before committing to a paid feed.
Practical implementation note: Pull all three feeds daily. Store them in a local database table (Postgres or SQLite both work). Add a date_pulled column so you can track whether a domain has appeared across multiple days, which is a useful signal for prioritization.
If you have been using ExpiredDomains.net manually, see the full breakdown of programmatic alternatives and why that site has no API.
Raw backlink counts and domain status codes are not enough to make a reliable investment decision. Stage 2 adds WHOIS history enrichment to each domain that passes a minimum backlink threshold from Stage 1.
For each candidate, query the historical WHOIS record and extract:
create_date: How long ago was the domain originally registered? Domains with registrations older than five years tend to carry stronger trust signals.registrant_contact.company: Is the previous owner a recognizable business, or does the field contain a privacy proxy with no other traceable registration history?A WHOIS history API that returns structured JSON makes this enrichment automatable. The WhoisFreaks WHOIS History API returns normalized records sorted by date, which means your pipeline can count ownership changes and calculate registration age with two lines of code rather than parsing raw WHOIS text.
Stage 3 is where most pipelines fail. Operators use a single metric, typically raw backlink count, as a proxy for quality. A domain with 200 backlinks all coming from a network of low-authority article spinners is worth less than a domain with 12 backlinks from niche-relevant editorial sources.
Evaluate backlink quality using three signals:
You do not need a full Ahrefs subscription to run this check at scale. The WhoisFreaks expired domain feed includes a backlink count field, which is sufficient to apply a minimum threshold filter before you run the more expensive SEO API calls against surviving candidates only.
Stage 4 runs six checks against every domain that passed Stage 3. Any single hard-fail check eliminates the domain from contention.
Hard-fail checks:
transparencyreport.google.com/safe-browsing/search. A malware or phishing flag is an automatic disqualifier.Soft checks (document but do not auto-discard):
Domains that survive Stages 1 through 4 reach Stage 5, where you decide how to acquire them. The correct method depends entirely on where the domain sits in its lifecycle.
| Domain Status | Action | Tool | Timing |
|---|---|---|---|
| Already dropped (available) | Hand-register immediately | Any accredited registrar | Now |
| pendingDelete (5-day window) | Place backorder | DropCatch, NameJet, GoDaddy Auctions | Before the drop window |
| redemptionPeriod (up to 30 days) | Monitor and backorder | BackorderZone, NameJet | Before pendingDelete entry |
| At auction | Bid | GoDaddy Auctions, Sedo | Within auction window |
For .com domains, the drop window typically falls between 00:00 and 02:00 UTC. High-value domains drop within milliseconds of release and go to whichever drop-catching service placed a backorder. For lower-competition domains, placing a backorder 24 to 48 hours before the estimated drop time is sufficient.
The WhoisFreaks pending-delete feed gives you the domain name, current status, and expiry date. Use the expiry date plus the standard lifecycle periods (30-day redemption, 5-day pendingDelete) to estimate the drop date for any domain in the feed. Note that ccTLD timelines vary by registry.
Not all expired domain API responses are equal. When evaluating or calling an expired domains API, request the following fields at minimum.
The three feeds serve different investor objectives:
Most pipeline architectures pull all three feeds daily and route domains to different queues based on their status.
Prioritize these fields when calling the WHOIS history endpoint:
create_date: Registration age proxy. Older is better.update_date: Cross-referenced with expiry_date to determine how long the domain was last active.domain_status: Identifies current lifecycle stage (active, redemptionPeriod, pendingDelete).registrar: Some registrar histories are associated with higher spam rates. A domain that was always registered with a major accredited registrar carries a marginally cleaner profile.The backlink count field in the WhoisFreaks expired domain feed tells you how many inbound links pointed to the domain at the time of data collection. Use it as a minimum threshold filter, not a quality signal.
A practical minimum threshold for investment-grade filtering: discard any domain with fewer than 10 referring domains. This removes the majority of low-value drops from your scoring pipeline before you make any additional API calls. Candidates above the threshold then get the full Stage 3 backlink quality analysis.
A scoring model has two components: hard filters that disqualify domains instantly, and soft scores that rank the domains that survive the filters.
Apply these before any manual review:
Assign numerical weights to rank surviving candidates. A practical weighting model:
| Signal | Weight |
|---|---|
| Referring domain count (above threshold) | 30 points |
| Registration age (per year, capped at 10 years) | 20 points |
| Topical relevance of backlink anchor texts | 20 points |
| Referring IP diversity | 15 points |
| Domain extension (.com = 10, .net/.org = 7, other = 4) | 10 points |
| Clean Wayback Machine record (verified legitimate content) | 5 points |
A domain scoring 75 or above out of 100 is a strong acquisition candidate. Domains scoring between 50 and 74 are worth a manual review. Below 50 is not worth the time.
| Signal | Domain A | Domain B | Domain C |
|---|---|---|---|
| Referring domains | 34 (34 pts) | 12 (12 pts) | 89 (30 pts cap) |
| Registration age | 8 years (16 pts) | 3 years (6 pts) | 12 years (20 pts) |
| Anchor relevance | On-topic (20 pts) | Mixed (8 pts) | On-topic (20 pts) |
| Referring IP diversity | High (15 pts) | Low (4 pts) | High (15 pts) |
| Extension | .com (10 pts) | .com (10 pts) | .net (7 pts) |
| Wayback record | Clean (5 pts) | Not verified (0 pts) | Clean (5 pts) |
| Total | 100 | 40 | 97 |
| Decision | Acquire | Discard | Acquire |
Stage 4 in the pipeline runs six verification steps. These are not optional for any domain where you plan to invest real money or use the domain for SEO purposes.
Go to web.archive.org and search the domain name. Look at archived snapshots from across its registration history, not just the most recent. Red flags include: pages with hundreds of outbound links to unrelated commercial sites, pages with auto-generated keyword-stuffed text, any page that appears to exist solely to pass link equity rather than serve a real audience, and adult or gambling content under any prior registration.
A clean result shows a real business, a legitimate blog, or a recognizable brand site with relevant content. Gaps in the archive (no snapshots for extended periods) are neutral unless those gaps coincide with known spam hosting periods visible in the DNS history.
Visit transparencyreport.google.com/safe-browsing/search and enter the domain. A result showing "No unsafe content found" is sufficient to pass this check. Any malware, phishing, or unwanted software designation is a hard disqualifier regardless of other signals.
Four WHOIS history patterns warrant discard or intensive scrutiny:
The three acquisition methods serve different scenarios and have different cost and competition profiles.
Hand-register is appropriate when the domain has already completed its full lifecycle and is available for open registration at standard registration price (typically $10 to $15 for .com). Use this path when the domain scored well in your pipeline and no auction listing exists. Speed matters: a domain that appears in the dropped feed at 03:00 UTC may be registered by a competitor's automated system by 03:01 UTC if it is high-value.
Backorder is appropriate when the domain is in pendingDelete and has not yet dropped. Backorder services (DropCatch, NameJet, GoDaddy Auctions) place automated registration attempts at high speed the moment the registry releases the domain. If you are the only party who placed a backorder, you typically get the domain at the service's base rate. If multiple parties backordered the same domain, it goes to auction among backordering parties.
Auction is appropriate when a domain has already been caught by a drop-catching service and listed, or when the current registrar is running an expiry auction. Auction prices for high-quality domains can run from $50 to tens of thousands. Your scoring model's output score should inform the maximum bid you are willing to place.
For generic top-level domains (.com, .net, .org), the lifecycle is predictable:
For country-code TLDs, lifecycle periods vary by registry and sometimes by registrar. The WhoisFreaks feed marks ccTLD expiry stages but the drop timing is less predictable. Budget additional monitoring time for ccTLD acquisitions.
Practical note: The WhoisFreaks expiring domain feed updates at 03:00 UTC daily. Set your pipeline cron job to run at 03:30 UTC to ensure you are working with the freshest feed data each morning.
Relying on total backlink count instead of referring domain count. A domain with 5,000 backlinks from 3 domains is a link farm artifact. A domain with 80 backlinks from 60 referring domains is genuinely valuable.
Skipping Wayback Machine verification. A clean backlink profile does not guarantee a clean content history. Spam operators build links to domains hosting doorway content. Those links will transfer to you along with the spam penalty risk.
Targeting only .com. High-competition .com drops get caught by professional drop-catching services within milliseconds. Country-code TLDs in relevant markets (.co.uk, .de, .ca) can offer strong backlink profiles with dramatically less acquisition competition.
Not storing pipeline outputs over time. Domains that fail your threshold today may pass it in six weeks if the referring domain count grows. A database table of candidates-with-scores-over-time is far more useful than a daily list that gets discarded.
Conflating "expired" and "dropped." An expired domain is still in the hands of the previous owner or in the redemption window. A dropped domain is available for registration. These require different actions. The WhoisFreaks API distinguishes them clearly in the domain_status field.
An automated expired domain pipeline does not eliminate judgment. It eliminates the noise that buries the judgment call in manual work.
The five-stage workflow described here, API pull, WHOIS enrichment, backlink scoring, spam filtering, and acquisition timing, reduces a daily input of tens of thousands of domains to a shortlist small enough to review in under 20 minutes. That is the operational goal: a system where you make decisions, not lists.
The WhoisFreaks Expiring and Dropped Domains API provides the daily data input for Stages 1 through 2, with TLD filtering, WHOIS inclusion, and separate feeds for expiring, dropped, and pending-delete domains. Combine it with a WHOIS history call for ownership verification, a backlink API for anchor text analysis, and the three spam verification steps, and you have a pipeline that costs less per day to run than a single poorly evaluated domain acquisition.
Start with the dropped domains feed if you want immediate hand-registration opportunities. Start with the pending-delete feed if you want to place backorders on the most time-sensitive candidates. Add the expiring feed to build a watching queue for domains you want to monitor across their full lifecycle.