域名交易市场 API 参数详解与接入最佳实践

📅 2026/7/11 20:37:03 👁️ 阅读次数 📝 编程学习
域名交易市场 API 参数详解与接入最佳实践

适用场景

域名交易市场为站长、域名投资人及行业研究人员提供从 EDNS 公开交易数据中获取域名列表、用量说明、交易类型等信息的便捷途径。常见场景包括:

  • 扫货短米:通过max_lengthmax_price筛选出用量说明合理、长度较短的域名,用于建站或转售。
  • 行业研究:按后缀(如.com.cn)和交易类型(一口价、竞拍)统计市场成交活跃度。
  • 行情监测:定期轮询接口,结合sale_typeprice构建用量说明趋势预警。

接口能力边界

  • 接口限速QPS 5,即每秒最多请求 5 次,超出将返回 429 Too Many Requests。
  • 每次最多返回 100 条记录(pagesize ≤ 100),总页数由服务端动态计算。
  • 支持的筛选维度包括用量说明上限、域名长度上限、后缀和交易类型,均为可选参数。
  • 数据为公开的 EDNS 域名交易市场快照,不承诺实时性,部分最近成交记录可能存在延迟。

鉴权方式

所有请求必须在 HTTP 头部携带X-API-Key,值为从控制台获取的 API 密钥。示例:

X-API-Key: your_actual_api_key

密钥需妥善保管,不要硬编码在公开代码仓库中。推荐使用环境变量注入。

参数详解

参数名类型必填默认值说明
pagenumber1页码,从 1 开始
pagesizenumber50每页条数,最大值 100
max_pricenumber筛选用量说明≤该值的域名(单位:元)
max_lengthnumber筛选域名长度≤该值(不含后缀)
suffixstring指定后缀,如.com.net
sale_typestring交易类型,如一口价竞拍

注意:参数值不应包含特殊符号,suffix 带点号。若传入不存在的交易类型,接口仍会返回结果但可能为空。

可复制的 curl 请求示例

以下示例演示获取第 2 页、每页 30 条、用量说明不超过 1000、后缀为.com的一口价域名:

# 替换 YOUR_API_KEY 为真实密钥 curl -sS \ -X GET \ -H "X-API-Key: YOUR_API_KEY" \ "https://v1.apizero.cn/api/domain-trade?page=2&pagesize=30&max_price=10000&suffix=.com&sale_type=一口价"

返回体示例(JSON):

{ "code": 0, "data": { "count": 30, "current_page": 2, "list": [ { "name": "short.io", "price": "3200", "sale_type": "一口价" }, { "name": "mybox.com", "price": "8900", "sale_type": "一口价" } ], "total_pages": 50 }, "msg": "成功" }

返回值解读

顶层字段说明:

  • code:业务状态码,0表示成功,非0表示错误。
  • msg:描述信息,成功时通常为“成功”。
  • data:分页数据对象,包含count(当前页实际条数)、current_page(当前页码)、list(域名列表)、total_pages(总页数)。

list中每项字段:

字段名类型说明
namestring域名全名(含后缀)
pricestring用量说明,单位为元(字符串)
sale_typestring交易类型:一口价 / 竞拍等

注意price使用字符串而非数值,因为部分用量说明可能包含小数或较长数字,前端展示或比较时需转为数值。

常见错误处理

HTTP 状态码可能原因解决方式
401 UnauthorizedAPI Key 缺失或无效检查X-API-Key是否正确设置
429 Too Many Requests超过 QPS 限制降低请求频率,加入退避策略
400 Bad Request参数非法(如 pagesize > 100)校验参数范围
500 Internal Server Error服务端异常等待后重试,若持续发生请联系技术支持

业务错误(返回code != 0):

  • code=1001:参数格式错误(如 page 为负数)。
  • code=1002:后缀格式不正确(缺少点号等)。
  • code=1003:交易类型不在允许列表中(以文档为准)。

工程化注意事项

  1. 并发控制:QPS 5 意味着不推荐使用单进程同步循环请求。若需采集多页数据,应使用令牌桶或信号量限制并发,例如每秒只发起 5 个请求。
  2. 分页遍历策略:获取total_pages后,逐页请求,但应合理设置pagesize以减少请求次数。推荐 pagesize=100。
  3. 重试与容错:对 429 和 5xx 实现指数退避重试(如初始等待 1 秒,最多 3 次)。
  4. 数据存储:用量说明字段建议以分或毫为单位存储整型,避免浮点误差。若保留字符串,比较时需转换为 float 或 Decimal。
  5. 缓存:域名交易数据变动不频繁,可为相同查询条件设置短时缓存(如 60 秒),降低接口调用次数。
  6. 安全:API Key 不要泄露在客户端代码中。服务端调用时使用环境变量或在配置中心管理。

代码接入示例(Python)

import requests import os API_KEY = os.environ.get("APIZERO_API_KEY") BASE_URL = "https://v1.apizero.cn/api/domain-trade" params = { "page": 1, "pagesize": 50, "max_price": 5000, "suffix": ".com" } headers = {"X-API-Key": API_KEY} resp = requests.get(BASE_URL, params=params, headers=headers) if resp.status_code == 200: data = resp.json() if data["code"] == 0: for domain in data["data"]["list"]: print(f"{domain['name']}: {domain['price']} 元 ({domain['sale_type']})") else: print("业务错误:", data["msg"]) else: print("HTTP 错误:", resp.status_code)

参考文档

  • 官方 API 文档:https://apizero.cn/aidocs/domain-trade
  • 原始 Markdown 文档:https://apizero.cn/aidocs/domain-trade/raw.md

(注:如文档版本更新,请以最新版本为准。)