主题
百度 SERP API:概览
POST /v3/serp/baidu/organic/task_post
百度 SERP API 用于获取指定、地区、设备类型和操作系统下的百度搜索结果。
返回结果与指定的及地区参数相匹。本平台会尽可能准确地模拟指定的搜索地区和搜索引擎,因此返回结果应与任务创建时对应条件下的搜索结果保持一致。
你可以通过返回结果中的 check_url 在无痕模式下访问搜索页面,以验证结果是否符合预期。系统不会考虑用户偏好、搜索历史及个性化因素,因此这些因素不会反映在返回的 SERP 结果中。
> 注意: 由于百度的限制,搜索结果的直接 URL 默认不会返回。如需获取每条搜索结果的直接 URL,请将 get_website_url 设置为 true。启用后,系统会针对每个排名网站额外发起请求,单个任务的费用将乘以 10。
支持的设备和操作系统
创建任务时,可以指定需要获取结果的设备类型和操作系统:
- 移动设备
- iOS
- Android
- 桌面设备
- Windows
- macOS
排名字段
百度 SERP API 使用以下字段表示搜索结果排名:
rank_group:结果在所属结果分组中的排名。rank_absolute:结果在整个 SERP 页面所有中的绝对排名。
两的区别在于:rank_group 只在同类结果中计算排名,而 rank_absolute 会跨所有 SERP素计算排名。
百度 SERP 功能
百度 SERP API 提供以下三种数据获取功能:
Regular
Regular 功能用于获取指定、搜索引擎和地区下的前 10 条自然搜索结果及付费搜索结果。
Advanced
Advanced 功能用于获取指定、搜索引擎和地区下的前 10 条搜索结果,并返回更多 SERP素,例如:
images:图片结果local_pack:本地结果map:地图结果related_searches:搜索video:视频结果
HTML
HTML 功能用于获取指定、搜索引擎和地区对应的原始 SERP HTML 页面。
请求方式
百度 SERP API 支持 Standard(标准) 数据获取方式。
标准方式需要分别发起 POST 和 GET 请求,系统完成数据采集后,再通过 GET 请求获取结果。该方式的成本相对较低。
创建任务时,也可以指定以下回调参数:
pingback_url:任务完成后,本平台向指定地址发送通知。postback_url:任务完成后,本平台将结果发送到指定地址。
使用 postback_url 时,还需要指定要执行的数据获取功能:
regularadvancedhtml
标准方式的任务流程
如果使用标准方式,且未设置 pingback_url 或 postback_url,可以按以下流程获取数据:
- 通过任务提交接口创建任务。
- 通过 Tasks Ready 接口获取已完成但尚未领取的任务 ID。
- 通过 Task GET 接口,根据任务 ID 获取任务结果。
请求限制
- P平台限流以认证说明中的 30/60/120 次/分钟规则为准**。
- 每次 POST 请求最多 100 个任务。
- 如需提高调用限制,请联系平台支持团队。
优级与计费
Standard 方法支持两种任务优级,不同优级对应不同的执行速度和费用:
- Normal priority:普通优级
- High priority:高优级
以下参数会增加任务费用:
get_website_url- 大于 10 的
depth值
如果同时使用多个计费参数,最终费用将各参数对应的费用系数叠加计算。
费用计算
text
cost = B × G × (D / 10):
B:所选方法和优级对应的基础费用。G:当"get_website_url": true时为10,否则为1。D:depth值向上取整到下一个百位后的数值。
扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
基本请求示例
以下示例展示标准方式下的任务提交格式。POST 请求体为 JSON 数组。
bash
curl --request POST \
--url https://api.seermartech.cn/v3/serp/baidu/organic/task_post \
--header 'Authorization: Bearer smt_live_YOUR_KEY' \
--header 'Content-Type: application/json' \
--data '[
{
"keyword": "SEO",
"location_code": 2156,
"language_code": "zh-CN",
"device": "desktop",
"os": "windows",
"depth": 10,
"get_website_url": false
}
]'的地区编码、请求参数和返回字段请参考百度地区列表及对应接口文档。
##测试
你可以通过沙盒环境测试百度 SERP API。
实用场景
- 监控排名:定期获取百度指定地区和设备下的 SERP 结果,评估网站自然排名变化和 SEO 优化效果。
- 对比移动端与桌面端结果:分别抓取不同设备及操作系统下的搜索结果,识别移动端与桌面端排名差异。
- 分析 SERP 页面结构:通过 Advanced 功能获取图片、本地结果、地图、视频和搜索等,优化在多种搜索展现位中的覆盖率。
- 批量追踪竞品结果:批量提交任务并获取排名网站信息,分析竞争对手在百度搜索结果中的。
- 获取原始搜索页面:使用 HTML 功能保存指定的 SERP 页面,用于搜索结果审计、页面结构解析和历史数据留档。