主题
Bing 页面(Live)
接口说明
该接口用于获取指定域名在 Bing 搜索中的页面数据:
- 各页面的排名分布
- 来自自然搜索与付费搜索的预估月流量
- 页面排名变化(新增、上升、下降、丢失)
数据按周更新,最近一次更新时间可通过 /v3/dataforseo_labs/status/ 查询。
接口地址
POST https://api.seermartech.cn/v3/dataforseo_labs/bing/relevant_pages/live
计费说明
该接口按请求计费。
参考价约 ¥0.1680 / 次。 扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
请求说明
- 请求方法:
POST - 请求体格式:
JSON - 编码:
UTF-8 - 请求体为 JSON 数组:
[{ ... }] - 支持的调用频率:最多
2000次/分钟 - 最大并发请求数:
30
该接口支持:
- 限制返回结果数量
- 结果过滤
- 结果排序
请求参数
| 字段 | 类型 | 说明 |
|---|---|---|
target | string | 填。目标网站域名。请勿 https:// 和 www. |
location_name | string | 可选。地区名。使用该字段时无需传 location_code。可通过 /v3/dataforseo_labs/locations_and_languages 获取支持的地区列表。留空表示返回所有可用地区的数据。注意:当前该接口支持美国地区。示例:United States |
location_code | integer | 可选。地区编码。使用该字段时无需传 location_name。可通过 /v3/dataforseo_labs/locations_and_languages 获取。留空表示返回所有可用地区的数据。注意:当前该接口支持美国地区。示例:2840 |
language_name | string | 可选。语言名。使用该字段时无需传 language_code。可通过 /v3/dataforseo_labs/locations_and_languages 获取支持的语言列表。留空表示返回所有可用语言的数据。示例:English |
language_code | string | 可选。语言编码。使用该字段时无需传 language_name。可通过 /v3/dataforseo_labs/locations_and_languages 获取。留空表示返回所有可用语言的数据。示例:en |
item_types | array | 可选。指定返回的搜索结果类型。**注意:**如果数组中非 organic 的类型,结果将按数组中的第一个类型排序;未在 item_types 中的结果类型将无法用于排序和过滤。 |
limit | integer | 可选。返回页面的最大数量。默认值:100;最大值:1000 |
offset | integer | 可选。结果偏移量。默认值:0。例如设为 10 时,将跳过前 10 个页面,从第 11 个开始返回 |
historical_serp_mode | string | 可选。数据筛选模式:live 表示返回目标域名当前仍有排名的 SERP;lost 表示返回曾有排名但最近一次检查未出现的 SERP;all 表示同时返回两类。默认值:live |
ignore_synonyms | boolean | 可选。是否忽略高度相似。设为 true 时返回核心,排除高度相似。默认值:false |
filters | array | 可选。结果过滤条件数组,最多支持 8 个过滤条件。条件之间需使用逻辑运算符 and / or 连接。支持的运算符:regex、not_regex、<、<=、>、>=、=、<>、in、not_in、match、not_match |
order_by | array | 可选。结果排序规则。可使用与 filters 相同的字段路径。排序方式支持:asc(升序)、desc(降序)。单次请求最多设置 3 条排序规则。**注意:**如果 item_types 中非 organic 类型,结果将按数组中的第一个类型排序 |
tag | string | 可选。用户自定义任务标识,最长 255 个字符。响应中的 data 对象会原样返回该值,便于任务追踪 |
item_types 可用值
该参数用于指定要返回的搜索结果类型。结合响应结构可知,常见可用类型:
organicpaidfeatured_snippetlocal_pack
filters 示例
筛选出自然搜索排名中处于第 1 位或第 2-3 位的页面:
json
[
["metrics.organic.pos_1", "<>", 0],
"or",
["metrics.organic.pos_2_3", "<>", 0]
]order_by 示例
按自然搜索预估流量从高到低排序:
json
[
["metrics.organic.etv", "desc"]
]按自然搜索第 1 位数量降序、再按第 2-3 位数量降序:
json
[
["metrics.organic.pos_1", "desc"],
["metrics.organic.pos_2_3", "desc"]
]请求示例
cURL
bash
curl --location --request POST "https://api.seermartech.cn/v3/dataforseo_labs/bing/relevant_pages/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]
],
"limit": 5
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/dataforseo_labs/bing/relevant_pages/live"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
data = [
{
"target": "example.com",
"location_name": "United States",
"language_name": "English",
"filters": [
["metrics.organic.pos_1", "<>", 0],
"or",
["metrics.organic.pos_2_3", "<>", 0]
],
"limit": 5
}
]
response = requests.post(url, json=data, headers=headers)
print(response.json)TypeScript
typescript
import axios from "axios";
const postData = [
{
target: "example.com",
location_name: "United States",
language_name: "English",
filters: [
["metrics.organic.pos_1", "<>", 0],
"or",
["metrics.organic.pos_2_3", "<>", 0]
],
limit: 5
}
];
axios({
method: "post",
url: "https://api.seermartech.cn/v3/dataforseo_labs/bing/relevant_pages/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 对象,顶层 tasks 数组。
顶层字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本 |
status_code | integer | 通用状态码。完整列表见 /v3/appendix/errors |
status_message | string | 通用状态信息 |
time | string | 执行耗时,单位秒 |
cost | float | 本次所有任务总费用,单位 USD |
tasks_count | integer | tasks 数组中的任务数量 |
tasks_error | integer | 返回错误的任务数量 |
tasks | array | 任务结果数组 |
tasks[] 字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,UUID 格式 |
status_code | integer | 任务状态码,范围通常为 10000-60000 |
status_message | string | 任务状态信息 |
time | string | 任务执行耗时 |
cost | float | 当前任务费用,单位 USD |
result_count | integer | result 数组中的数量 |
path | array | URL 路径 |
data | object | 原样返回请求中提交的参数 |
result | array | 结果数组 |
result[] 字段
| 字段 | 类型 | 说明 |
|---|---|---|
se_type | string | 搜索引擎类型 |
target | string | 请求中的目标域名 |
location_code | integer | 请求中的地区编码;无数据时为 null |
language_code | string | 请求中的语言编码;无数据时为 null |
total_count | integer | 数据库中与当前请求的结果总数 |
items_count | integer | 当前 items 数组返回的结果数 |
items | array | 页面及指标数据 |
items[] 字段
| 字段 | 类型 | 说明 |
|---|---|---|
se_type | string | 搜索引擎类型 |
page_address | string | 页面的绝对 URL |
metrics | object | 页面排名与流量指标 |
metrics 指标说明
metrics 下会按搜索结果类型返回对应对象,如:
organicpaidfeatured_snippetlocal_pack
每个对象都相同结构的指标字段。
通用排名分布字段
| 字段 | 类型 | 说明 |
|---|---|---|
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 | 预估流量 |
count | integer | 含该页面的结果总数 |
estimated_paid_traffic_cost | float | 将当前流量通过付费投放获取的预估成本,单位 USD |
is_new | integer | 新增排名数量 |
is_up | integer | 排名上升的数量 |
is_down | integer | 排名下降的数量 |
is_lost | integer | 丢失排名的数量 |
各类型含义
metrics.organic
自然搜索下的排名和流量数据:
etv:页面预估自然月流量- 计算方式:页面所排名的搜索量与 CTR 的乘积汇总
estimated_paid_traffic_cost:如果用 PPC 广告去获取这部分自然流量,对应的预估月成本
metrics.paid
付费搜索下的排名和流量数据:
etv:页面预估付费月流量estimated_paid_traffic_cost:基于cpc与etv计算出的付费月流量成本
metrics.featured_snippet
Bing SERP 中精选摘要结果的排名与流量数据。
metrics.local_pack
SERP 本地结果中的排名与流量数据。
响应示例
json
{
"version": "0.1.20220216",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.1601 sec.",
"cost": 0.0105,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "12345678-1234-1234-1234-1234567890ab",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.1200 sec.",
"cost": 0.0105,
"result_count": 1,
"path": [
"v3",
"dataforseo_labs",
"bing",
"relevant_pages",
"live"
],
"data": {
"api": "dataforseo_labs",
"function": "relevant_pages",
"se_type": "bing",
"target": "example.com",
"language_name": "English",
"location_code": 2840,
"filters": [
["metrics.organic.pos_1", "<>", 0],
"or",
["metrics.organic.pos_2_3", "<>", 0]
],
"limit": 5
},
"result": [
{
"se_type": "bing",
"target": "example.com",
"location_code": 2840,
"language_code": "en",
"total_count": 125,
"items_count": 2,
"items": [
{
"se_type": "bing",
"page_address": "https://example.com/page-1",
"metrics": {
"organic": {
"pos_1": 12,
"pos_2_3": 18,
"pos_4_10": 35,
"pos_11_20": 21,
"pos_21_30": 9,
"pos_31_40": 4,
"pos_41_50": 2,
"pos_51_60": 1,
"pos_61_70": 0,
"pos_71_80": 0,
"pos_81_90": 0,
"pos_91_100": 0,
"etv": 1450.7,
"count": 102,
"estimated_paid_traffic_cost": 823.4,
"is_new": 8,
"is_up": 26,
"is_down": 11,
"is_lost": 3
}
}
},
{
"se_type": "bing",
"page_address": "https://example.com/page-2",
"metrics": {
"organic": {
"pos_1": 3,
"pos_2_3": 7,
"pos_4_10": 19,
"pos_11_20": 14,
"pos_21_30": 10,
"pos_31_40": 6,
"pos_41_50": 1,
"pos_51_60": 0,
"pos_61_70": 0,
"pos_71_80": 0,
"pos_81_90": 0,
"pos_91_100": 0,
"etv": 530.2,
"count": 60,
"estimated_paid_traffic_cost": 274.6,
"is_new": 2,
"is_up": 9,
"is_down": 6,
"is_lost": 1
}
}
}
]
}
]
}
]
}错误处理
请根据响应中的 status_code 和 status_message 处理错误或异常。 完整错误码列表参考:/v3/appendix/errors
建议重点处理以下场景:
- 认证失败
- 请求参数缺失或格式错误 -出频率限制
- 查询条件无可用数据
- 异步任务执行异常
使用建议
target填写域名,不要带协议头或www- 若只美国市场,建议显式传
location_code: 2840 - 若只分析自然流量,可通过
item_types与filters聚焦organic - 如需定位已失去排名的页面,可使用
historical_serp_mode: "lost" - 当需要去重相似查询词时,可设置
ignore_synonyms: true
实用场景
- 识别高流量落地页:找出自然搜索
etv最高的页面,优更新与转化优化资源。 - 排查流量下滑页面:结合
is_down、is_lost快速定位排名衰退页面,及时修复、链或技术问题。 - 对比自然与付费获客价值:通过
organic.etv与estimated_paid_traffic_cost评估 SEO 流量替代广告投放的成本价值。 - 挖掘精选摘要与本地机会:分析
featured_snippet、local_pack类型页面,寻找可扩展的 SERP 特殊展示机会。 - 构建页面级 SEO 看板:按页面维度汇总排名分布与流量趋势,用于团队、增长团队和管理层周报监控。