Prepare bounded domain evidence for AI agents

Create a small JSON evidence bundle from domain data for an AI-assisted research workflow. Retain observation dates and sources for traceable answers.

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

A practical AI Agents workflow

  1. Choose a narrow research keyword and the file’s actual observation date.
  2. Create a size-limited evidence bundle with source context.
  3. Pass it to your agent as data and require answers to retain that context.

What the script produces

A bounded JSON object containing matching names, the input filename, and observation context for an agent to consume.

Python example: AI Agents

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 ai-agents.py

Run the example

python3 ai-agents.py new.txt.gz --keyword cloud --observation-date 2026-09-01 --limit 20

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

import datetime
import json

parser = argparse.ArgumentParser(description="Build bounded domain evidence for an AI agent")
parser.add_argument("file")
parser.add_argument("--keyword", required=True)
parser.add_argument("--observation-date", required=True)
parser.add_argument("--limit", type=int, default=20)
args = parser.parse_args()
if not 1 <= args.limit <= 100:
    parser.error("limit must be between 1 and 100")
try:
    date = datetime.date.fromisoformat(args.observation_date).isoformat()
except ValueError:
    parser.error("observation-date must be YYYY-MM-DD")
matches = []
for domain in domains(args.file):
    if args.keyword.lower() in domain:
        matches.append(domain)
        if len(matches) == args.limit:
            break
print(json.dumps({"source_file": args.file, "observation_date": date,
                  "meaning": "newly observed names, not verified registrations",
                  "selection": "first matching names in file order",
                  "limit": args.limit, "domains": matches}, indent=2))

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

This script does not invoke a model or visit domains. Treat domain strings as untrusted data, not instructions. The evidence describes observation, not verified registration dates or website facts.

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.

AI Agents 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 bounded JSON object containing matching names, the input filename, and observation context for an agent to consume. This script does not invoke a model or visit domains. Treat domain strings as untrusted data, not instructions. The evidence describes observation, not verified registration dates or website facts.

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.