WHOIS 查询 API
最后更新: 2026-10-15
GET https://whois.tcp.lc/v1/whois/{domain}
返回域名归一化后的注册信息:优先走注册局发布的 RDAP,注册局不发布时回退 WHOIS。无需 API Key。
该接口位于独立域名,遵循标准 HTTP 语义,不使用
/api/v2/系列的code信封。API 文档 中的通用约定不适用于本接口:成功为200,失败使用真实的 4xx / 5xx 状态码并返回error对象。
| 参数 | 位置 | 说明 |
|---|---|---|
domain |
路径 | 待查询域名,支持 IDN,不支持 IP 地址。 |
raw |
query | 传 true 时返回上游 RDAP/WHOIS 原始响应,而非归一化信封。 |
示例:
curl "https://whois.tcp.lc/v1/whois/example.com"
响应字段:
| 字段 | 说明 |
|---|---|
query |
收到的原始输入。 |
domain |
实际查询的可注册域名。 |
domainUnicode |
IDN 的 Unicode 形式,否则为 null。 |
id |
注册局分配的域名 ID(有数据时)。 |
tld |
顶级域。 |
isRegistered |
域名是否已注册。 |
registrar |
name、ianaId、url、whoisServer、abuseEmail、abusePhone、reseller。 |
status |
EPP 状态码。 |
nameservers |
name,以及顺带解析出的 ipv4 / ipv6 地址。 |
dnssec |
signed,以及 dsData(keyTag、algorithm、digestType、digest)。 |
dates |
created、updated、expires(ISO 8601)。 |
contacts |
registrant、admin、tech、billing;每项含 name、organization、email、phone、address 与 redacted。多数注册局会脱敏个人信息。 |
meta |
source(rdap 或 whois)、server、fetchedAt、cached。 |
未注册域名不算错误:仍返回 200,isRegistered 为 false、各字段为空。
原始响应
带 ?raw=true 时返回上游原始载荷而非归一化信封:注册局发布 RDAP 时为 RDAP JSON(application/rdap+json),否则为纯文本 WHOIS。
curl "https://whois.tcp.lc/v1/whois/example.com?raw=true"
错误
失败使用真实的 HTTP 状态码并返回 error 对象,含 code、message,有时还有 query、source、detail。
| 状态码 | error.code |
含义 |
|---|---|---|
| 400 | INVALID_DOMAIN |
输入无法解析为可注册域名。 |
| 429 | RATE_LIMITED |
超出限流。 |
| 501 | UNSUPPORTED_TLD |
该后缀没有可用的 RDAP 或 WHOIS 源。 |
| 504 | UPSTREAM_TIMEOUT |
上游注册局未及时响应。 |
被边缘限流时 429 可能是不带 error 对象的纯文本,需同时判断状态码。
限流
按客户端 IP,每分钟 10 次。超限返回 429,error.code 为 RATE_LIMITED。
成功结果可被缓存(Cache-Control: public),因此重复查询同一域名通常直接命中边缘缓存。