Skip to content

Bing 搜索量任务创建接口

接口说明

该接口用于创建 Bing 搜索量查询任务,支持返回以下数据:

  • 最近一个月的搜索量
  • 最多过去 24 个月的搜索量趋势
  • 当前 CPC(每次点击费用)
  • 付费搜索竞争度

这是标准异步模式的获取方式:创建任务,再在任务完成后获取结果。若不要求实时返回,建议优使用该模式。任务执行时间取决于系统负载。

如果你的业务需要即时结果,可改用 /v3/keywords_data/bing/search_volume/live/ 实时接口,无需分开调用 POST 和结果查询接口。

历史数据最长可追溯 24 个月

请求地址

POST https://api.seermartech.cn/v3/keywords_data/bing/search_volume/task_post

计费说明

账户在创建任务时扣费。

参考价约 ¥0.8000 / 次。 扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

补说明:

  • 每分钟最多可发送 2000 次 API 调用
  • 每次 POST 最多可 100 个任务
  • 若单次 POST过 100 个任务,出部分会返回错误 40006
  • 单个任务中的 keywords 数组最多可传 1000 个
  • 每个最大长度 100 个字符
  • 按请求计费,而不是按数量计费:一个任务中传 1 个与传 1000 个,费用相同

请求格式

所有 POST 数据使用 UTF-8 编码的 JSON 格式提交。 请求体为 JSON 数组

json
[
 {
 "location_name": "United States",
 "keywords": [
 "average page rpm adsense"
 ]
 }
]

任务结果获取方式

创建任务后,可通过以下方式获取结果:

  1. 使用返回的任务唯一标识 id 查询已完成任务结果
  2. 创建任务时设置 postback_url,任务完成后由本平台主动推送结果
  3. 创建任务时设置 pingback_url,任务完成后由本平台发送完成通知

注意:

  • 若你的服务器在 10 秒未响应回调请求,连接会因时中止
  • 该任务会转对应的 tasks_ready 列表,后续可自行获取结果
  • 回调失败时,错误码和错误信息取决于你的服务端

请求参数

任务对象字段说明

字段名类型说明
keywordsarray。列表。最多 1000 个;每个最大 100 字符。系统会自动将转为小写,并按单个分别返回数据。
location_namestring搜索引擎地区完整名称。当未指定 location_codelocation_coordinate 时填。若使用该字段,则无需再传 location_codelocation_coordinate。示例:London,England,United Kingdom
location_codeinteger搜索引擎地区编码。当未指定 location_namelocation_coordinate 时填。若使用该字段,则无需再传 location_namelocation_coordinate。示例:2840
location_coordinatestringGPS 坐标。当未指定 location_namelocation_code 时填。格式为 "latitude,longitude"返回的数据将基于该坐标所属国家。示例:52.6178549,-155.352142
language_namestring搜索引擎语言名。当未指定 language_code 时填。支持值:EnglishFrenchGerman
language_codestring搜索引擎语言代码。当未指定 language_name 时填。支持值:enfrde
devicestring可选。设备类型。可选值:allmobiledesktoptablet。默认值:all
sort_bystring可选。结果排序字段,按降序排序。可选值:search_volumecpccompetitionrelevance。默认值:relevance
date_fromstring可选。时间范围起始日期。若不传,默认返回最近 12 个月数据。最早可设置为今天向前 24 个月。格式:yyyy-mm-dd。示例:2020-01-01不建议对过去一年的日期使用自定义时间范围
date_tostring可选。时间范围结束日期。若不传,默认返回最近 12 个月数据。最小值为今天向前两年,最大值为今天向前一个月。格式:yyyy-mm-dd。示例:2020-03-15不建议对过去一年的日期使用自定义时间范围
postback_urlstring可选。结果推送地址。任务完成后,本平台会将 gzip 压缩的结果通过 POST 发送到该地址。支持在 URL 中使用 $id$tag 占位符。示例:http://your-server.com/postbackscript?id=$id
pingback_urlstring可选。完成通知地址。任务完成后,本平台会向该地址发起 GET 请求。支持在 URL 中使用 $id$tag 占位符。示例:http://your-server.com/pingscript?id=$id&tag=$tag
search_partnersboolean可选。是否 Bing 搜索合作伙伴流量。设为 true 时,返回 Bing、Yahoo、AOL 及合作伙伴站点上的数据。默认值:false,返回 Bing、AOL、Yahoo 搜索网络数据
tagstring可选。自定义任务标识,最大 255 字符。可用于将任务与业务系统记录,返回结果中的 data 对象会原样带回该值

地区与语言说明

  • 地区参数三选一:location_namelocation_codelocation_coordinate
  • 语言参数二选一:language_namelanguage_code

地区列表可通过以下接口获取:

  • /v3/keywords_data/bing/locations

响应结构

接口返回 JSON 编码数据,顶层 tasks 数组,每个任务对应一条创建结果。

顶层字段

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

tasks 数组字段

字段名类型说明
idstring任务唯一标识,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000
status_messagestring任务状态信息
timestring任务执行耗时,单位秒
costfloat单个任务费用,单位 USD
result_countintegerresult 数组中的数量
patharrayURL 路径
dataobject回显你在 POST 请求中提交的任务参数
resultarray结果数组。对于任务创建接口,此处固定为 null

状态与错误处理

  • 创建成功时,任务级别通常返回:
  • 20100Task Created.
  • 顶层成功通常返回:
  • 20000Ok.
  • 若单次 POST 中任务数 100,出部分会返回:
  • 40006

建议业务侧对 /v3/appendix/errors 中的状态码建立完整的异常处理机制。

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/keywords_data/bing/search_volume/task_post" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "location_name": "United States",
 "keywords": [
 "average page rpm adsense"
 ]
 },
 {
 "language_code": "en",
 "location_code": 2840,
 "keywords": [
 "adsense blank ads how long"
 ],
 "tag": "some_string_123",
 "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
 },
 {
 "location_name": "United States",
 "language_name": "English",
 "keywords": [
 "leads and prospects"
 ],
 "postback_url": "https://your-server.com/postbackscript"
 }
]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/keywords_data/bing/search_volume/task_post"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

payload = [
 {
 "location_name": "United States",
 "keywords": [
 "average page rpm adsense"
 ]
 },
 {
 "language_code": "en",
 "location_code": 2840,
 "keywords": [
 "adsense blank ads how long"
 ],
 "tag": "some_string_123",
 "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
 },
 {
 "location_name": "United States",
 "language_name": "English",
 "keywords": [
 "leads and prospects"
 ],
 "postback_url": "https://your-server.com/postbackscript"
 }
]

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

TypeScript

typescript
import axios from "axios";

const payload = [
 {
 location_name: "United States",
 keywords: [
 "average page rpm adsense"
 ]
 },
 {
 language_code: "en",
 location_code: 2840,
 keywords: [
 "adsense blank ads how long"
 ],
 tag: "some_string_123",
 pingback_url: "https://your-server.com/pingscript?id=$id&tag=$tag"
 },
 {
 location_name: "United States",
 language_name: "English",
 keywords: [
 "leads and prospects"
 ],
 postback_url: "https://your-server.com/postbackscript"
 }
];

axios({
 method: "post",
 url: "https://api.seermartech.cn/v3/keywords_data/bing/search_volume/task_post",
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
 },
 data: payload
})
 .then((response) => {
 // 输出任务创建结果
 console.log(response.data);
 })
 .catch((error) => {
 console.error(error);
 });

响应示例

json
{
 "version": "0.1.20200130",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.0882 sec.",
 "cost": 0.15,
 "tasks_count": 3,
 "tasks_error": 0,
 "tasks": [
 {
 "id": "01302137-1535-0110-0000-af164848a289",
 "status_code": 20100,
 "status_message": "Task Created.",
 "time": "0.0020 sec.",
 "cost": 0.05,
 "result_count": 0,
 "path": [
 "v3",
 "keywords_data",
 "bing",
 "search_volume",
 "task_post"
 ],
 "data": {
 "api": "keywords_data",
 "function": "search_volume",
 "se": "bing",
 "location_name": "London,England,United Kingdom",
 "keywords": [
 "average page rpm adsense"
 ]
 },
 "result": null
 },
 {
 "id": "01302137-1535-0110-0000-af164848a289",
 "status_code": 20100,
 "status_message": "Task Created.",
 "time": "0.0020 sec.",
 "cost": 0.05,
 "result_count": 0,
 "path": [
 "v3",
 "keywords_data",
 "bing",
 "search_volume",
 "task_post"
 ],
 "data": {
 "api": "keywords_data",
 "function": "search_volume",
 "se": "bing",
 "language_code": "en",
 "location_code": 2840,
 "keywords": [
 "adsense blank ads how long"
 ],
 "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag",
 "tag": "some_string_123"
 },
 "result": null
 },
 {
 "id": "01302137-1535-0110-0000-6aa9f0d703d5",
 "status_code": 20100,
 "status_message": "Task Created.",
 "time": "0.0021 sec.",
 "cost": 0.05,
 "result_count": 0,
 "path": [
 "v3",
 "keywords_data",
 "bing",
 "search_volume",
 "task_post"
 ],
 "data": {
 "api": "keywords_data",
 "function": "search_volume",
 "se": "bing",
 "location_name": "United States",
 "language_name": "English",
 "keywords": [
 "leads and prospects"
 ],
 "postback_url": "https://your-server.com/postbackscript"
 },
 "result": null
 }
 ]
}

使用建议

  • 适合批量提交搜索量任务,后续统一获取结果
  • 若需要控制成本,建议尽量把更多合并到单个任务中
  • 若业务系统依赖自动回收结果,可优使用 postback_urlpingback_url
  • 对于过去一年的数据,通常不建议强行指定自定义时间范围,以影响结果使用一致性

实用场景

  • 批量评估需求规模:一次提交大量,快速判断不同主题或词的搜索热度,为选题、投放和 SEO 规划提供依据。
  • 监测趋势变化:利用最长 24 个月的历史趋势,识别季节性波动、热点抬升和需求衰退,排期与预算分。
  • 对比不同地区搜索潜力:通过 location_namelocation_code 或坐标维度获取区域搜索量,帮助制定本地化 SEO 与区域投放策略。
  • 分析移动端与桌面端差异:结合 device 参数分别查看不同设备上的搜索需求,为移动优页面优化和落地页设计提供依据。
  • 构建自动化数据回流链路:通过 postback_urlpingback_url 在任务完成后自动接收通知或结果,减少人工轮询,提高数据采集效率。

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