staticdata.dev
Menu
Datasets About Contact

TLDs

A curated set of 105 top-level domains from the ICANN root zone, classified as gTLD, ccTLD, or sTLD, with the operating registry, whether registration is restricted to specific entities, and whether the TLD supports internationalised domain names.

v1.0.0 MIT 105 records Updated 2026-10-05 stable Source:  IANA Root Zone Database, ICANN Registry Reports

Quick fetch

Stable URL. CORS-enabled. No auth.

bash
curl https://staticdata.dev/v1/tlds.json

Or use as a typed import: import { tlds } from "https://staticdata.dev/v1/tlds.ts"

Formats

  • JSON 14.8 KB

    /v1/tlds.json

    Open

    min: 10.5 KB · /v1/tlds.min.json

  • CSV 4.1 KB

    /v1/tlds.csv

    Open
  • TypeScript 15.0 KB

    /v1/tlds.ts

    export const tlds

    type Tld = (typeof tlds)[number]

    Open

Schema

Each record in the dataset has the following shape.

Schema
Field Type Description Example
tld string Top-level domain with leading dot .com
type "gTLD" | "ccTLD" | "sTLD" Classification gTLD
country? string | null ISO 3166-1 alpha-2 (only for ccTLDs)
registry string Operating registry name VeriSign
restricted boolean Whether registration is restricted by eligibility rules false
idn boolean Whether the TLD supports IDN registrations false

Preview

First 10 records.

Data preview
tldtypecountryregistryrestrictedidn
.comgTLDVeriSignfalsefalse
.orggTLDPublic Interest Registryfalsefalse
.netgTLDVeriSignfalsefalse
.infogTLDIdentity Digitalfalsefalse
.bizgTLDGoDaddy Registryfalsefalse
.namegTLDVeriSigntruefalse
.progTLDIdentity Digitalfalsefalse
.devgTLDCharleston Road Registry (Google)falsefalse
.appgTLDCharleston Road Registry (Google)falsefalse
.ioccTLDIOInternet Computer Bureaufalsefalse

Showing 10 of 105. View full data:  JSON · CSV

Fetch examples

Drop-in snippets in five languages.

curl
curl -sSL https://staticdata.dev/v1/tlds.json | jq '.[0]'
JavaScript
import type { Tld } from "https://staticdata.dev/v1/tlds.ts";

const res = await fetch("https://staticdata.dev/v1/tlds.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const tlds: Tld[] = await res.json();
console.log(tlds[0]);
Python
import urllib.request, json

with urllib.request.urlopen("https://staticdata.dev/v1/tlds.min.json") as r:
    tlds = json.load(r)

print(tlds[0])
Go
package main

import (
	"encoding/json"
	"fmt"
	"net/http"
)

func main() {
	resp, err := http.Get("https://staticdata.dev/v1/tlds.min.json")
	if err != nil { panic(err) }
	defer resp.Body.Close()

	var data []map[string]any
	if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
		panic(err)
	}
	fmt.Println(data[0])
}
Rust
use serde_json::Value;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let body = ureq::get("https://staticdata.dev/v1/tlds.min.json").call()?.into_string()?;
    let data: Vec<Value> = serde_json::from_str(&body)?;
    println!("{:?}", data.first());
    Ok(())
}

Sources and methodology

As of October 2026 the root zone contains 1,437 TLDs, hundreds of which are brand TLDs (.google, .amazon) that are not generally available for registration. This dataset focuses on TLDs developers actually encounter: the original gTLDs (.com, .org, .net), the major ccTLDs, the sponsored TLDs that have meaningful real-world use (.gov, .edu, .aero), and the more popular new gTLDs.

The restricted flag is true when registration is gated on eligibility (e.g., .gov requires a US government entity, .edu requires accreditation, .bank requires being a bank, .aero requires being in the aviation sector). It is false when registration is open to anyone. Registry operators and eligibility rules change over time; the registry, restricted and idn values reflect the situation as of October 2026, and registry names the operator most developers would recognise (which is sometimes the back-end operator rather than the IANA sponsoring organisation).

The idn flag indicates whether the registry accepts internationalised domain name registrations using non-ASCII characters in the second-level domain.

Internationalised TLDs (IDN ccTLDs like .рф, .中国, .한국) are not yet included.

Versioning

URLs under /v1/ are stable: field names and types will not change in a way that breaks consumers. Values can be corrected or records added when the upstream source changes; schema-incompatible updates ship under a new version path. See the tlds changelog for this dataset's history.

Related datasets

More Web datasets