GET /tlds
List TLDs
Learn more: TLD List API — marketing overview, interactive browser, and use cases.
Get all top-level domains (TLDs) supported by RobotDomainSearch. TLDs are organized into 15 categories.
Endpoint
GET https://api.robotdomainsearch.com/tlds
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
type |
string | No | Filter by TLD type: gTLD or ccTLD |
category |
string | No | Filter by category (e.g., technology, business, top20) |
Request
Get all TLDs with categories:
curl "https://api.robotdomainsearch.com/tlds"
Filter by category:
curl "https://api.robotdomainsearch.com/tlds?category=technology"
Filter by type:
curl "https://api.robotdomainsearch.com/tlds?type=gTLD"
Default Response
Returns all categories and a full sorted TLD list:
{
"total": 511,
"categories": [
{
"name": "top20",
"label": "Top 20",
"description": "The most essential domain extensions",
"count": 20,
"tlds": ["com", "net", "org", "io", "ai", "co", "dev", "app", "xyz", "me", "tech", "info", "biz", "online", "site", "store", "cloud", "shop", "digital", "world"]
},
{
"name": "business",
"label": "Business",
"description": "Business and enterprise",
"count": 22,
"tlds": ["biz", "company", "enterprises", "inc", "llc", "ltd", "..."]
},
{
"name": "technology",
"label": "Technology",
"description": "Technology, software, and IT",
"count": 21,
"tlds": ["dev", "app", "tech", "io", "ai", "software", "digital", "cloud", "..."]
}
],
"all": ["academy", "accountant", "accountants", "agency", "ai", "app", "...", "xyz", "yoga"]
}
Category Filter Response
curl "https://api.robotdomainsearch.com/tlds?category=technology"
{
"total": 21,
"categories": [
{
"name": "technology",
"label": "Technology",
"description": "Technology, software, and IT",
"count": 21,
"tlds": ["dev", "app", "tech", "io", "ai", "software", "digital", "cloud", "systems", "network", "computer", "data", "engineering", "technology", "solutions", "science", "tools", "codes", "bot", "fyi", "box"]
}
]
}
Type Filter Response
The type filter returns a flat TLD list (backward compatible):
curl "https://api.robotdomainsearch.com/tlds?type=gTLD"
{
"total": 443,
"tlds": [
{
"tld": "academy",
"type": "gTLD",
"rdapServer": "rdap.identitydigital.services/rdap",
"categories": ["education"],
"enabled": true
},
{
"tld": "app",
"type": "gTLD",
"rdapServer": "pubapi.registry.google/rdap",
"categories": ["top20", "technology"],
"enabled": true
}
]
}
Response Fields
Default/Category Response
| Field | Type | Description |
|---|---|---|
total |
number | Total number of TLDs returned |
categories |
array | List of category objects |
categories[].name |
string | Category identifier (e.g., technology) |
categories[].label |
string | Display label (e.g., Technology) |
categories[].description |
string | Category description |
categories[].count |
number | Number of TLDs in the category |
categories[].tlds |
array | List of TLD strings in the category |
all |
array | All supported TLDs sorted alphabetically (default response only) |
Type Filter Response
| Field | Type | Description |
|---|---|---|
total |
number | Total number of TLDs returned |
tlds |
array | List of TLD info 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[].categories |
array | Categories this TLD belongs to |
tlds[].enabled |
boolean | Whether the TLD is currently enabled |
Categories
RobotDomainSearch organizes 511 TLDs into 15 categories:
| Category | Label | Description | Count |
|---|---|---|---|
top20 |
Top 20 | The most essential domain extensions | 20 |
business |
Business | Business and enterprise | 22 |
country |
Country Codes | Country and territory domains | 68 |
creative |
Creative | Arts, design, and media | 19 |
education |
Education | Education and learning | 12 |
finance |
Finance | Finance, banking, and cryptocurrency | 20 |
food |
Food & Drink | Food, beverages, and dining | 13 |
health |
Health | Health and wellness | 12 |
realestate |
Real Estate | Property and housing | 15 |
shopping |
Shopping | E-commerce and retail | 17 |
social |
Social | Community and relationships | 14 |
sports |
Sports | Sports and recreation | 16 |
technology |
Technology | Technology, software, and IT | 21 |
travel |
Travel | Travel and hospitality | 12 |
web |
Web & Internet | Web services and internet | 11 |
Note: Some TLDs appear in multiple categories (e.g.,
iois in bothtop20andtechnology).
Errors
| Code | Error | Description |
|---|---|---|
| 400 | invalid_type |
Type must be gTLD or ccTLD |
| 400 | invalid_category |
Unknown category name |
Code Examples
curl
# All TLDs with categories
curl "https://api.robotdomainsearch.com/tlds"
# Single category
curl "https://api.robotdomainsearch.com/tlds?category=technology"
# Filter by type
curl "https://api.robotdomainsearch.com/tlds?type=ccTLD"
Python
import requests
# Get all categories
response = requests.get("https://api.robotdomainsearch.com/tlds")
data = response.json()
print(f"Total TLDs: {data['total']}")
print(f"Categories: {len(data['categories'])}")
for cat in data["categories"]:
print(f"\n{cat['label']} ({cat['count']} TLDs):")
print(f" {', '.join(cat['tlds'][:5])}...")
# Get a specific category
response = requests.get(
"https://api.robotdomainsearch.com/tlds",
params={"category": "technology"}
)
tech = response.json()
print(f"\nTechnology TLDs: {tech['categories'][0]['tlds']}")
JavaScript
// Get all categories
const response = await fetch("https://api.robotdomainsearch.com/tlds");
const data = await response.json();
console.log(`Total TLDs: ${data.total}`);
console.log(`Categories: ${data.categories.length}`);
data.categories.forEach(cat => {
console.log(`${cat.label}: ${cat.count} TLDs`);
});
// Get a specific category
const techResponse = await fetch("https://api.robotdomainsearch.com/tlds?category=technology");
const tech = await techResponse.json();
console.log("Technology TLDs:", tech.categories[0].tlds);
Go
resp, err := http.Get("https://api.robotdomainsearch.com/tlds")
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
var data struct {
Total int `json:"total"`
Categories []struct {
Name string `json:"name"`
Label string `json:"label"`
Description string `json:"description"`
Count int `json:"count"`
TLDs []string `json:"tlds"`
} `json:"categories"`
All []string `json:"all"`
}
json.NewDecoder(resp.Body).Decode(&data)
fmt.Printf("Total TLDs: %d\n", data.Total)
for _, cat := range data.Categories {
fmt.Printf(" %s: %d TLDs\n", cat.Label, cat.Count)
}
Notes
- The default response includes all categories and a sorted list of all TLDs
- Category filtering returns only the matching category
- Type filtering returns a flat list of TLD objects (backward compatible)
- Some TLDs belong to multiple categories
- The TLD list may expand as new TLDs are added
📄 Raw markdown: /docs/api/tlds.md