主题
域名 Whois 概览(旧版)
本接口使用 POST 方法,请求路径为:
/v3/dataforseo_labs/domain_whois_overview/live
> 说明:本接口为旧版容接口。新版接口的请求与响应结构已调整,如需使用新版能力,请参考 /v3/domain_analytics/whois/overview/live/。
本接口返回域名 Whois 信息,并补该域名在自然搜索结果和付费搜索结果中的排名、流量及流量价值数据。你可以通过筛选条件、分页参数和排序规则,查询符合条件的域名。
请求信息
- 请求方法:
POST - 请求地址:
https://api.seermartech.cn/v3/dataforseo_labs/domain_whois_overview/live - Content-Type:
application/json - 请求体格式: JSON 数组,使用 UTF-8 编码
- 单分钟请求上限: 2000 次
每个请求任务放在请求体数组中。单次请求最多返回 1000 个域名,默认返回 100 个域名。
认证
请求头中使用 Bearer Token:
http
Authorization: Bearer smt_live_YOUR_KEY计费
本接口按请求计费。扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
请求参数
请求体中的每个数组代表一个任务。
| 参数 | 类型 | 填 | 说明 |
|---|---|---|---|
limit | integer | 否 | 返回的最大域名数量。默认值为 100,最大值为 1000。 |
offset | integer | 否 | 结果偏移量。默认值为 0。例如设置为 10 时,跳过前 10 条结果并返回后续数据。 |
filters | array | 否 | 结果筛选条件。最多设置 8 个筛选条件,条件之间使用 and 或 or 连接。 |
order_by | array | 否 | 结果排序规则。可使用与 filters 相同的字段。支持升序 asc 和降序 desc,最多设置 3 条排序规则。 |
tag | string | 否 | 自定义任务标识,最长 255 个字符。该值会原样返回在响应的 data 对象中,可用于请求与结果。 |
filters 筛选规则
支持以下运算符:
text
<、<=、>、>=、=、<>、in、not_in、like、not_likelike 和 not_like 支持使用 % 匹任意数量的字符零个字符。
筛选条件格式:
json
["字段名", "运算符", "比较值"]多个条件示例:
json
[
["expiration_datetime", ">", "2021-02-15 01:00:00 +00:00"],
"and",
["domain", "like", "%seo%"],
"and",
["metrics.organic.pos_1", "<", 200]
]order_by 排序规则
排序项格式为:
text
字段名,排序方向示例:
json
[
"metrics.organic.pos_1,desc"
]请求示例
curl
bash
curl --location --request POST \
"https://api.seermartech.cn/v3/dataforseo_labs/domain_whois_overview/live" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"limit": 10,
"filters": [
["expiration_datetime", ">", "2021-02-15 01:00:00 +00:00"],
"and",
["domain", "like", "%seo%"],
"and",
["metrics.organic.pos_1", "<", 200]
],
"order_by": [
"metrics.organic.pos_1,desc"
],
"tag": "whois-overview-demo"
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/dataforseo_labs/domain_whois_overview/live"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
}
payload = [
{
"limit": 10,
"filters": [
["expiration_datetime", ">", "2021-02-15 01:00:00 +00:00"],
"and",
["domain", "like", "%seo%"],
"and",
["metrics.organic.pos_1", "<", 200],
],
"order_by": [
"metrics.organic.pos_1,desc",
],
"tag": "whois-overview-demo",
}
]
response = requests.post(url, headers=headers, json=payload, timeout=60)
result = response.json()
if result.get("status_code") == 20000:
print(result)
else:
print(
f"请求失败,错误码:{result.get('status_code')},"
f"错误信息:{result.get('status_message')}"
)TypeScript
typescript
import axios from "axios";
const url =
"https://api.seermartech.cn/v3/dataforseo_labs/domain_whois_overview/live";
const payload = [
{
limit: 10,
filters: [
["expiration_datetime", ">", "2021-02-15 01:00:00 +00:00"],
"and",
["domain", "like", "%seo%"],
"and",
["metrics.organic.pos_1", "<", 200],
],
order_by: ["metrics.organic.pos_1,desc"],
tag: "whois-overview-demo",
},
];
async function main() {
try {
const response = await axios.post(url, payload, {
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
});
const result = response.data;
if (result.status_code === 20000) {
console.log(result);
} else {
console.error(
`请求失败,错误码:${result.status_code},错误信息:${result.status_message}`,
);
}
} catch (error) {
console.error("网络请求失败:", error);
}
}
main();响应结构
响应为 JSON 对象, tasks 任务数组。
顶层字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本。 |
status_code | integer | 通用响应状态码。成功时通常为 20000。完整错误码请参考错误码文档。 |
status_message | string | 通用状态信息。 |
time | string | 请求执行耗时,单位为秒。 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
tasks_count | integer | tasks 数组中的任务总数。 |
tasks_error | integer | tasks 数组中返回错误的任务数量。 |
tasks | array | 任务结果数组。 |
tasks 任务字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,UUID 格式。 |
status_code | integer | 任务状态码,通常位于 10000 至 60000 范围。 |
status_message | string | 任务状态信息。 |
time | string | 任务执行耗时,单位为秒。 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
result_count | integer | result 数组中的数量。 |
path | array | 请求 URL 路径。 |
data | object | 请求中提交的任务参数。 |
result | array | 查询结果数组。 |
result 字段
| 字段 | 类型 | 说明 |
|---|---|---|
total_count | integer | 数据库中符合请求条件的结果总数。 |
items_count | integer | 本次返回的 items 数量。 |
items | array | 域名 Whois、排名和流量数据。 |
items 域名字段
| 字段 | 类型 | 说明 |
|---|---|---|
domain | string | 域名。 |
created_datetime | string | 域名首次注册时间,ISO 8601 格式。示例:1997-03-29 03:00:00 +00:00。 |
changed_datetime | string | 域名注册信息最后修改时间,ISO 8601 格式。 |
expiration_datetime | string | 域名预计到期时间,ISO 8601 格式。 |
updated_datetime | string | 域名信息最后更新时间,ISO 8601 格式。 |
first_seen | string | 本平台爬虫首次发现该域名的时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。 |
epp_status_codes | array | 域名扩展供应协议(EPP)状态码数组。 |
tld | string | 顶级域名,例如 com、jp。 |
registered | boolean | 域名是否已注册。值为 false 时表示域名注册已过期。过期域名只会在数据库中保留较短时间。 |
metrics | object | 域名对应的搜索排名与流量指标。 |
metrics.organic 自然搜索指标
该对象域名在自然搜索结果中的排名和流量数据。
| 字段 | 类型 | 说明 |
|---|---|---|
pos_1 | integer | 域名排名第 1 的自然搜索结果数量。 |
pos_2_3 | integer | 域名排名第 2 至第 3 位的自然搜索结果数量。 |
pos_4_10 | integer | 域名排名第 4 至第 10 位的自然搜索结果数量。 |
pos_11_20 | integer | 域名排名第 11 至第 20 位的自然搜索结果数量。 |
pos_21_30 | integer | 域名排名第 21 至第 30 位的自然搜索结果数量。 |
pos_31_40 | integer | 域名排名第 31 至第 40 位的自然搜索结果数量。 |
pos_41_50 | integer | 域名排名第 41 至第 50 位的自然搜索结果数量。 |
pos_51_60 | integer | 域名排名第 51 至第 60 位的自然搜索结果数量。 |
pos_61_70 | integer | 域名排名第 61 至第 70 位的自然搜索结果数量。 |
pos_71_80 | integer | 域名排名第 71 至第 80 位的自然搜索结果数量。 |
pos_81_90 | integer | 域名排名第 81 至第 90 位的自然搜索结果数量。 |
pos_91_100 | integer | 域名排名第 91 至第 100 位的自然搜索结果数量。 |
etv | float | 预估自然搜索流量。表示域名每月预估自然流量,通常根据域名排名的点击率(CTR)与搜索量乘积汇总计算。 |
impressions_etv | float | 基于展示次数估算的自然搜索流量。根据点击率(CTR)与展示次数乘积汇总计算。 |
count | integer | 含该域名的自然搜索结果总数。 |
estimated_paid_traffic_cost | float | 预估自然流量的付费获取成本。该指标根据自然流量 etv 与付费点击单价(CPC)估算,表示通过搜索广告获取相同规模月度流量的预估成本。 |
metrics.paid 付费搜索指标
该对象域名在付费搜索结果中的排名和流量数据。
| 字段 | 类型 | 说明 |
|---|---|---|
pos_1 | integer | 域名排名第 1 的付费搜索结果数量。 |
pos_2_3 | integer | 域名排名第 2 至第 3 位的付费搜索结果数量。 |
pos_4_10 | integer | 域名排名第 4 至第 10 位的付费搜索结果数量。 |
pos_11_20 | integer | 域名排名第 11 至第 20 位的付费搜索结果数量。 |
pos_21_30 | integer | 域名排名第 21 至第 30 位的付费搜索结果数量。 |
pos_31_40 | integer | 域名排名第 31 至第 40 位的付费搜索结果数量。 |
pos_41_50 | integer | 域名排名第 41 至第 50 位的付费搜索结果数量。 |
pos_51_60 | integer | 域名排名第 51 至第 60 位的付费搜索结果数量。 |
pos_61_70 | integer | 域名排名第 61 至第 70 位的付费搜索结果数量。 |
pos_71_80 | integer | 域名排名第 71 至第 80 位的付费搜索结果数量。 |
pos_81_90 | integer | 域名排名第 81 至第 90 位的付费搜索结果数量。 |
pos_91_100 | integer | 域名排名第 91 至第 100 位的付费搜索结果数量。 |
etv | float | 预估付费搜索流量。根据域名付费排名的点击率(CTR)与搜索量乘积汇总计算。 |
impressions_etv | float | 基于展示次数估算的付费搜索流量。根据点击率(CTR)与展示次数乘积汇总计算。 |
count | integer | 含该域名的付费搜索结果总数。 |
estimated_paid_traffic_cost | float | 预估月度付费搜索流量成本,根据 etv 与 CPC 估算。 |
响应示例
json
{
"version": "0.1.20210818",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.3871 sec.",
"cost": 0.102,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "01234567-89ab-cdef-0123-456789abcdef",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.3012 sec.",
"cost": 0.102,
"result_count": 1,
"path": [
"v3",
"dataforseo_labs",
"domain_whois_overview",
"live"
],
"data": {
"api": "dataforseo_labs",
"function": "domain_whois_overview",
"limit": 2,
"filters": [
["registered", "=", true]
],
"order_by": [
"metrics.organic.pos_1,desc"
]
},
"result": [
{
"total_count": 2,
"items_count": 2,
"items": [
{
"domain": "example.jp",
"created_datetime": "1997-03-29 03:00:00 +00:00",
"changed_datetime": "2021-01-14 08:36:28 +00:00",
"expiration_datetime": "2022-11-26 17:21:23 +00:00",
"updated_datetime": "2021-01-29 13:59:38 +00:00",
"first_seen": "2019-11-15 12:57:46 +00:00",
"epp_status_codes": [],
"tld": "jp",
"registered": true,
"metrics": {
"organic": {
"pos_1": 945,
"pos_2_3": 2483,
"pos_4_10": 11669,
"pos_11_20": 12219,
"pos_21_30": 11514,
"pos_31_40": 11475,
"pos_41_50": 11111,
"pos_51_60": 10366,
"pos_61_70": 9817,
"pos_71_80": 9030,
"pos_81_90": 8058,
"pos_91_100": 6153,
"etv": 661778.073982,
"impressions_etv": 3318.800902,
"count": 104840,
"estimated_paid_traffic_cost": 178460.033187
},
"paid": {
"pos_1": 0,
"pos_2_3": 0,
"pos_4_10": 0,
"pos_11_20": 0,
"pos_21_30": 0,
"pos_31_40": 0,
"pos_41_50": 0,
"pos_51_60": 0,
"pos_61_70": 0,
"pos_71_80": 0,
"pos_81_90": 0,
"pos_91_100": 0,
"etv": 0,
"impressions_etv": 0,
"count": 0,
"estimated_paid_traffic_cost": 0
}
}
}
]
}
]
}
]
}状态码与错误处理
请根据顶层 status_code 和任务级 status_code 判断请求是否成功:
20000:请求成功。- 状态码:请求或任务处理失败,应结合
status_message定位问题。
建议在客户端实现完善的异常处理机制,覆盖以下:
- HTTP 请求失败或时;
- 顶层任务提交失败;
- 单个任务返回错误;
- 返回结果为空;
- 响应字段缺失或类型不符合预期。
完整状态码列表请参考错误码文档。
实用场景
- 筛选即将到期且自然排名较强的域名,评估过期域名收购价值并发现潜在 SEO 资产。
- 比较多个域名的自然搜索排名分布和预估流量,支持竞品研究与市场规模判断。
- 识别同时拥有自然搜索和付费搜索排名的域名,分析竞争对手的整合营销覆盖。
- **
estimated_paid_traffic_cost排序域名,估算自然流量的广告替代价值并投放预算评估。** - 结合 Whois 注册时间、更新时间和首次发现时间筛选域名,支持域名历史审查与风险排查。