Skip to content

批量历史流量预估

接口说明

该接口用于批量获取多个域名或子域名的历史月度流量预估数据,单次最多支持 1,000 个目标。可查询指定时间范围的数据,历史最早可追溯到 2020-10-01。如果未指定时间范围,默认返回最近 12 个月的数据。

除自然搜索流量预估外,响应中还可分别返回以下结果类型的流量数据:

  • 付费搜索(paid)
  • 精选摘要(featured_snippet)
  • 本地(local_pack)

流量预估值 etv 的计算逻辑为:目标域名在对应结果类型下所有已排名的点击率(CTR)与搜索量之积的汇总值。

请求地址

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

计费与限制

  • 本接口按请求计费
  • 实扣费以响应头 X-SeerMarTech-Charge-CNY 为准
  • 请求体使用 UTF-8 编码的 JSON
  • POST 请求体格式为 JSON 数组:[{ ... }]
  • 频率限制:
  • 每分钟最多 2000 次 API 调用
  • 最多 30 个并发请求

请求参数

任务对象字段说明

字段名类型说明
targetsarray目标域名或子域名,。填写时不要带 https://www.;最多支持 1000 个域名或子域名。
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
date_fromstring开始日期,可选。未传时默认取最近 12 个月。最早可填:2020-10-01。格式:yyyy-mm-dd
date_tostring结束日期,可选。未传时默认使用当天日期。格式:yyyy-mm-dd。示例:2021-04-01
ignore_synonymsboolean是否忽略高度相似,可选。设为 true 时返回核心数据,排除高度相似。默认值:false
item_typesarray按结果类型返回数据,可选。用于指定响应中哪些搜索结果类型。**注意:**如果数组中第一个值不是 organic,结果会按数组中的第一个结果类型排序。常见值:organicpaidfeatured_snippetlocal_pack
tagstring自定义任务标识,可选,最大 255 个字符。可用于在响应中识别和任务,返回时会出现在响应的 data 对象中。

响应结构

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

顶层字段

字段名类型说明
versionstring当前 API 版本
status_codeinteger接口通用状态码,完整列表参考 /v3/appendix/errors
status_messagestring接口通用状态信息,完整列表参考 /v3/appendix/errors
timestring执行耗时,单位秒
costfloat本次请求总费用
tasks_countintegertasks 数组中的任务数
tasks_errorinteger返回错误的任务数
tasksarray任务结果列表

tasks 数组字段

字段名类型说明
idstring任务唯一标识,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000,完整列表参考 /v3/appendix/errors
status_messagestring任务状态信息
timestring任务执行耗时
costfloat任务费用
result_countintegerresult 数组中的数量
patharray请求路径
dataobject与请求中提交的参数一致
resultarray结果列表

result 数组字段

字段名类型说明
se_typestring搜索引擎类型
location_codeinteger请求中的地区编码;如无数据则为 null
language_codestring请求中的语言代码;如无数据则为 null
total_countinteger数据库中与请求匹的总结果数
items_countintegeritems 数组中返回的结果数
itemsarray各目标域名的流量预估数据

items 数组字段

字段名类型说明
se_typestring搜索引擎类型
targetstring请求中的目标域名
metricsobject该域名对应的流量指标数据

metrics 对象字段

organic

自然搜索流量数据数组。

字段名类型说明
yearinteger数据所属年份
monthinteger数据所属月份
etvfloat预估月度自然搜索流量
countinteger含该域名的自然搜索 SERP 总数

付费搜索流量数据数组。

字段名类型说明
yearinteger数据所属年份
monthinteger数据所属月份
etvfloat预估月度付费搜索流量
countinteger含该域名的付费搜索 SERP 总数

精选摘要流量数据数组。

字段名类型说明
yearinteger数据所属年份
monthinteger数据所属月份
etvfloat预估月度精选摘要流量
countinteger含该域名的精选摘要结果总数

local_pack

本地流量数据数组。

字段名类型说明
yearinteger数据所属年份
monthinteger数据所属月份
etvfloat预估月度本地流量
countinteger含该域名的本地结果总数

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/dataforseo_labs/google/historical_bulk_traffic_estimation/live" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "targets": [
 "example.com",
 "cnn.com",
 "forbes.com"
 ],
 "location_code": 2840,
 "language_code": "en",
 "date_from": "2021-01-01",
 "date_to": "2021-03-29",
 "item_types": [
 "organic",
 "paid"
 ]
 }
]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/dataforseo_labs/google/historical_bulk_traffic_estimation/live"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

payload = [
 {
 "targets": [
 "example.com",
 "cnn.com",
 "forbes.com"
 ],
 "location_name": "United States",
 "language_name": "English",
 "date_from": "2021-01-01",
 "date_to": "2021-03-29",
 "item_types": [
 "organic",
 "paid"
 ]
 }
]

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

TypeScript

typescript
import axios from "axios";

const postData = [
 {
 targets: ["example.com", "cnn.com", "forbes.com"],
 location_code: 2840,
 language_name: "English",
 date_from: "2021-01-01",
 date_to: "2021-03-29",
 item_types: ["organic", "paid"]
 }
];

axios({
 method: "post",
 url: "https://api.seermartech.cn/v3/dataforseo_labs/google/historical_bulk_traffic_estimation/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.20230705",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.1397 sec.",
 "cost": 0.103,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.1200 sec.",
 "cost": 0.103,
 "result_count": 1,
 "path": [
 "v3",
 "dataforseo_labs",
 "google",
 "historical_bulk_traffic_estimation",
 "live"
 ],
 "data": {
 "api": "dataforseo_labs",
 "function": "historical_bulk_traffic_estimation",
 "se_type": "google",
 "targets": [
 "example.com",
 "cnn.com",
 "forbes.com"
 ],
 "location_code": 2840,
 "language_code": "en",
 "date_from": "2021-01-01",
 "date_to": "2021-03-29",
 "item_types": [
 "organic",
 "paid"
 ]
 },
 "result": [
 {
 "se_type": "google",
 "location_code": 2840,
 "language_code": "en",
 "total_count": 3,
 "items_count": 3,
 "items": [
 {
 "se_type": "google",
 "target": "cnn.com",
 "metrics": {
 "organic": [],
 "paid": [],
 "local_pack": null,
 "featured_snippet": null
 }
 },
 {
 "se_type": "google",
 "target": "example.com",
 "metrics": {
 "organic": [],
 "paid": [],
 "local_pack": null,
 "featured_snippet": null
 }
 },
 {
 "se_type": "google",
 "target": "forbes.com",
 "metrics": {
 "organic": [],
 "paid": [],
 "local_pack": null,
 "featured_snippet": null
 }
 }
 ]
 }
 ]
 }
 ]
}

状态码与错误处理

  • 顶层 status_code 表示整次请求的执行状态
  • tasks[].status_code 表示单个任务的执行状态
  • 建议同时校验:
  • HTTP 状态码
  • 顶层 status_code
  • 任务级 tasks[].status_code

常见成功状态:

状态码说明
20000请求成功

完整错误码与状态说明请参考 /v3/appendix/errors。生产环境中建议为参数错误、额度不足、频率限制、空结果等建立统一异常处理机制。

使用说明补

  • targets 中填写域名或子域名,不要带协议头和 www.
  • 若未传 location_code/location_namelanguage_code/language_name,系统会尝试返回所有可用地区或语言范围的数据
  • date_from 最早只能设置为 2020-10-01
  • 如果只自然流量,可将 item_types 设置为 ["organic"]
  • 如果需要观察自然流量与广告流量的结构变化,可设置 item_types["organic", "paid"]

实用场景

  • 监测站群流量趋势:批量拉取多个站点或子站的历史自然流量与付费流量,快速识别流量增长、下滑和季节性波动。
  • 评估竞品投放强度:对比竞品域名在 paidorganic 下的历史流量占比,判断 SEO 与广告投放策略变化。
  • 分析 SERP 特征机会:查看 featured_snippetlocal_pack 的历史流量表现,识别精选摘要或本地搜索机会。
  • 复盘算法或改版影响:结合指定时间区间,评估网站改版、调整或搜索引擎波动对各类流量的历史影响。
  • 支持客户月报与季度复盘:批量输出多个客户域名的月度流量预估数据,为 SEO 汇报、代理商复盘和趋势预测提供依据。

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