GET GET /tlds

List TLDs

Get all top-level domains (TLDs) supported by DomainKit.

Endpoint

GET https://api.domainkit.bot/tlds

Parameters

Parameter Type Required Description
type string No Filter by TLD type: gTLD or ccTLD

Request

curl "https://api.domainkit.bot/tlds"

Filter by type:

curl "https://api.domainkit.bot/tlds?type=gTLD"

Response

{
  "count": 19,
  "tlds": [
    {
      "tld": "ai",
      "type": "ccTLD",
      "rdapServer": "rdap.identitydigital.services/rdap",
      "enabled": true
    },
    {
      "tld": "app",
      "type": "gTLD",
      "rdapServer": "pubapi.registry.google/rdap",
      "enabled": true
    },
    {
      "tld": "biz",
      "type": "gTLD",
      "rdapServer": "rdap.nic.biz",
      "enabled": true
    },
    {
      "tld": "bot",
      "type": "gTLD",
      "rdapServer": "rdap.nominet.uk/bot",
      "enabled": true
    },
    {
      "tld": "cc",
      "type": "ccTLD",
      "rdapServer": "tld-rdap.verisign.com/cc/v1",
      "enabled": true
    },
    {
      "tld": "cloud",
      "type": "gTLD",
      "rdapServer": "rdap.registry.cloud/rdap",
      "enabled": true
    },
    {
      "tld": "com",
      "type": "gTLD",
      "rdapServer": "rdap.verisign.com/com/v1",
      "enabled": true
    },
    {
      "tld": "dev",
      "type": "gTLD",
      "rdapServer": "pubapi.registry.google/rdap",
      "enabled": true
    },
    {
      "tld": "info",
      "type": "gTLD",
      "rdapServer": "rdap.identitydigital.services/rdap",
      "enabled": true
    },
    {
      "tld": "io",
      "type": "ccTLD",
      "rdapServer": "rdap.identitydigital.services/rdap",
      "enabled": true
    },
    {
      "tld": "me",
      "type": "ccTLD",
      "rdapServer": "rdap.identitydigital.services/rdap",
      "enabled": true
    },
    {
      "tld": "net",
      "type": "gTLD",
      "rdapServer": "rdap.verisign.com/net/v1",
      "enabled": true
    },
    {
      "tld": "online",
      "type": "gTLD",
      "rdapServer": "rdap.centralnic.com/online",
      "enabled": true
    },
    {
      "tld": "org",
      "type": "gTLD",
      "rdapServer": "rdap.publicinterestregistry.org/rdap",
      "enabled": true
    },
    {
      "tld": "site",
      "type": "gTLD",
      "rdapServer": "rdap.centralnic.com/site",
      "enabled": true
    },
    {
      "tld": "store",
      "type": "gTLD",
      "rdapServer": "rdap.centralnic.com/store",
      "enabled": true
    },
    {
      "tld": "tech",
      "type": "gTLD",
      "rdapServer": "rdap.centralnic.com/tech",
      "enabled": true
    },
    {
      "tld": "tv",
      "type": "ccTLD",
      "rdapServer": "rdap.nic.tv",
      "enabled": true
    },
    {
      "tld": "xyz",
      "type": "gTLD",
      "rdapServer": "rdap.centralnic.com/xyz",
      "enabled": true
    }
  ]
}

Response Fields

Field Type Description
count number Total number of TLDs returned
tlds array List of TLD objects
tlds[].tld string The TLD extension (e.g., com)
tlds[].type string Type of TLD: gTLD (generic) or ccTLD (country code)
tlds[].rdapServer string RDAP server used for availability checks
tlds[].enabled boolean Whether the TLD is currently enabled

Supported TLDs

gTLDs (Generic Top-Level Domains)

TLD Description
app Applications
biz Business
bot Bots and automation
cloud Cloud services
com Commercial
dev Development
info Information
net Network
online Online presence
org Organizations
site Websites
store E-commerce
tech Technology
xyz General purpose

ccTLDs (Country Code Top-Level Domains)

TLD Country/Region
ai Anguilla (popular for AI)
cc Cocos Islands
io British Indian Ocean Territory (popular for tech)
me Montenegro (popular for personal)
tv Tuvalu (popular for video/media)

Errors

Code Error Description
400 invalid_type Type must be gTLD or ccTLD

Code Examples

curl

curl "https://api.domainkit.bot/tlds"

Python

import requests

response = requests.get("https://api.domainkit.bot/tlds")
data = response.json()

print(f"Supported TLDs: {data['count']}")

# Group by type
gtlds = [t for t in data["tlds"] if t["type"] == "gTLD"]
cctlds = [t for t in data["tlds"] if t["type"] == "ccTLD"]

print(f"\ngTLDs ({len(gtlds)}):")
for tld in gtlds:
    print(f"  .{tld['tld']}")

print(f"\nccTLDs ({len(cctlds)}):")
for tld in cctlds:
    print(f"  .{tld['tld']}")

JavaScript

const response = await fetch("https://api.domainkit.bot/tlds");
const data = await response.json();

console.log(`Supported TLDs: ${data.count}`);

// Group by type
const gtlds = data.tlds.filter(t => t.type === "gTLD");
const cctlds = data.tlds.filter(t => t.type === "ccTLD");

console.log(`\ngTLDs (${gtlds.length}):`);
gtlds.forEach(tld => console.log(`  .${tld.tld}`));

console.log(`\nccTLDs (${cctlds.length}):`);
cctlds.forEach(tld => console.log(`  .${tld.tld}`));

Go

resp, err := http.Get("https://api.domainkit.bot/tlds")
if err != nil {
    log.Fatal(err)
}
defer resp.Body.Close()

var data struct {
    Count int `json:"count"`
    TLDs  []struct {
        TLD        string `json:"tld"`
        Type       string `json:"type"`
        RDAPServer string `json:"rdapServer"`
        Enabled    bool   `json:"enabled"`
    } `json:"tlds"`
}

json.NewDecoder(resp.Body).Decode(&data)

fmt.Printf("Supported TLDs: %d\n", data.Count)
for _, tld := range data.TLDs {
    fmt.Printf("  .%s (%s)\n", tld.TLD, tld.Type)
}

Notes

  • The TLD list is returned in alphabetical order
  • Use the type parameter to filter by gTLD or ccTLD
  • All listed TLDs support RDAP-based availability checking
  • The TLD list may expand as new TLDs are added
────────────────────────────────────────────────────────────────────────────────
📄 Raw markdown: /docs/api/tlds.md