TLDSweep

Developers

API & MCP

One set of lookups, three ways in: a REST API for your code, MCP for AI assistants, and a Skill for Claude.

Start in three steps

  1. 01

    Sign up, then create a key under API & MCP in your account.

  2. 02

    Send Authorization: Bearer tsk_your_key with each request.

  3. 03

    Call the endpoints below, or add the MCP URL to your AI assistant.

REST API

Every endpoint returns JSON. The x-quota-remaining header shows the units left today; going over the quota or rate returns 429 with retry-after.

Base URL
https://tldsweep.com/api/v1
MethodPathWhat it doesCost
GET/mePlan, quotas and today's usage for the key's accountFree
GET/check?domain=example.comLook up one full domain: status, registrar, creation and expiry dates1 units
POST/checkLook up to 50 full domains at once1 unit per domain
POST/scansScan one name across a TLD group (async)1 unit per TLD
GET/scans/{id}?status=availableScan progress and results, filter with statusFree
GET/scansYour scansFree
GET/scopesAvailable TLD groups and their sizesFree
GET/tlds/{tld}TLD details: registry, type, RDAP / WHOIS serversFree
GET/tlds?type=cctld&q=TLD list, filter with type and qFree
POST/names/suggestAI name ideas (availability not checked)5 units
GET / POST/watchesList, or add (POST), watched domainsFree / 1 units
DELETE/watches/{id}Stop watching a domainFree
curl
curl -s "https://tldsweep.com/api/v1/check?domain=example.com" \
  -H "Authorization: Bearer tsk_your_key"
Response
{
 "domain": "example.com",
 "tld": "com",
 "status": "taken",
 "method": "rdap",
 "registrar": "RESERVED-Internet Assigned Numbers Authority",
 "created": "1995-08-14T04:00:00Z",
 "expires": "2027-08-13T04:00:00Z",
 "statuses": ["client delete prohibited", "..."],
 "nameservers": ["a.iana-servers.net", "b.iana-servers.net"],
 "checked_at": 1793121034262
}
curl · batch
curl -s https://tldsweep.com/api/v1/check \
  -H "Authorization: Bearer tsk_your_key" \
  -H "content-type: application/json" \
  -d '{"domains": ["acme.com", "acme.io", "acme.ai"]}'
Python
import os, requests

API = "https://tldsweep.com/api/v1"
H = {"Authorization": f"Bearer {os.environ['TLDSWEEP_API_KEY']}"}

r = requests.post(f"{API}/check", headers=H, json={"domains": ["acme.com", "acme.io"]})
for row in r.json()["results"]:
    print(row["domain"], row["status"], row.get("expires"))
curl · scan
# Scan a name across popular TLDs, then poll for results
curl -s https://tldsweep.com/api/v1/scans \
  -H "Authorization: Bearer tsk_your_key" \
  -H "content-type: application/json" \
  -d '{"name": "acme", "scope": "hot"}'

curl -s "https://tldsweep.com/api/v1/scans/123?status=available,likely" \
  -H "Authorization: Bearer tsk_your_key"

Status values

available
Available
taken
Registered
reserved
Reserved / not open for registration
likely
The registry has no lookup service and DNS has no delegation, so it is probably available; confirm at a registrar
unknown
Could not be determined right now
error
Lookup failed

MCP for AI assistants

A remote MCP server (Streamable HTTP), nothing to install. Assistants can check domains, run scans, brainstorm names and manage watches.

MCP URL
https://tldsweep.com/api/mcp
Claude Code
claude mcp add --transport http tldsweep https://tldsweep.com/api/mcp \
  --header "Authorization: Bearer tsk_your_key"
Cursor, Claude Desktop and others (config file)
{
  "mcpServers": {
    "tldsweep": {
      "url": "https://tldsweep.com/api/mcp",
      "headers": {
        "Authorization": "Bearer tsk_your_key"
      }
    }
  }
}

Replace tsk_your_key with a key from above. If your client cannot send custom headers, append the key to the URL as ?key=tsk_… (keep that URL private).

Tools

  • check_domain

    Check whether a single domain name is registered, available or reserved, using live DNS, RDAP and WHOIS. Returns status, registrar, creation and expiry dates. Costs 1 unit.

  • check_domains

    Check up to 50 full domain names in one call (any mix of TLDs). Costs 1 unit per domain.

  • scan_name

    Check one name (without TLD) across a group of TLDs, e.g. every popular TLD or every TLD for a given industry. Starts an async scan and waits up to wait_seconds for it to finish, then returns the available domains found so far plus the scan id for get_scan. Costs 1 unit per TLD. Call list_scopes to see the groups.

  • get_scan

    Fetch progress and results of a scan started with scan_name. status filters results: available, likely, taken, reserved, unknown, error, or all.

  • list_scopes

    List the TLD groups usable as scope in scan_name, with how many TLDs each contains.

  • tld_info

    Registry, type (generic / country / new gTLD), RDAP and WHOIS servers and registration policy link for one TLD.

  • suggest_names

    Brainstorm brandable names for a project and return candidate domains for the requested TLDs. Availability is NOT checked; pass the domains to check_domains next. Costs 5 units.

  • list_watches

    List domains on the account's watch list with their last known status and expiry.

  • watch_domain

    Add a domain to the watch list. The account owner gets email alerts before expiry, when it drops or gets registered, and on registrar / nameserver changes.

  • unwatch_domain

    Remove a domain from the watch list by its watch id (see list_watches).

  • account_usage

    Show the account's plan, daily unit quota and how much has been used today.

If your client only supports local (stdio) MCP servers, download the bridge script and run it with Node.js 18+:

Download tldsweep-mcp.mjs
stdio
{
  "mcpServers": {
    "tldsweep": {
      "command": "node",
      "args": [
        "/path/to/tldsweep-mcp.mjs"
      ],
      "env": {
        "TLDSWEEP_API_KEY": "tsk_your_key",
        "TLDSWEEP_URL": "https://tldsweep.com"
      }
    }
  }
}

Claude Skill

A Skill is a playbook plus scripts for Claude. Once installed, Claude uses TLDSweep whenever you talk about naming or domains, so answers are based on live lookups across every TLD.

  1. 01

    Download the Skill zip.

  2. 02

    Claude web / desktop: Settings → Capabilities → Skills, upload the zip. Claude Code: unzip into ~/.claude/skills/.

  3. 03

    Set TLDSWEEP_API_KEY to your key (Claude Code), or give Claude the key in the conversation.

Download tldsweep-skill.zip

Quotas

Quotas follow your plan. See and upgrade on the pricing page.

See pricing →