JSON API

Read-only and unauthenticated — no key, no signup. Rate limited to roughly 2 requests per second per IP, with a burst allowance, which is far above what any real integration needs. Every response carries the data dates so you can tell how fresh it is.

Responses are cached and served with ETag. Sending If-None-Match gets you a 304 and does not count meaningfully against you — please do that rather than re-downloading unchanged data. Exceeding the limit returns 429 with a Retry-After header; honour it and you will not be blocked. If you need the whole dataset regularly, the polite path is one paged sweep per day against /api/v1/tld?per=500 — that is three requests — rather than crawling 1,100 pages. Aggregates only: there is no endpoint that returns domain names, because CZDS terms prohibit redistributing zone data.

Endpoints

EndpointDescription
GET /api/v1/overview Headline totals and the two data dates.
GET /api/v1/tld All new gTLDs. Supports ?sort=, ?dir=, ?page=, ?per=, ?q=.
GET /api/v1/tld/{tld} One TLD with registry, backend and latest figures.
GET /api/v1/tld/{tld}/history Daily domain counts. ?days= up to 3650.
GET /api/v1/tld/{tld}/registrars Registrar breakdown for a TLD, with the reporting month.
GET /api/v1/registrar Registrar market share, latest reported month.
GET /api/v1/registrar/{slug} One registrar with its TLD portfolio and monthly series.
GET /api/v1/backend Registry backends with TLD and domain counts.
GET /api/v1/dnssec Root signing and second-level signing rates.
GET /api/v1/parking Nameserver-provider share.
GET /api/v1/calendar Root-zone delegation events.
GET /api/v1/status Pipeline freshness — the same data as /status.

Example

curl -s https://ntlddata.com/api/v1/tld/xyz | jq

{
  "data": {
    "tld": "xyz",
    "type": "generic",
    "domains": 4759457,
    "change_30d": -12043,
    "registry": "XYZ.COM LLC",
    "backend": "CentralNic (Team Internet)",
    "root_signed": true,
    "delegated_at": "2014-02-19"
  },
  "meta": { "zone_data_date": "2026-08-12", "data_version": 12 }
}

Illustrative shape; field values depend on live data.

Data currency. Domain counts on this page are from zone files dated and refresh daily. Registrar figures are from ICANN's monthly registry reports for April 2026, which ICANN publishes about three months in arrears; zone files contain no registrar information, so no fresher source exists. Full detail on methodology and live pipeline status.