dotld
Original:🇺🇸 English
Translated
Search domain name availability and registration prices. Use when the user mentions domains, TLDs, domain registration, domain availability, or wants to find, check, or brainstorm domain names. Runs the dotld CLI to query the Dynadot API for real-time pricing and availability.
3installs
Sourcetedstonne/dotld
Added on
NPX Install
npx skill4agent add tedstonne/dotld dotldTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →dotld — Domain Availability & Pricing
Installation
If is not already available on the machine, install it:
dotldbash
curl -fsSL https://raw.githubusercontent.com/tedstonne/dotld/main/scripts/install.sh | bashPrerequisites
dotld requires a Dynadot production API key. The key is resolved in this order:
- flag (also auto-saves to config for future runs)
--dynadot-key <key> - environment variable
DYNADOT_API_PRODUCTION_KEY - Saved config at
~/.config/dotld/config.json
Get a key at: https://www.dynadot.com/account/domain/setting/api.html
If the key is missing, dotld exits with an error and a link to the key page.
Modes of Operation
Exact domain lookup
When the input contains a dot, dotld checks that specific domain:
bash
dotld example.comOutput:
example.com · TakenOr if available:
example.com · $9.99 · https://www.dynadot.com/domain/search?domain=example.com&rscreg=githubKeyword expansion
When the input has no dot, dotld auto-expands across 9 popular TLDs — com, net, org, io, ai, co, app, dev, sh:
bash
dotld acmeOutput:
acme
├─ acme.com · Taken
├─ acme.net · Taken
├─ acme.org · Taken
├─ acme.io · $39.99 · https://www.dynadot.com/domain/search?domain=acme.io&rscreg=github
├─ acme.ai · Taken
├─ acme.co · Taken
├─ acme.app · Taken
├─ acme.dev · Taken
└─ acme.sh · TakenMultiple domains at once
Pass multiple arguments or use :
--filebash
dotld acme.com startup.io mybrand
dotld --file domains.txtOutput Interpretation
- — registered, not available
domain · Taken - — available with registration price and buy link
domain · $39.99 · https://... - Prices are in USD
Flags
| Flag | Description |
|---|---|
| Output structured JSON instead of the tree table |
| Read domains from a file (one per line) |
| Provide API key (auto-saved to config) |
| Request timeout, e.g. |
| Currency for prices (only USD supported in v1) |
Workflow Guidance
User has a specific domain → run exact lookup:
bash
dotld coolstartup.comUser has a brand name or keyword → run keyword expansion:
bash
dotld coolstartupUser wants to brainstorm → suggest name variations, then batch-check them:
bash
dotld coolstartup launchpad rocketshipPresent results as a ranked list: show available domains sorted by price, include buy links. Suggest next steps — open a buy link, check more TLDs, try name variations.
Batch from file → when the user has a list:
bash
dotld --file domains.txtStructured output → when parsing results programmatically:
bash
dotld acme --jsonExamples
Check if a domain is taken
bash
$ dotld example.com
example.com · TakenExplore TLDs for a keyword
bash
$ dotld acme
acme
├─ acme.com · Taken
├─ acme.net · Taken
├─ acme.org · Taken
├─ acme.io · $39.99 · https://www.dynadot.com/domain/search?domain=acme.io&rscreg=github
├─ acme.ai · Taken
├─ acme.co · Taken
├─ acme.app · Taken
├─ acme.dev · Taken
└─ acme.sh · TakenJSON output for scripting
bash
$ dotld example.com --json
{
"results": [
{
"domain": "example.com",
"available": false,
"price": null,
"currency": "USD",
"buyUrl": null,
"cached": false,
"quotedAt": "2026-02-21T00:00:00.000Z"
}
]
}