Discover keyword-matching domains for SEO research

Build a domain discovery list from daily additions using your topic keywords. Export candidates for manual website and relevance checks.

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

A practical SEO workflow

  1. Select terms that describe your research topic.
  2. Export matching domain names from a daily file.
  3. Check website activity and content before adding candidates to your research.

What the script produces

A CSV of names containing your topic terms, suitable for a separate relevance review.

Python example: SEO

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 seo.py

Run the example

python3 seo.py new.txt.gz --keywords cloud hosting

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="Find domain names matching topic keywords")
parser.add_argument("file")
parser.add_argument("--keywords", nargs="+", required=True)
args = parser.parse_args()
writer = csv.writer(sys.stdout)
writer.writerow(["domain", "topic_matches"])
for domain in domains(args.file):
    name = domain.rsplit(".", 1)[0]
    matches = [word for word in args.keywords if word.lower() in name]
    if matches:
        writer.writerow([domain, ";".join(matches)])

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

A keyword in a domain does not establish an active website, topical relevance, organic traffic, authority, or backlink quality. This dataset contains names, not SEO metrics.

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.

SEO example questions

What data do I need to run this example?

Use New 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 CSV of names containing your topic terms, suitable for a separate relevance review. A keyword in a domain does not establish an active website, topical relevance, organic traffic, authority, or backlink quality. This dataset contains names, not SEO metrics.

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.