API 文档
最后更新: 2026-10-10
TCPLab API 提供与网页工具相同的网络查询能力,无需 API Key。
通用说明
- 接口地址:
https://tcp.lc,JSON 接口位于/api/v2/下;另有/与/text两个纯文本接口。 - 所有 JSON 响应 HTTP 状态码恒为 200,业务状态以
code字段为准:200成功,-1000失败。 - 失败时
msg为稳定的错误标识(如api.param.ip.invalid),data.args可能携带细节。 - 允许跨域调用(
Access-Control-Allow-Origin: *)。
纯文本接口
以下两个接口返回 text/plain 而非 JSON,面向命令行使用;结果与请求者绑定,均带 Cache-Control: no-store。
GET / —— 首页。当 User-Agent 以 curl/ 开头时,直接返回访客 IP 而非 HTML 页面;其它客户端仍得到正常页面。IPv6 镜像站 v6.tcp.lc 则返回访客的 IPv6 地址(仅解析 AAAA,需本机支持 IPv6)。
# IPv4
curl tcp.lc
# IPv6
curl v6.tcp.lc
203.0.113.7
GET /text —— 返回访客自身 IP 与归属地,单行输出 {ip},{归属地}。归属地按「国家 · 省 · 市 · 区 · 运营商」合并,跳过空值;国家名为英文,国内省市名称来自中文库、保持中文。内网 / 保留地址只返回 IP,不留悬空逗号;行尾带换行。
# IPv4
curl tcp.lc/text
# IPv6
curl v6.tcp.lc/text
8.8.8.8,United States
114.114.114.114,China · 江苏 · 南京 · 114DNS
2001:4860:4860::8888,United States
IP 查询
GET /api/v2/ip/{target}
查询 IPv4/IPv6 地址的归属信息;传入域名时会先解析,再查询优先地址。
| 参数 | 位置 | 说明 |
|---|---|---|
target |
路径 | IPv4/IPv6 地址或域名。 |
lang |
query | en(默认)或 zh,控制国家 / 省 / 市名称的语言。 |
示例:
curl "https://tcp.lc/api/v2/ip/8.8.8.8?lang=zh"
响应 data 字段:
| 字段 | 说明 |
|---|---|
target |
输入的查询目标(域名或 IP)。 |
ip |
实际查询的地址。 |
version |
4 或 6。 |
addresses |
域名解析出的地址列表(直接查询 IP 时为空数组)。 |
source |
数据来源:TCPLab、geocn 或 geolite2。 |
isDomestic |
是否属于中国网络。 |
country、countryName |
ISO 3166-1 alpha-2 国家代码与本地化名称。 |
province、city、district |
省 / 市 / 区名称(有数据时)。 |
isp、type |
运营商与网络类型(主要为国内地址)。 |
adcode |
行政区划代码。 |
longitude、latitude、timezone |
经纬度与时区(有数据时)。 |
常见错误:api.param.ip.invalid、api.param.ip.private、api.param.name.invalid、api.notfound.domain。
我的 IP
GET /api/v2/myip
返回调用者自身 IP 的归属信息。地址取自请求本身,不支持查询任意目标;响应 data 字段与「IP 查询」一致(target 与 addresses 为空),且始终带 Cache-Control: no-store。
| 参数 | 位置 | 说明 |
|---|---|---|
lang |
query | en(默认)或 zh,控制国家 / 省 / 市名称的语言。 |
示例:
curl "https://tcp.lc/api/v2/myip?lang=zh"
内网 / 保留地址返回 code: -1000,msg 为 api.param.ip.private,data.args.ip 为实际地址。
DNS 查询
POST /api/v2/dns/query,请求头需带 Content-Type: application/json
| 参数 | 说明 |
|---|---|
name |
待查询域名,不支持 IP 字面量与通配符。 |
type |
记录类型:A(默认)、AAAA、CNAME、TXT、MX、NS。 |
server |
解析服务器:cloudflare(默认)、google、quad9、alidns、dnspod、volcengine。 |
示例:
curl -X POST "https://tcp.lc/api/v2/dns/query" \
-H "Content-Type: application/json" \
-d '{"name":"example.com","type":"A"}'
响应 data 字段:name、type、解析器 server(key / label / ip)、elapsed(毫秒)、rcode 与 records。每条记录包含 name、type、ttl、value,MX 记录额外带 priority,TXT 记录额外带 segments。
常见错误:api.param.name.invalid、api.param.name.ip_unsupported、api.notfound.domain、api.upstream.timeout。
限流
限流按客户端 IP 计算,所有请求(包括失败的请求)都计入配额。
| 接口 | 限制 |
|---|---|
| IP 查询 | 每分钟 60 次、每天 1000 次 |
| 我的 IP | 每分钟 60 次、每天 1000 次 |
| DNS 查询 | 每天 50 次 |
超限时返回 code: -1000,msg 为 api.rate.limited 或 api.rate.limitedDaily,并带 Retry-After 响应头(秒)。每日额度按 UTC+8 零点重置。