Skip to content

Google 子域名分析(实时)

接口说明

该接口用于返回指定域名下的子域名列表,并提供这些子域名在自然搜索与付费搜索中的排名分布数据。同时,接口还会返回基于搜索量和展示量估算的子域名流量表现。

数据更新频率: 每周更新一次,最新更新时间可通过 /v3/dataforseo_labs/status/ 查询。

请求方式:

POST https://api.seermartech.cn/v3/dataforseo_labs/google/subdomains/live

计费与调用限制

  • 本接口按请求次数计费
  • 参考价约 ¥0.1616 / 次
  • 如果启用 include_clickstream_data=true,请求价格翻倍
  • 实扣费以响应头 X-SeerMarTech-Charge-CNY 为准

频率限制:

  • 每分钟最多 2000 次 API 调用
  • 最大并发请求数:30

请求体格式

所有 POST 数据应使用 JSON(UTF-8 编码),请求体格式为 JSON 数组:

json
[
 {
 "target": "example.com"
 }
]

你可以通过 limitoffsetfiltersorder_by 控制返回数量、分页、筛选和排序。


请求参数

字段类型说明
targetstring。目标网站的域名,不要 https://www.
location_namestring可选。地区完整名称。使用该字段时无需传 location_code。可通过 /v3/dataforseo_labs/locations_and_languages 获取可用地区。留空则返回所有地区数据。示例:United Kingdom
location_codeinteger可选。地区编码。使用该字段时无需传 location_name。可通过 /v3/dataforseo_labs/locations_and_languages 获取。留空则返回所有地区数据。示例:2840
language_namestring可选。语言完整名称。使用该字段时无需传 language_code。可通过 /v3/dataforseo_labs/locations_and_languages 获取。留空则返回所有语言数据。示例:English
language_codestring可选。语言编码。使用该字段时无需传 language_name。可通过 /v3/dataforseo_labs/locations_and_languages 获取。留空则返回所有语言数据。示例:en
item_typesarray可选。指定返回的搜索结果类型。若数组中 organic 以外的类型,结果将按数组中的第一个类型排序;且不能按未的结果类型进行筛选或排序
include_clickstream_databoolean可选。是否在结果中基于点击流的指标。设为 true 时,将返回 clickstream_etvclickstream_gender_distributionclickstream_age_distribution。默认 false。启用后价格翻倍
historical_serp_modestring可选。数据过滤模式。live:当前仍有排名的 SERP;lost:此前有排名但最近一次检查已丢失的 SERP;all:同时返回两类数据。默认 live
ignore_synonymsboolean可选。是否忽略高度相似。设为 true 时返回核心,排除高度相似。默认 false
filtersarray可选。结果筛选条件数组,最多 8 个条件。条件之间需使用逻辑运算符 and / or 连接。支持运算符:regexnot_regex<<=>>==<>innot_in
order_byarray可选。结果排序规则。可使用与 filters 相同的字段路径。排序方式:asc 升序,desc 降序。单次请求最多支持 3 条排序规则
limitinteger可选。返回结果最大数量。默认 100,最大 1000
offsetinteger可选。结果偏移量。默认 0。例如设为 10 时,将跳过前 10 条结果
tagstring可选。用户自定义任务标识,最长 255 字符。返回结果中的 data 对象会原样带回该值,便于请求与结果对应

filters 使用说明

filters 支持多条件组合,适合筛选备特定排名特征的子域名。

支持的逻辑和比较操作:

  • 逻辑运算:andor
  • 比较运算:regexnot_regex<<=>>==<>innot_in

示例:筛选“自然搜索排名第 1 位数量不为 0”或“自然搜索排名第 2-3 位数量不为 0”的子域名:

json
[
 ["metrics.organic.pos_1", "<>", 0],
 "or",
 ["metrics.organic.pos_2_3", "<>", 0]
]

更多筛选字段可参考 /v3/dataforseo_labs/filters


order_by 使用说明

order_by 用于结果排序,格式为字段路径加排序方向:

json
[
 "metrics.organic.etv,desc"
]

注意:

  • 单次请求最多 3 条排序规则
  • 如果 item_typesorganic 之外的类型,则结果会优按 item_types 中第一个类型排序

返回结果结构

接口返回 JSON 编码数据,顶层 tasks 数组。

顶层字段

字段类型说明
versionstring当前 API 版本
status_codeinteger通用状态码
status_messagestring通用状态消息
timestring执行耗时,单位秒
costfloat本次请求总费用,单位 USD
tasks_countintegertasks 数组中的任务数量
tasks_errorinteger返回错误的任务数量
tasksarray任务结果数组

tasks[] 字段

字段类型说明
idstring任务唯一标识,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000
status_messagestring任务状态消息
timestring任务执行耗时
costfloat当前任务费用,单位 USD
result_countintegerresult 数组数量
patharrayURL 路径
dataobject与请求体中提交参数一致
resultarray结果数组

result[] 字段

字段类型说明
se_typestring搜索引擎类型
targetstring请求中的目标域名
location_codeinteger请求中的地区编码
language_codestring请求中的语言编码
total_countinteger数据库中与请求匹的总结果数
items_countinteger本次 items 返回数量
itemsarray子域名及指标列表

items[] 字段

字段类型说明
se_typestring搜索引擎类型
subdomainstring返回的子域名
metricsobject子域名对应的排名与流量指标

metrics 指标说明

metrics 下会按不同结果类型返回对象,常见:

  • organic:自然搜索
  • paid:付费搜索
  • featured_snippet:精选摘要
  • local_pack:本地结果

这些对象的字段结构基本一致。

通用排名分布字段

以下字段适用于 organicpaidfeatured_snippetlocal_pack 等结果类型:

字段类型说明
pos_1integer排名第 1 的结果数量
pos_2_3integer排名第 2-3 的结果数量
pos_4_10integer排名第 4-10 的结果数量
pos_11_20integer排名第 11-20 的结果数量
pos_21_30integer排名第 21-30 的结果数量
pos_31_40integer排名第 31-40 的结果数量
pos_41_50integer排名第 41-50 的结果数量
pos_51_60integer排名第 51-60 的结果数量
pos_61_70integer排名第 61-70 的结果数量
pos_71_80integer排名第 71-80 的结果数量
pos_81_90integer排名第 81-90 的结果数量
pos_91_100integer排名第 91-100 的结果数量
etvfloat预估流量。基于 CTR 与搜索量估算的月度流量
countinteger含该子域名的结果总数
estimated_paid_traffic_costfloat将该流量通过付费搜索获取时的预估月成本,单位 USD
is_newinteger新增排名数量
is_upinteger排名上升的数量
is_downinteger排名下降的数量
is_lostinteger丢失排名的数量

点击流扩展字段

include_clickstream_data=true 时返回:

字段类型说明
clickstream_etvinteger基于点击流数据估算的流量
clickstream_gender_distributionobject基于点击流估算的性别分布
clickstream_gender_distribution.femaleinteger女性用户数量
clickstream_gender_distribution.maleinteger男性用户数量
clickstream_age_distributionobject基于点击流估算的年龄分布
clickstream_age_distribution.18-24integer18-24 岁用户数量
clickstream_age_distribution.25-34integer25-34 岁用户数量
clickstream_age_distribution.35-44integer35-44 岁用户数量
clickstream_age_distribution.45-54integer45-54 岁用户数量
clickstream_age_distribution.55-64integer55-64 岁用户数量

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/dataforseo_labs/google/subdomains/live" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "target": "example.com",
 "language_name": "English",
 "location_code": 2840,
 "filters": [
 ["metrics.organic.pos_1", "<>", 0],
 "or",
 ["metrics.organic.pos_2_3", "<>", 0]
 ]
 }
]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/dataforseo_labs/google/subdomains/live"
payload = [
 {
 "target": "example.com",
 "location_name": "United States",
 "language_name": "English",
 "filters": [
 ["metrics.organic.pos_1", "<>", 0],
 "or",
 ["metrics.organic.pos_2_3", "<>", 0]
 ]
 }
]
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json)

TypeScript

typescript
import axios from "axios";

const postData = [
 {
 target: "example.com",
 language_name: "English",
 location_code: 2840,
 filters: [
 ["metrics.organic.pos_1", "<>", 0],
 "or",
 ["metrics.organic.pos_2_3", "<>", 0]
 ]
 }
];

axios({
 method: "post",
 url: "https://api.seermartech.cn/v3/dataforseo_labs/google/subdomains/live",
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
 },
 data: postData
})
 .then((response) => {
 console.log(response.data);
 })
 .catch((error) => {
 console.error(error);
 });

响应示例

json
{
 "version": "0.1.20240514",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.1664 sec.",
 "cost": 0.0101,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "dataforseo_labs",
 "function": "subdomains",
 "se_type": "google",
 "target": "example.com",
 "language_name": "English",
 "location_code": 2840,
 "filters": [
 ["metrics.organic.pos_1", "<>", 0],
 "or",
 ["metrics.organic.pos_2_3", "<>", 0]
 ]
 },
 "result": [
 {}
 ]
 }
 ]
}

错误处理

  • 顶层 status_code 表示整次请求的总体状态
  • tasks[].status_code 表示单个任务的执行状态
  • 建议同时检查:
  • HTTP 状态码
  • 顶层 status_code
  • tasks_error
  • 各任务下的 tasks[].status_code

常见成功状态:

  • 20000:请求成功

完整错误码体系请参考 /v3/appendix/errors


使用建议

  1. 做量子域名盘点时,可不传地区和语言,以获取更广泛的数据覆盖。
  2. 做指定市场分析时,建议传 location_codelanguage_code,不同市场数据混合。
  3. 做高价值子域名排序时,可结合 order_bymetrics.organic.etv,desc 排序。
  4. 排查排名波动时,可 is_newis_upis_downis_lost 字段。
  5. 评估 SEO 商业价值时,可重点参考 etvestimated_paid_traffic_cost

实用场景

  • 盘点站群结构:识别某个主域名下哪些子域名备搜索可见性,帮助梳理、产品、博客、帮助中心等站点模块的 SEO 分工。
  • 筛选高流量子域名:按 metrics.organic.etv 排序,快速找出自然流量贡献最大的子域名,便于优与技术优化资源。
  • 监控排名波动子域名:结合 is_upis_downis_lost 识别近期波动明显的子域名,及时发现迁移、收录异常或算法影响。
  • 评估付费替代成本:利用 estimated_paid_traffic_cost 衡量自然流量的商业价值,为 SEO 投产出评估提供依据。
  • 分析受众画像差异:启用点击流数据后,可查看不同子域名的年龄与性别分布,帮助优化定位与市场投放策略。

统一入口:官网 · LLM API · 控制台