Accurate data on TLDs with a focus on which ones can actually be registered. Data pulled weekly
Browse the data at tld-data.com!
Methodology:
tldData.json
contains an array with an object for every TLD in the root zone. Each object has other properties shown in the below snippet assembled from multiple sources.
{
"generated": "2021-03-16T06:41:50-04:00",
"data": {
// TLD, no leading '.', unicode (not punycode)
"tld": "accenture",
// type of the TLD from IANA database
// ['generic', 'country-code', 'sponsored', 'infrastructure', 'generic-restricted', 'test']
// An explanation of each can be found: https://icannwiki.org/Generic_top-level_domain
"type": "generic",
// If present, is the generic TLD a generic brand TLD?
// More specifically, does the registry agreement for this TLD specify "Specification 13"
// or have an exemption to "Specification 9". Both of these prohibit the registry
// from giving domains to anyone but the registry and affiliates (no third parties).
"isBrand": true,
// If present, are there any restrictions for registering the TLD?
// Only checks for "Specification 12" currently (see notes in code)
// Not super accurate yet, and not currently implemented for ccTLDs!
"hasRestrictions": false,
// If the gTLD is NOT in General Availability (useful for filtering out domains
// that are too new)
// NOTE: This is NOT PARTICULARLY ACCURATE. This uses the end of the last listed
// period as there's no well-maintained public data source for this...
// NOTE: omitted on non-generic TLDs
"isNotInGeneralAvailability": false,
// The periods of the gTLD, in ISO8601 date format (no time)
"periods": [{
"name": "Sunrise",
"open": "2015-07-06",
"close": "2015-12-31"
}]
}
}
src/cli.js
prints data to stdout and takes previously found data from stdin (to reuse in certain portions to reduce HTTP requests).
You can run the command to generate all new data:
node -r esm --unhandled-rejections=strict src/cli.js --color > tldData.json
Or to reuse the old isBrand
and hasRestrictions
keys, you can run:
$ node -r esm --unhandled-rejections=strict src/cli.js --stdin --color < tldData.json > tldDataNew.json
$ mv -f tldDataNew.json tldData.json
Contributing for tld-data.com
can be found here.