主题
Bing 竞品域名分析(实时)
本接口用于获取目标域名在 Bing 搜索中的竞品域名概览,覆盖自然搜索与付费搜索的排名和流量指标。同时,还会返回目标域名与竞品域名在同一 SERP 中排名的交集指标,便于进行竞品识别、流量对标和重叠分析。
数据更新频率: 每周更新一次。最新更新时间可通过 /v3/dataforseo_labs/status 查询。
接口信息
- 请求方式:
POST - 接口地址:
https://api.seermartech.cn/v3/dataforseo_labs/bing/competitors_domain/live - 请求体格式: JSON 数组
[{ ... }] - 并发与频率限制:
- 每分钟最多
2000次 API 调用 - 最多
30个并发请求
计费说明
本接口按请求计费。原文未提供固定单价,因此无法预估统一参考价。扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
功能说明
你可以通过本接口:
- 查询目标域名的 Bing 竞品域名列表
- 获取竞品域名在自然搜索、付费搜索及特定结果类型中的排名分布
- 分析目标域名与竞品域名的交集数量
- 对结果进行过滤、排序、分页
- 指定结果类型,如
organic、paid、local_pack、featured_snippet
请求参数
任务参数字段
| 字段名 | 类型 | 说明 |
|---|---|---|
target | string | 填。目标网站域名。请不要 https:// 和 www.。例如:example.com |
location_name | string | 地区完整名称。未传 location_code 时填。location_name 与 location_code 二选一。可通过 /v3/dataforseo_labs/locations_and_languages 获取可用地区。注意:当前支持美国地区。 示例:United States |
location_code | integer | 地区编码。未传 location_name 时填。location_name 与 location_code 二选一。可通过 /v3/dataforseo_labs/locations_and_languages 获取可用地区编码。注意:当前支持美国地区。 示例:2840 |
language_name | string | 语言完整名称。未传 language_code 时填。language_name 与 language_code 二选一。可通过 /v3/dataforseo_labs/locations_and_languages 获取可用语言。示例:English |
language_code | string | 语言编码。未传 language_name 时填。language_name 与 language_code 二选一。可通过 /v3/dataforseo_labs/locations_and_languages 获取可用语言编码。示例:en |
item_types | array | 可选。指定响应中的搜索结果类型。注意: 如果数组中非 organic 类型,结果将按数组中的第一个类型排序;且你不能对未在响应中的结果类型进行过滤或排序。 |
filters | array | 可选。结果过滤条件数组,最多支持 8 个过滤条件。多个条件之间需使用逻辑运算符 and 或 or。支持的比较运算符:regex、not_regex、<、<=、>、>=、=、<>、in、not_in。更多用法可参考 /v3/dataforseo_labs/filters。 |
order_by | array | 可选。结果排序规则。可使用与 filters 相同的字段路径。排序方式支持:asc(升序)、desc(降序)。单次请求最多可设置 3 条排序规则。注意: 如果 item_types含非 organic 类型,则结果将按 item_types 中第一个类型排序。 |
limit | integer | 可选。返回的最大域名数量。默认值:100;最大值:1000 |
offset | integer | 可选。结果偏移量。默认值:0。例如传 10 表示跳过前 10 个结果,从第 11 个开始返回。 |
max_rank_group | integer | 可选。用于识别竞品的最大排名范围。默认值:100。例如传 10 表示只从 Bing 前 10 名结果中提取竞品。 |
exclude_top_domains | boolean | 可选。是否排除大型站点。默认值:false。若设为 true,将排除以下网站,以获得更高性的竞品:wikipedia.org、pinterest.com、amazon.com、google.com、facebook.com、wordpress.com、medium.com、quora.com、reddit.com、youtube.com、ebay.com、uol.com.br、instagram.com、olx.com、twitter.com、linkedin.com、slideshare.net |
intersecting_domains | array | 可选。用于提升结果准确性的附加域名列表。指定后,返回指标将基于 target 与这些域名同时出现在 SERP 中的。最多可传 20 个域名。 |
ignore_synonyms | boolean | 可选。是否忽略高度相似。设为 true 时返回核心,排除高度相似词。默认值:false |
tag | string | 可选。用户自定义任务标识,最长 255 个字符。可用于请求结果映射,响应的 data 对象中会返回该值。 |
过滤与排序
filters 示例
json
[
["metrics.organic.count", ">=", 50],
"and",
["intersections", ">", 10]
]order_by 示例
json
[
["intersections", "desc"],
["avg_position", "asc"]
]请求示例
cURL
bash
curl --location --request POST "https://api.seermartech.cn/v3/dataforseo_labs/bing/competitors_domain/live" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"target": "newmouth.com",
"language_name": "English",
"location_code": 2840,
"intersecting_domains": [
"dentaly.org",
"health.com",
"trysnow.com"
],
"filters": [
["metrics.organic.count", ">=", 50]
],
"limit": 3
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/dataforseo_labs/bing/competitors_domain/live"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
payload = [
{
"target": "newmouth.com",
"location_name": "United States",
"language_name": "English",
"intersecting_domains": [
"dentaly.org",
"health.com",
"trysnow.com"
],
"filters": [
["metrics.organic.count", ">=", 50]
],
"limit": 3
}
]
response = requests.post(url, json=payload, headers=headers)
print(response.json)TypeScript
typescript
import axios from "axios";
const postArray = [
{
target: "newmouth.com",
language_name: "English",
location_code: 2840,
intersecting_domains: [
"dentaly.org",
"health.com",
"trysnow.com"
],
filters: [
["metrics.organic.count", ">=", 50]
],
limit: 3
}
];
axios({
method: "post",
url: "https://api.seermartech.cn/v3/dataforseo_labs/bing/competitors_domain/live",
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
},
data: postArray
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});响应结构
接口返回 JSON 对象,顶层 tasks 数组。
顶层字段
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本 |
status_code | integer | 通用状态码 |
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 | 请求路径 |
data | object | 与请求中提交的参数一致 |
result | array | 结果数组 |
result[] 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
se_type | string | 搜索引擎类型 |
target | string | 请求中的目标域名 |
location_code | integer | 请求中的地区编码 |
language_code | string | 请求中的语言编码 |
total_count | integer | 数据库中与请求匹的总结果数 |
items_count | integer | 当前 items 数组返回的结果数 |
items | array | 竞品域名数据列表 |
items[] 字段说明
每个 items素对应一个竞品域名,并以下主要信息:
| 字段名 | 类型 | 说明 |
|---|---|---|
se_type | string | 搜索引擎类型 |
domain | string | 竞品域名 |
avg_position | integer | 平均排名基于交集计算。与不同目标域名组合时,该值可能不同 |
sum_position | integer | 所有排名位置之和基于交集计算 |
intersections | integer | 与目标域名重叠的数量 |
full_domain_metrics | object | 该竞品域名在范围的指标概览 |
metrics | object | 针对目标域名在与该竞品重叠上的指标 |
competitor_metrics | object | 针对竞品域名在与目标域名重叠上的指标 |
指标对象说明
以下结构同时适用于:
full_domain_metricsmetricscompetitor_metrics
每个对象下可能以下结果类型:
organic:自然搜索paid:付费搜索local_pack:本地结果featured_snippet:精选摘要结果
各结果类型下的通用字段
| 字段名 | 类型 | 说明 |
|---|---|---|
pos_1 | integer | 排名第 1 的 SERP 数量 |
pos_2_3 | integer | 排名第 2–3 的 SERP 数量 |
pos_4_10 | integer | 排名第 4–10 的 SERP 数量 |
pos_11_20 | integer | 排名第 11–20 的 SERP 数量 |
pos_21_30 | integer | 排名第 21–30 的 SERP 数量 |
pos_31_40 | integer | 排名第 31–40 的 SERP 数量 |
pos_41_50 | integer | 排名第 41–50 的 SERP 数量 |
pos_51_60 | integer | 排名第 51–60 的 SERP 数量 |
pos_61_70 | integer | 排名第 61–70 的 SERP 数量 |
pos_71_80 | integer | 排名第 71–80 的 SERP 数量 |
pos_81_90 | integer | 排名第 81–90 的 SERP 数量 |
pos_91_100 | integer | 排名第 91–100 的 SERP 数量 |
etv | float | 预估流量(Estimated Traffic Volume) |
count | integer | 含该域名的 SERP 总数 |
estimated_paid_traffic_cost | float | 将对应流量通过付费投放获取的预估成本,单位 USD |
is_new | integer | 新增排名数量 |
is_up | integer | 排名上升的数量 |
is_down | integer | 排名下降的数量 |
is_lost | integer | 丢失排名的数量 |
指标含义补
full_domain_metrics
表示竞品域名在排名范围的综合排名与流量数据。
metrics
表示目标域名在与该竞品域名有交集的范围的排名与流量数据。
competitor_metrics
表示竞品域名在与目标域名有交集的范围的排名与流量数据。
响应示例
json
{
"version": "0.1.20220216",
"status_code": 20000,
"status_message": "Ok.",
"time": "2.0979 sec.",
"cost": 0.011,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"data": {
"api": "dataforseo_labs",
"function": "competitors_domain",
"se_type": "bing",
"target": "newmouth.com",
"intersecting_domains": [
"dentaly.org",
"health.com",
"trysnow.com"
],
"language_name": "English",
"location_code": 2840,
"limit": 10
},
"result": [
{}
]
}
]
}状态码与异常处理
- 顶层
status_code表示整次请求的通用状态 tasks[].status_code表示单个任务的执行状态- 建议同时校验这两个层级的状态码,并建立完善的异常处理机制
常见成功状态:
| 状态码 | 说明 |
|---|---|
20000 | 请求成功 |
更多错误码请参考 /v3/appendix/errors。
使用建议
- 若只高竞品,建议开启
exclude_top_domains=true - 若已知部分强竞争网站,可通过
intersecting_domains提高结果准确性 - 若需要控制结果规模,可合
limit、offset分页获取 - 若需聚焦高质量竞品,可结合
filters对intersections、metrics.organic.count等字段进行筛选
实用场景
- 识别自然搜索竞品:基于目标域名与网站的交集,快速找到在 Bing 自然结果中真正重叠的竞争对手,帮助建立更准确的竞品池。
- 评估竞品流量体量:结合
full_domain_metrics.organic.etv和estimated_paid_traffic_cost,衡量竞品自然流量规模及商业价值,用于市场对标。 - 筛选高竞品网站:通过
intersections、avg_position、exclude_top_domains等参数排除大型泛站,聚焦垂直领域更有参考价值的竞争。 - 分析付费与自然双渠道竞争:同时查看
organic与paid指标,识别哪些竞品做 SEO,也在投放搜索广告,制定渠道策略。 - 定位战场:使用
metrics与competitor_metrics对比目标站和竞品在同一批交集上的表现,找出需要优优化或防守的集合。