Find short removed domains for investment research

Filter expired and removed domain lists for short names in a chosen extension. Export candidates for registration-status and history checks.

All datasets are updated daily by 9:00 AM UTC.

A practical Domain Investors workflow

  1. Choose an extension and maximum name length.
  2. Filter removed names using explicit length and character rules.
  3. Verify registration status and evaluate shortlisted names independently.

What the script produces

A shortlist of short, alphabetic names directly under the chosen extension.

Python example: Domain Investors

Requires Python 3.9 or later. Uses the standard library only, processes local files, and makes no network requests. Save the script beside your downloaded inputs, or provide full paths.

Download domain-investors.py

Run the example

python3 domain-investors.py expired.txt.gz --tld com --max-length 8

Results are printed to the terminal. Redirect standard output to a file if you want to save the report. For the SQLite example, the database is saved at the path you specify.

Complete script

import argparse
import csv
import gzip
import sys


def domains(path):
    with gzip.open(path, "rt", encoding="utf-8") as source:
        for line in source:
            domain = line.strip().lower().rstrip(".")
            if domain:
                yield domain

parser = argparse.ArgumentParser(description="Shortlist short removed domain names")
parser.add_argument("file")
parser.add_argument("--tld", default="com")
parser.add_argument("--max-length", type=int, default=8)
args = parser.parse_args()
if args.max_length < 1:
    parser.error("max-length must be positive")
suffix = "." + args.tld.lower().lstrip(".")
writer = csv.writer(sys.stdout)
writer.writerow(["domain", "name_length"])
for domain in domains(args.file):
    if domain.endswith(suffix):
        name = domain[:-len(suffix)]
        if name.isascii() and name.isalpha() and len(name) <= args.max_length:
            writer.writerow([domain, len(name)])

To automate input downloads, follow the API documentation for tokens, supported endpoints, and historical dates. Keep API tokens out of shared scripts.

How to interpret the results

Removed domains are not necessarily available to register. Length is not a valuation model. Check current availability, history, and relevant rights before considering acquisition.

Record the input filename and observation date with your results. Differences in zone coverage and source availability can affect comparisons. Review dataset formats and coverage before expanding the workflow.

Domain Investors example questions

What data do I need to run this example?

Use Expired / removed domain lists. Download gzip-compressed domain-name files and pass their local paths to the script. The research comparison requires two snapshots of the same zone.

How should I use the output?

A shortlist of short, alphabetic names directly under the chosen extension. Removed domains are not necessarily available to register. Length is not a valuation model. Check current availability, history, and relevant rights before considering acquisition.

Can I schedule this workflow?

Yes. Download the required dated files through the API, then run the script locally. Check file dates before processing and retain the inputs needed to reproduce your results.

Put domain data to work

Inspect the datasets, choose access, or discuss requirements for your team.