主题
提交 Bing 页面 URL 建议任务
接口说明
该接口用于基于指定网页 URL 的生成建议。平台 API 会分析目标页面,并返回与页面主题的候选项;后续在任务完成后获取结果时,可看到及匹置信度,用于判断该与用户搜索意图的程度。
这是标准异步模式接口: 您创建任务,再在任务完成后获取结果。若不要求实时返回数据,这种方式更适合批量采集,执行时间取决于系统负载。
如果您的业务需要立即返回结果,可改用对应的 实时(Live)接口;Live 模式无需分开调用 POST 和 GET。
请求地址
POST https://api.seermartech.cn/v3/keywords_data/bing/keyword_suggestions_for_url/task_post
计费说明
该接口按创建任务计费。
由于原文未提供明确单价,无法直接换算人民币。扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
请求规则
- 请求体为
JSON(UTF-8 编码) - 使用
POST方法创建任务 - 请求体格式为 JSON 数组:
[{ ... }] - 单次 POST 最多可提交 100 个任务
- 接口频率上限为 2000 次 API 调用/分钟
- 如果单次 POST 中任务数 100,出部分会返回错误
40006
您可以通过以下方式获取已完成任务的结果:
- 使用任务唯一标识
id主动获取结果; - 在创建任务时传
postback_url或pingback_url,由本平台在任务完成后主动回调。
注意:如果您的回调服务在 10 秒未响应,连接会因时中断,任务会被转对应的
tasks_ready列表。错误码和错误信息取决于您的服务端。
请求参数
任务对象字段
| 字段名 | 类型 | 填 | 说明 |
|---|---|---|---|
target | string | 是 | 要分析的目标网页 URL,用于扫描页面并生成可能的建议。最大长度:2000 字符。 |
language_name | string | 条件填 | 搜索引擎语言名。未传 language_code 时填。传此字段时无需再传 language_code。可通过 /v3/keywords_data/bing/keyword_suggestions_for_url/languages 获取支持语言列表。示例:English |
language_code | string | 条件填 | 搜索引擎语言代码。未传 language_name 时填。传此字段时无需再传 language_name。可通过 /v3/keywords_data/bing/keyword_suggestions_for_url/languages 获取支持语言列表。示例:en |
exclude_brands | boolean | 否 | 是否在结果中排除品牌词。 |
响应结构
接口返回 JSON tasks 数组,用于描述每个已创建任务的状态。
顶层字段
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本。 |
status_code | integer | 整体状态码。完整错误码见 /v3/appendix/errors。建议您在系统中做好异常与错误处理。 |
status_message | string | 整体状态信息。 |
time | string | 本次请求处理耗时,单位秒。 |
cost | float | 本次请求中任务的总费用。 |
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 | 该任务费用。 |
result_count | integer | result 数组中的数量。 |
path | array | 当前接口的 URL 路径信息。 |
data | object | 回显您在 POST 请求中提交的参数。 |
result | array | null | 结果数组。对于任务提交接口,此处通常为 null,数据需在任务完成后另行获取。 |
请求示例
curl
bash
curl --location --request POST "https://api.seermartech.cn/v3/keywords_data/bing/keyword_suggestions_for_url/task_post" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"target": "https://example.com/product/seo-tool",
"language_code": "en",
"exclude_brands": true
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/keywords_data/bing/keyword_suggestions_for_url/task_post"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
data = [
{
"target": "https://example.com/product/seo-tool",
"language_code": "en",
"exclude_brands": True
}
]
response = requests.post(url, headers=headers, json=data)
print(response.json)TypeScript
typescript
const url = "https://api.seermartech.cn/v3/keywords_data/bing/keyword_suggestions_for_url/task_post";
const payload = [
{
target: "https://example.com/product/seo-tool",
language_code: "en",
exclude_brands: true
}
];
async function main {
const response = await fetch(url, {
method: "POST",
headers: {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
});
const result = await response.json;
console.log(result);
}
main;响应示例
json
{
"version": "0.1.20240801",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0657 sec.",
"cost": 0.05,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "a6d8b9b2-8e11-4d90-9f16-1234567890ab",
"status_code": 20100,
"status_message": "Task Created.",
"time": "0.0000 sec.",
"cost": 0.05,
"result_count": 0,
"path": [
"v3",
"keywords_data",
"bing",
"keyword_suggestions_for_url",
"task_post"
],
"data": {
"api": "keywords_data",
"function": "keyword_suggestions_for_url",
"se": "bing",
"language_code": "en",
"target": "example.com/product/seo-tool"
},
"result": null
}
]
}状态码与错误处理
- 顶层
status_code表示整个请求是否成功 tasks[].status_code表示单个任务的处理结果- 若单次请求任务数 100,出部分会返回
40006 - 完整错误码和说明请参考
/v3/appendix/errors
建议重点处理以下场景:
- 请求体不是合法 JSON
- 未传
target language_name与language_code均未传- 单次创建任务数限制
- 回调地址时或不可达
使用说明补
target应传可访问、明确的页面地址,以提升建议质量。language_name与language_code二选一即可,不建议同时传。- 如果您希望结果中尽量减少品牌词干扰,可启用
exclude_brands=true。 - 本接口用于创建任务;返回的
result通常为null,需要在任务完成后通过结果接口获取最终数据。
实用场景
- 分析落地页主题词:针对产品页、栏目页或博客页提取建议,帮助补页面标题、H 标签和正文语义覆盖。
- 挖掘长尾投放词:基于现有着陆页生成 Bing 搜索词候选,为广告投放和 SEO 长尾词拓展提供依据。
- 过滤品牌干扰词:启用
exclude_brands后获取更偏通用需求的,便于研究非品牌流量空间。 - 批量评估站页面:对多个 URL 批量创建任务,统一查看各页面可的搜索词,支持规划与页面分组优化。
- 校验页面与搜索意图匹度:结合返回及置信度,判断页面是否覆盖目标用户搜索需求,优化页面定位。