resources background

Blog

How to Build an Expired Domain Investment Pipeline Using an API

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:

  • An expired domains API delivers three data feeds: expiring (pre-drop), dropped (available now), and pending-delete (final countdown window). Choosing the right feed determines your acquisition window.
  • The five filtering signals that matter most are backlink count, referring domain diversity, WHOIS age, topical relevance of inbound anchors, and absence of spam history.
  • Acquisition method depends on lifecycle stage: hand-register if the domain has dropped, backorder if it is in pendingDelete, bid at auction if it is already listed.
  • Every candidate needs a spam check before any money is spent.

What the Pipeline Actually Does

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.

Stage 1: Pull Daily Expired Domain Data via API

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:

  • Expiring domains feed: Domains currently in redemptionPeriod or pendingDelete. These have not dropped yet. They are the target for backorder placement. Some domains skip pendingDelete and drop directly from redemptionPeriod.
  • Dropped domains feed: Domains that have completed the full lifecycle and are now available for open registration. These are the hand-register candidates.
  • Pending-delete feed: Domains in the typical final five-day countdown before dropping. These are the time-critical backorder targets.

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.

Pull Daily Expired Domain Data via API

Stage 2: Enrich Each Domain with WHOIS History

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.
  • Ownership change count: How many times did the registrant change? A domain that changed hands four times in three years warrants investigation.
  • registrant_contact.company: Is the previous owner a recognizable business, or does the field contain a privacy proxy with no other traceable registration history?
  • Nameserver history: Did the domain shift frequently between hosting providers? Multiple nameserver changes in a short window can indicate the domain was used for doorway pages or link farms.
  • Final status before drop: Did the domain enter pendingDelete cleanly from its last registration, or did it pass through multiple redemption periods, suggesting the owner repeatedly tried and failed to hold it?

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.

Enrich Each Domain with WHOIS History

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:

  1. Referring domain count (not total backlink count): 50 links from 2 domains is weaker than 25 links from 20 domains. Referring domain diversity is the more reliable signal.
  2. Anchor text distribution: Pull a sample of the top 20 anchor texts for the domain. If more than 30% of anchors include terms like "casino," "buy cheap," "online pharmacy," or "best price," discard the domain regardless of referring domain count.
  3. Referring IP diversity: A backlink profile concentrated in a narrow IP range suggests link farm construction rather than organic acquisition.

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.

 Score Domains by Backlink Quality

Stage 4: Filter Out Spam and Penalized Domains

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:

  1. Wayback Machine verification: Query the Internet Archive for the domain's content history. If archived pages show doorway content, gibberish text, adult content, or any site that clearly existed only to host links, discard.
  2. Google Transparency Report: Search the domain at transparencyreport.google.com/safe-browsing/search. A malware or phishing flag is an automatic disqualifier.
  3. WHOIS history spam signals: Short repeated registration cycles (registered for 30 days, dropped, re-registered by a different entity, dropped again) indicate the domain was used for transient spam infrastructure.
  4. Backlink anchor spam: Covered in Stage 3. Revisit here as a final hard check if the anchor distribution check was run as a soft score in Stage 3.
  5. DNS history red flags: If the domain's historical A records resolve to IP ranges associated with bulletproof hosting, known malware C2 servers, or heavily spammed shared hosting environments, treat it as compromised.
  6. Spam score threshold: If you use a third-party spam scoring service, set a hard discard threshold at 40% or above.

Soft checks (document but do not auto-discard):

  • The domain was used for a legitimate business that simply shut down. The archived site looks real, the content is on-topic, but the backlinks are thin. This is a candidate for development rather than redirect use.
  • The domain has one period of questionable use in an otherwise clean 10-year history. Document the period, evaluate whether recent links were built after the questionable period, and decide manually.
Filter Out Spam and Penalized Domains

Stage 5: Time Your Acquisition (Register, Backorder, or Auction)

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.

Time Your Acquisition (Register, Backorder, or Auction)

What API Fields to Request and Why

Not all expired domain API responses are equal. When evaluating or calling an expired domains API, request the following fields at minimum.

Expiring vs. Dropped vs. Pending-Delete: Which Feed to Use

The three feeds serve different investor objectives:

  • Expiring feed: Best for investors who want to watch a domain through its full lifecycle, assess competition, and decide whether to backorder before the drop window.
  • Dropped feed: Best for quick hand-registration opportunities. These domains are available right now. First come, first served.
  • Pending-delete feed: The highest-urgency feed. These domains are in their final five days. If you identify a quality candidate here, a backorder needs to be placed immediately.

Most pipeline architectures pull all three feeds daily and route domains to different queues based on their status.

What API Fields to Request and Why

WHOIS Fields That Reveal Investment-Grade History

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.
  • Ownership change history: Available through WHOIS snapshot count. Multiple registrant changes increase investigation burden.
  • Nameserver history: Available via the historical DNS lookup endpoint. Frequent NS changes are a yellow flag.

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.

Building the Scoring Model

A scoring model has two components: hard filters that disqualify domains instantly, and soft scores that rank the domains that survive the filters.

Hard Filters (Disqualify Immediately)

Apply these before any manual review:

  1. Fewer than 10 referring domains (from the API backlink count field)
  2. WHOIS history shows gambling, pharma, or adult content site history
  3. Google Transparency Report malware or phishing flag
  4. Spam score above 40%
  5. Domain registered less than 90 days before the first drop (indicates a domain purchased specifically for spam and quickly abandoned)
  6. More than 50% of anchor texts from backlink sample fall into commercial-spam categories

Soft Scores (Rank Remaining Candidates)

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.

Sample Scoring Table

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
Domain Scoring Model

Spam and Penalty Checks

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.

Wayback Machine Verification

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.

Google Transparency Report Cross-Check

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.

WHOIS History Red Flags

Four WHOIS history patterns warrant discard or intensive scrutiny:

  1. The domain cycled through three or more owners in five years with short registration periods each time. This indicates the domain was passed between spam operators.
  2. The registrant email in a pre-GDPR record matches a known spam actor in public threat intelligence databases.
  3. The nameserver history shows the domain pointed to IP ranges associated with bulletproof hosting (check against known abuse IP lists).
  4. The domain returned to pendingDelete within 60 days of its most recent registration. Legitimate businesses do not register and abandon a domain within two months.

Acquisition Timing and Strategy

Hand-Register vs. Backorder vs. Auction

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.

Acquisition Timing and Strategy

.com Drop Schedule and the pendingDelete Window

For generic top-level domains (.com, .net, .org), the lifecycle is predictable:

  • Grace period: 0 to 45 days after expiry (owner can renew at standard price)
  • Redemption period: up to 30 days (owner can renew at premium redemption fee, typically $150 to $300)
  • pendingDelete: 5 days (domain queued for release; no one can register it during this window)
  • Drop: domain released to open registration, typically between 00:00 and 02:00 UTC for .com

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.

Common Pipeline Mistakes

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.

Conclusion

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.

Related Posts