Measure keyword signals in daily domain additions

Count topic-term matches in new domain lists. Compare a transparent naming signal across dated files without treating it as a count of new companies.

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

A practical Market Intelligence workflow

  1. Use the same keyword definitions for each observation date.
  2. Calculate counts and shares against all domains in each file.
  3. Compare dated results while checking changes in coverage.

What the script produces

Topic counts and shares of the input file, with the input filename retained for comparison.

Python example: Market Intelligence

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 market-intelligence.py

Run the example

python3 market-intelligence.py new.txt.gz --keywords cloud ai solar

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

from collections import Counter

parser = argparse.ArgumentParser(description="Count topic signals in a domain list")
parser.add_argument("file")
parser.add_argument("--keywords", nargs="+", required=True)
args = parser.parse_args()
counts = Counter()
total = 0
for domain in domains(args.file):
    total += 1
    for word in args.keywords:
        if word.lower() in domain.rsplit(".", 1)[0]:
            counts[word] += 1
writer = csv.writer(sys.stdout)
writer.writerow(["input_file", "keyword", "matches", "total", "share_percent"])
for word in args.keywords:
    writer.writerow([args.file, word, counts[word], total,
                     round(100 * counts[word] / total, 4) if total else 0])

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

Keyword shares measure naming patterns in observed additions. They are not market size, company formation, or customer demand. Categories can overlap and source coverage can change.

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.

Market Intelligence 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?

Topic counts and shares of the input file, with the input filename retained for comparison. Keyword shares measure naming patterns in observed additions. They are not market size, company formation, or customer demand. Categories can overlap and source coverage can change.

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.