dotld

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

dotld — Domain Availability & Pricing

dotld — 域名可用性与价格查询

Installation

安装

If
dotld
is not already available on the machine, install it:
bash
curl -fsSL https://raw.githubusercontent.com/tedstonne/dotld/main/scripts/install.sh | bash
如果设备上还没有
dotld
,可以执行以下命令安装:
bash
curl -fsSL https://raw.githubusercontent.com/tedstonne/dotld/main/scripts/install.sh | bash

Prerequisites

前置要求

dotld requires a Dynadot production API key. The key is resolved in this order:
  1. --dynadot-key <key>
    flag (also auto-saves to config for future runs)
  2. DYNADOT_API_PRODUCTION_KEY
    environment variable
  3. Saved config at
    ~/.config/dotld/config.json
If the key is missing, dotld exits with an error and a link to the key page.
dotld需要Dynadot生产环境API密钥,密钥会按以下优先级读取:
  1. --dynadot-key <key>
    参数(同时会自动保存到配置中供后续使用)
  2. DYNADOT_API_PRODUCTION_KEY
    环境变量
  3. 保存在
    ~/.config/dotld/config.json
    的配置文件
如果缺少密钥,dotld会报错退出并返回密钥申请页面的链接。

Modes of Operation

运行模式

Exact domain lookup

精确域名查询

When the input contains a dot, dotld checks that specific domain:
bash
dotld example.com
Output:
example.com · Taken
Or if available:
example.com · $9.99 · https://www.dynadot.com/domain/search?domain=example.com&rscreg=github
当输入包含点号时,dotld会查询指定的域名:
bash
dotld example.com
输出:
example.com · Taken
如果域名可注册的话输出如下:
example.com · $9.99 · https://www.dynadot.com/domain/search?domain=example.com&rscreg=github

Keyword 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 acme
Output:
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  · Taken
当输入不含点号时,dotld会自动扩展匹配9个主流顶级域名:com、net、org、io、ai、co、app、dev、sh:
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  · Taken

Multiple domains at once

批量查询多个域名

Pass multiple arguments or use
--file
:
bash
dotld acme.com startup.io mybrand

dotld --file domains.txt
可以传入多个参数或者使用
--file
参数:
bash
dotld acme.com startup.io mybrand

dotld --file domains.txt

Output Interpretation

输出说明

  • domain · Taken
    — registered, not available
  • domain · $39.99 · https://...
    — available with registration price and buy link
  • Prices are in USD
  • domain · Taken
    — 域名已被注册,不可用
  • domain · $39.99 · https://...
    — 域名可注册,附带注册价格和购买链接
  • 价格单位为美元

Flags

参数说明

FlagDescription
--json
Output structured JSON instead of the tree table
--file <path>
Read domains from a file (one per line)
--dynadot-key <key>
Provide API key (auto-saved to config)
--timeout <duration>
Request timeout, e.g.
5s
,
500ms
(default:
10s
)
--currency USD
Currency for prices (only USD supported in v1)
参数描述
--json
输出结构化JSON格式,而非树形表格
--file <path>
从文件中读取要查询的域名(每行一个)
--dynadot-key <key>
传入API密钥(自动保存到配置)
--timeout <duration>
请求超时时间,例如
5s
500ms
(默认值:
10s
--currency USD
价格货币单位(v1版本仅支持USD)

Workflow Guidance

使用流程指南

User has a specific domain → run exact lookup:
bash
dotld coolstartup.com
User has a brand name or keyword → run keyword expansion:
bash
dotld coolstartup
User wants to brainstorm → suggest name variations, then batch-check them:
bash
dotld coolstartup launchpad rocketship
Present 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.txt
Structured output → when parsing results programmatically:
bash
dotld acme --json
用户有明确要查询的域名 → 运行精确查询:
bash
dotld coolstartup.com
用户有品牌名或关键词 → 运行关键词扩展查询:
bash
dotld coolstartup
用户想要头脑风暴域名 → 建议名称变体,然后批量查询:
bash
dotld coolstartup launchpad rocketship
按优先级展示结果:按价格排序展示可用域名,包含购买链接。建议后续操作:打开购买链接、查询更多顶级域名、尝试名称变体。
从文件批量查询 → 当用户有域名列表时使用:
bash
dotld --file domains.txt
结构化输出 → 当需要程序解析结果时使用:
bash
dotld acme --json

Examples

示例

Check if a domain is taken

查询域名是否已被注册

bash
$ dotld example.com
example.com · Taken
bash
$ dotld example.com
example.com · Taken

Explore 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  · Taken
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  · Taken

JSON output for scripting

输出JSON格式用于脚本处理

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"
    }
  ]
}
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"
    }
  ]
}