主题
Bing 批量难度(实时)
POST /v3/dataforseo_labs/bing/bulk_keyword_difficulty/live
接口说明
该接口用于一次请求批量获取最多 1,000 个的难度(Keyword Difficulty)。
难度表示某个 Bing 自然搜索前 10 名 的相对难度。返回值为 0 到 100 的对数刻度整数,数值越高,通常意味着前 10 名的难度越大。该指标通常基于搜索结果页前 10 个页面的链接画像等因素综合计算得出。
- 请求方式:
POST - 接口地址:
https://api.seermartech.cn/v3/dataforseo_labs/bing/bulk_keyword_difficulty/live
计费说明
该接口按请求计费。
- 实扣费以响应头
X-SeerMarTech-Charge-CNY为准 - 响应中的
cost为平台 API 返回的金额 - 按文档示例,参考价约 ¥0.1648 / 次
调用限制
- 所有 POST 数据使用 JSON(UTF-8)
- 请求体为 JSON 数组:
[{ ... }] - 每分钟最多可发起 2000 次 API 调用
- 同时并发请求上限为 30
请求参数
以下为任务设置字段说明。
| 字段名 | 类型 | 说明 |
|---|---|---|
keywords | array | 填。目标列表。最多可传 1000 个。会被自动转换为小写。 |
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 |
tag | string | 可选。自定义任务标识,最长 255 个字符。可用于请求结果映射,响应中的 data 对象会返回该值。 |
响应结构
接口返回 JSON,顶层 tasks 数组。
顶层字段
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本 |
status_code | integer | 通用状态码。完整错误码请参考 /v3/appendix/errors |
status_message | string | 通用状态信息。完整说明请参考 /v3/appendix/errors |
time | string | 执行耗时,单位秒 |
cost | float | 本次请求总费用,单位 USD |
tasks_count | integer | tasks 数组中的任务数量 |
tasks_error | integer | 返回错误的任务数量 |
tasks | array | 任务结果列表 |
tasks 数组字段
| 字段名 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,UUID 格式 |
status_code | integer | 任务状态码,范围通常为 10000-60000,完整错误码请参考 /v3/appendix/errors |
status_message | string | 任务状态信息 |
time | string | 任务执行耗时,单位秒 |
cost | float | 当前任务费用,单位 USD |
result_count | integer | result 数组中的结果数量 |
path | array | URL 路径 |
data | object | 与请求中提交的参数一致 |
result | array | 结果列表 |
result 数组字段
| 字段名 | 类型 | 说明 |
|---|---|---|
se_type | string | 搜索引擎类型 |
location_code | integer | 请求中的地区编码;如无数据则为 null |
language_code | string | 请求中的语言编码;如无数据则为 null |
total_count | integer | 与请求的数据库结果总量 |
items_count | integer | items 数组中的结果数 |
items | array | 及对应难度分数 |
items 数组字段
| 字段名 | 类型 | 说明 |
|---|---|---|
se_type | string | 搜索引擎类型 |
keyword | string | 请求中的 |
keyword_difficulty | integer | 自然搜索前 10 名的难度分值,范围 0-100。该值表示前 10 名的相对机会/难度,采用对数刻度计算。 |
请求示例
cURL
bash
curl --location --request POST "https://api.seermartech.cn/v3/dataforseo_labs/bing/bulk_keyword_difficulty/live" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"keywords": [
"dentist new york",
"pizza brooklyn",
"car dealer los angeles"
],
"location_name": "United States",
"language_name": "English",
"tag": "bing-kd-batch-001"
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/dataforseo_labs/bing/bulk_keyword_difficulty/live"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
data = [
{
"keywords": [
"dentist new york",
"pizza brooklyn",
"car dealer los angeles"
],
"location_name": "United States",
"language_name": "English",
"tag": "bing-kd-batch-001"
}
]
response = requests.post(url, headers=headers, json=data)
print(response.json)TypeScript
typescript
import axios from "axios";
const postData = [
{
keywords: [
"dentist new york",
"pizza brooklyn",
"car dealer los angeles"
],
location_name: "United States",
language_name: "English",
tag: "bing-kd-batch-001"
}
];
axios({
method: "post",
url: "https://api.seermartech.cn/v3/dataforseo_labs/bing/bulk_keyword_difficulty/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.20220216",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0760 sec.",
"cost": 0.0103,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0760 sec.",
"cost": 0.0103,
"result_count": 1,
"path": [
"v3",
"dataforseo_labs",
"bing",
"bulk_keyword_difficulty",
"live"
],
"data": {
"api": "dataforseo_labs",
"function": "bulk_keyword_difficulty",
"se_type": "bing",
"keywords": [
"dentist new york",
"pizza brooklyn",
"car dealer los angeles"
],
"location_code": 2840,
"language_code": "en"
},
"result": [
{
"se_type": "bing",
"location_code": 2840,
"language_code": "en",
"total_count": 3,
"items_count": 3,
"items": [
{
"se_type": "bing",
"keyword": "dentist new york",
"keyword_difficulty": 54
},
{
"se_type": "bing",
"keyword": "pizza brooklyn",
"keyword_difficulty": 47
},
{
"se_type": "bing",
"keyword": "car dealer los angeles",
"keyword_difficulty": 61
}
]
}
]
}
]
}状态码与错误处理
- 顶层
status_code表示整次请求的处理状态 tasks[].status_code表示单个任务的处理状态- 建议同时校验:
- HTTP 状态码
- 顶层
status_code tasks_error- 各任务的
status_code
常见成功状态:
| 状态码 | 含义 |
|---|---|
20000 | 请求成功 |
完整错误码与状态说明请参考 /v3/appendix/errors。建议在生产环境中建立统一的异常处理和重试机制。
使用说明
- 将需要评估的放
keywords数组中 - 指定地区与语言,至少传一组:
location_name或location_codelanguage_name或language_code
- 当前该接口在地区维度上支持美国
- 若需要批量评估较多,建议按 1000 个分批发送
- 返回结果中的
items会给出每个对应的keyword_difficulty
实用场景
- 筛选低难度词:批量评估一组候选,优挑选难度较低的词规划,提高新页面的排名成功率。
- 评估专题切点:对同一主题下的多个长尾词进行难度对比,选择更容易突破的方向,降低 SEO 获客成本。
- 分层:将按高、中、低难度分组,分别匹首页、栏目页、专题页或文章页,提升站点资源效率。
- 对比不同业务线竞争强度:批量分析不同产品线或地域词的难度差异,帮助判断哪些市场更适合优自然流量运营。
- 建立机会单:将难度分数与搜索量、商业价值等指标结合,快速构建“低难度高价值”池,支持生产与投放决策。