FreeTLD Intelligence API
Get TLD
GET/tlds/{tld}No key
One TLD in full: registry facts, phases, market, quality band and registrar prices.
A public-set TLD with its figures computed carries the website insight bundle without its name sample, news, description words and topics. Any other TLD answers its registry facts and phases, and its market on a paid subscription. A removed or terminated TLD is 404.
AccessNo key. Limited per address; a key adds the paid fields.
BillingOne call.
FormatsJSON
Request
tldstringRequiredPathThe ending without the dot (ai), ASCII or xn-- form; lowercased, a leading dot stripped.
fieldsstringOptionalQueryComma-separated top-level keys to keep; an unknown key answers 400 unsupported_field.
curl -X GET "https://api.unique.domains/v1/tlds/ai"
const response = await fetch("https://api.unique.domains/v1/tlds/ai", {
method: "GET",
});
const data = await response.json();
console.log(data);import requests
response = requests.get(
"https://api.unique.domains/v1/tlds/ai",
)
print(response.json())req, err := http.NewRequest("GET", "https://api.unique.domains/v1/tlds/ai", nil)
if err != nil {
panic(err)
}
res, err := http.DefaultClient.Do(req)$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => "https://api.unique.domains/v1/tlds/ai",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($ch);uri = URI("https://api.unique.domains/v1/tlds/ai")
request = Net::HTTP::Get.new(uri)
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request) }Response
slugstringregistryobjectphasesobject[]marketobjectqualityPublic-set TLDs only.
registrarsobject[]githubRepoUrlstringErrors
{
"data": {
"slug": "io",
"registry": {
"slug": "io",
"ianaStatus": "delegated",
"kind": "root",
"ianaType": "country-code",
"registryOperator": "Internet Computer Bureau Limited",
"registryCountryCode": "GB",
"isBrand": false,
"isIdn": false,
"delegatedOn": "1997-09-16",
"removedOn": null,
"contractTerminated": false
},
"phases": [],
"market": {
"computedAt": "2026-11-05T03:12:00.000Z",
"tracked": 182400,
"available": 61200,
"availableOneWord": 2210,
"resell": 18300,
"expiring90d": 7400,
"registrations90d": 3900,
"medianBuy": 42.5,
"medianRenew": 52.98,
"cheapestRegistrar": "cloudflare",
"sales12m": 1480,
"salesMedian12mUsd": 1650,
"salesTrend": "flat",
"salesMonthly": {
"from": "2025-11",
"counts": [
118,
122,
131,
109,
127,
140,
116,
119,
125,
121,
128,
124
]
}
},
"quality": "strong",
"registrars": [
{
"registrar": "namecheap",
"name": "Namecheap",
"homepageUrl": "https://www.namecheap.com",
"purchasePrice": 34.98,
"renewalPrice": 59.98,
"renewalTrap": false,
"cheapest": false
}
],
"githubRepoUrl": "https://github.com/uniquedomains/io-one-word-domains"
},
"meta": {
"asOf": "2026-11-05T08:00:00Z",
"cursor": null,
"limit": null
},
"links": {
"self": "https://api.unique.domains/v1/tlds/ai",
"next": null,
"register": null,
"product": null,
"dataset": null
}
}