staticdata.dev
Menu
Datasets About Contact

TLDs

A curated set of 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 106 records Updated 2026-04-25 stable Source:  IANA Root Zone Database, ICANN Registry Reports

Quick fetch

Stable, immutable 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.9 KB

    /v1/tlds.json

    Open

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

  • CSV 4.1 KB

    /v1/tlds.csv

    Open
  • TypeScript 15.1 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 Digitaltruefalse
.devgTLDCharleston Road Registry (Google)falsefalse
.appgTLDCharleston Road Registry (Google)falsefalse
.ioccTLDIOInternet Computer Bureaufalsefalse

Showing 10 of 106. 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

The ICANN root zone contains over 1,400 TLDs, the majority of which are vendor-specific 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.

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 immutable. The data they return will not change in a way that breaks consumers. Schema-incompatible updates ship under a new version path. See the tlds changelog for this dataset's history.

Related datasets