Skip to content

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

请求参数

以下为任务设置字段说明。

字段名类型说明
keywordsarray。目标列表。最多可传 1000 个。会被自动转换为小写。
location_namestring当未指定 location_code 时填。地区完整名称。可通过 /v3/dataforseo_labs/locations_and_languages 查询支持的地区。注意:该接口当前支持美国地区。示例:United States
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
tagstring可选。自定义任务标识,最长 255 个字符。可用于请求结果映射,响应中的 data 对象会返回该值。

响应结构

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

顶层字段

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

tasks 数组字段

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

result 数组字段

字段名类型说明
se_typestring搜索引擎类型
location_codeinteger请求中的地区编码;如无数据则为 null
language_codestring请求中的语言编码;如无数据则为 null
total_countinteger与请求的数据库结果总量
items_countintegeritems 数组中的结果数
itemsarray及对应难度分数

items 数组字段

字段名类型说明
se_typestring搜索引擎类型
keywordstring请求中的
keyword_difficultyinteger自然搜索前 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。建议在生产环境中建立统一的异常处理和重试机制。

使用说明

  1. 将需要评估的放 keywords 数组中
  2. 指定地区与语言,至少传一组:
  • location_namelocation_code
  • language_namelanguage_code
  1. 当前该接口在地区维度上支持美国
  2. 若需要批量评估较多,建议按 1000 个分批发送
  3. 返回结果中的 items 会给出每个对应的 keyword_difficulty

实用场景

  • 筛选低难度词:批量评估一组候选,优挑选难度较低的词规划,提高新页面的排名成功率。
  • 评估专题切点:对同一主题下的多个长尾词进行难度对比,选择更容易突破的方向,降低 SEO 获客成本。
  • 分层:将按高、中、低难度分组,分别匹首页、栏目页、专题页或文章页,提升站点资源效率。
  • 对比不同业务线竞争强度:批量分析不同产品线或地域词的难度差异,帮助判断哪些市场更适合优自然流量运营。
  • 建立机会单:将难度分数与搜索量、商业价值等指标结合,快速构建“低难度高价值”池,支持生产与投放决策。

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