World Domain Stats API & MCP
Two free ways into every number this site tracks — a versioned REST API and an MCP server for Claude & other AI clients. Registered-domain counts for every ICANN gTLD and the major country-code TLDs, with full monthly history, flow metrics, per-registrar breakdowns and registry activity. Primary sources only; every figure is traceable to the exact file it came from.
No key requiredCORS enabled 120 req/minCC BY 4.0 OpenAPI spec ↗ MCP server ↓Base URL & response shape
| Base URL | https://YOUR_HOST/api/v1 |
| Auth | None — free and open (read-only). |
| Envelope | Every JSON response is { meta, data }. meta carries generated_at, license and attribution so cited numbers stay traceable. |
| Rate limit | 120 requests / minute / IP. Headers: X-RateLimit-Limit/Remaining/Reset. Please cache — responses are Cache-Control: max-age=3600. |
| License | CC BY 4.0 — free to use with attribution to World Domain Stats and the underlying registries. |
Endpoints
GET /api/v1/statsglobal totals + coverageGET /api/v1/tldsall TLDs · ?type=gtld|cctld &sort=total|yoy|mom|tld &order &q &limit &offsetGET /api/v1/tlds/{tld}full monthly history + flows + activity + zoneGET /api/v1/tlds/{tld}/registrarsper-registrar breakdown (gTLDs)GET /api/v1/registrarsfamilies + top individual registrarsGET /api/v1/registrars/{iana_id}one registrar's history + top TLDsGET /api/v1/rankingsbiggest · fastest-growing · fastest-shrinkingGET /api/v1/sourcesprimary-source catalogGET /api/v1/export/tlds.csvlatest snapshot, all TLDs (CSV)GET /api/v1/export/tlds.xlsxlatest snapshot, all TLDs (Excel)GET /api/v1/export/tlds/{tld}.csvfull monthly history for a TLD (CSV)GET /api/v1/export/tlds/{tld}.xlsxfull monthly history for a TLD (Excel)GET /api/v1/export/history.csvbulk — every TLD × every month (CSV)Try it
# the .com monthly history, every figure with its source file curl https://YOUR_HOST/api/v1/tlds/com # the 20 fastest-growing TLDs year-over-year curl https://YOUR_HOST/api/v1/rankings # every TLD's latest count as a spreadsheet curl https://YOUR_HOST/api/v1/export/tlds.csv
MCP server — for Claude, ChatGPT, Gemini & Copilot
Prefer to let an AI assistant query the data directly? The World Domain Stats MCP server
exposes the whole dataset as Model Context Protocol
tools (list_tlds, get_tld, get_rankings, compare_tlds, get_registrars, …) — the same
source-anchored numbers as this API, usable straight from a conversation.
There are two ways to connect, depending on the client: a hosted (remote) endpoint for web/app clients, and a local command for desktop/CLI clients.
① Hosted / remote — for Claude apps, ChatGPT & other web clients
These clients add a custom connector by URL (they speak MCP over HTTP). Endpoint:
https://YOUR_HOST/mcp
| Claude (web & desktop app) | Settings → Connectors → Add custom connector → paste the URL above → Add. Then enable it in the chat's tools. (Availability depends on plan; the exact menu wording may differ by version.) |
| ChatGPT | Settings → Connectors (enable Developer mode if shown) → Add a custom / remote MCP server → paste the URL. (Plus/Pro/Business/Enterprise; connector support is rolling out.) |
Remote connectors require the site to be deployed over HTTPS; against a local dev server they'll only work if the client can reach localhost.
② Local (stdio) — for Claude Desktop/Code, Gemini CLI, VS Code Copilot
These run the server as a local process: node /path/to/worlddomainstats/mcp/server.js (point it at the data with DT_MCP_API_BASE, default http://localhost:3000).
Claude Code
claude mcp add worlddomainstats -- node /path/to/worlddomainstats/mcp/server.js # or point Claude Code at the hosted endpoint instead: claude mcp add --transport http worlddomainstats https://YOUR_HOST/mcp
Claude Desktop — claude_desktop_config.json:
{ "mcpServers": { "worlddomainstats": {
"command": "node", "args": ["/path/to/worlddomainstats/mcp/server.js"],
"env": { "DT_MCP_API_BASE": "https://YOUR_HOST" } } } }
Gemini CLI — ~/.gemini/settings.json (stdio, or "httpUrl" for remote):
{ "mcpServers": { "worlddomainstats": {
"command": "node", "args": ["/path/to/worlddomainstats/mcp/server.js"] } } }
GitHub Copilot (VS Code) — .vscode/mcp.json:
{ "servers": { "worlddomainstats": {
"command": "node", "args": ["/path/to/worlddomainstats/mcp/server.js"] } } }
// or remote: { "servers": { "worlddomainstats": { "type": "http", "url": "https://YOUR_HOST/mcp" } } }
Full docs & source: mcp/ in the repository. Any MCP-compatible client works — these are just the common ones.
Attribution
Data compiled by World Domain Stats from ICANN Monthly Registry Reports, ICANN CZDS zone files and national ccTLD registries. When you use it, please credit World Domain Stats and, where practical, the underlying registry. Each TLD's exact source file is in its history[].source.