百度搜索
更新时间:2025-11-05
能力描述
概述: 可根据用户输入query,搜索全网实时信息,并返回摘要、网址等信息。
计费:每日免费额度为100次,支持按量后付费(为不影响使用体验,可先去开通后付费),默认优先抵扣免费资源,且每个账号每天最多使用100,000次。如有更多调用需求请您联系我们进行开通,费用详情请查看计费说明。
在线调试
百度智能云千帆提供了API在线调试平台 ,平台集成了快速检索、查看开发文档、查看在线调用的请求内容和返回结果、复制和下载示例代码等功能,帮助开发者快速调试接口。
接口定义
| URL | /v2/ai_search/web_search |
|---|---|
| Method | POST |
| Content-Type | application/json |
| Authorization | 请求签名(Bearer <API Key>) |
请求结构
Plain Text
1POST /v2/ai_search/web_search HTTP/1.1
2HOST: qianfan.baidubce.com
3Authorization: Bearer <API Key>
4Content-Type: application/json
5{
6 "messages": [
7 {
8 "content": "北京有哪些旅游景区",
9 "role": "user"
10 }
11 ],
12 "search_source": "baidu_search_v2",
13 "resource_type_filter": [{"type": "web","top_k": 20}],
14 "search_filter": {
15 "match": {
16 "site": [
17 "www.weather.com.cn"
18 ]
19 }
20 },
21 "search_recency_filter": "year"
22}
请求参数
header参数
除公共头域外,无其它特殊头域。
body参数
| 参数名称 | 数据类型 | 是否必须 | 描述 |
|---|---|---|---|
| messages | array<Message> | 是 | 搜索输入; array的长度需要是奇数, role必须是user-assistant-user交替,以user开始以user结束;在百度搜索时,仅支持单轮输入,若传入多轮输入,则以用户传入最后的content为输入查询。 |
| edition | string | 否 | 搜索版本。默认为standard。 可选值: standard:完整版本。 lite:标准版本,对召回规模和精排条数简化后的版本,时延表现更好,效果略弱于完整版。 |
| search_source | string | 否 | 使用的搜索引擎版本; 固定值:baidu_search_v2 |
| resource_type_filter | array<SearchResource> | 否 | 支持设置网页、视频、图片、阿拉丁搜索模态,网页top_k最大取值为50,视频top_k最大为10,图片top_k最大为30,阿拉丁top_k最大为5,默认值为: [{"type": "web","top_k": 20},{"type": "video","top_k": 0},{"type": "image","top_k": 0},{"type": "aladdin","top_k": 0}] 使用阿拉丁时注意: 1. 阿拉丁不支持站点、时效过滤。 2. 建议搭配网页模态使用,增加搜索返回数量。 3. 阿拉丁的返回参数为beta版本,后续可能变更。 |
| search_filter | SearchFilter | 否 | 根据SearchFilter下的子条件做检索过滤,使用方式参考SearchFilter表详情。 |
| block_websites | array<string> | 否 | 需要屏蔽的站点列表。过滤站点列表中属于该站点与该站点下子站点的搜索结果,为保证最终返回的结果数量,可能会引起时延的增长。 示例:["tieba.baidu.com"] |
| search_recency_filter | string | 否 | 根据网页发布时间进行筛选。枚举值: week:最近7天 month:最近30天 semiyear:最近180天 year:最近365天 |
Message对象
| 参数名称 | 数据类型 | 是否必须 | 描述 |
|---|---|---|---|
| role | string | 是 | 角色设定,可选值: user:用户 assistant:模型 |
| content | string | 是 | content为文本时, 对应对话内容,即用户的query问题。说明: 1.不能为空。 2.多轮对话中,用户最后一次输入content不能为空字符,如空格、"\n"、“\r”、“\f”等。 |
SearchResource对象
| 参数名称 | 数据类型 | 是否必须 | 描述 |
|---|---|---|---|
| type | string | 是 | 搜索资源类型。可选值: web:网页 video:视频 image:图片 aladdin:阿拉丁 |
| top_k | int | 是 | 指定模态最大返回个数。 |
SearchFilter
| 参数名称 | 数据类型 | 是否必须 | 描述 |
|---|---|---|---|
| match | object | 否 | 条件查询。 |
| + site | array<string> | 否 | 支持设置指定站点的搜索条件,即仅在设置的站点中进行内容搜索。目前支持设置20个站点。示例:["tieba.baidu.com"] |
| range | object | 否 | 范围查询,参考范围查询(range)详情。 |
| + page_time | object | 否 | 假设下述的now时间是2024-07-16。 |
| ++ gte | string | 否 | 时间查询参数,大于或等于。"now-1w/d",2024-07-16前一周、向下做舍入,即大于2024-07-09 00:00:00,包含2024-07-09完整天。 |
| ++ gt | string | 否 | 时间查询参数,大于。"now-1w/d",2024-07-16前一周、向上做舍入,即大于2024-07-09 23:59:59,不包含2024-07-09完整天。 |
| ++ lte | string | 否 | 时间查询参数,小于或等于。"now-1w/d",2024-07-16前一周、向上做舍入,即小于2024-07-09 23:59:59,包含2024-07-09完整天。 |
| ++ lt | string | 否 | 时间查询参数,小于。"now-1w/d",2024-07-16前一周、向下做舍入,即小于2024-07-09 00:00:00,不包含2024-07-09完整天。 |
范围查询(range)
可以用于数值型、日期型的字段。语法格式如下:
Plain Text
1"range": {
2 "{field}": {
3 "gte": "{lowerBound}",
4 "gt": "{lowerBound}",
5 "lte": "{upperBound}",
6 "lt": "{upperBound}"
7 }
8 }
- 实体(field)
pageTime:发布时间的实体名,表示针对pageTime做范围查询。此处pageTime对应响应数据中的page_time字段。网页发布时间的筛选功能只适用于可利用与可展现库,其他结果如视频等不召回。
查询范围(lowerBound\upperBound)
1.指定日期
指定搜索日期范围,格式:YYYY-MM-DD,例如:
Plain Text
1"range": {
2 "page_time": {
3 "gte": "2025-11-01",
4 "lte": "2025-11-04"
5 }
6 }
2.固定套餐
支持的时间单位:y(年)、M(月)、w(周)、d(日)。目前提供如下固定套餐,其他值非法。其中,"now"表示当前时间,在now后可以添加数学表达式:“-1w”表示减1周;“-1M”表示减1月;“-1y”表示减1年;“/d”表示归一化到当前天的起始\结束时间。
Plain Text
1- now/d
2- now-1w/d:一周
3- now-2w/d:两周
4- now-1M/d:一个月
5- now-3M/d:三个月
6- now-6M/d:六个月
7- now-1y/d:一年
参数限制说明:
- lte使用注意:range范围会参与检索系统的cache key计算,lte在做向上归一舍入后,由于cache可能导致结果时效性落后于match指定的lte值。
- 起始(lowerBound)和截止(upperBound)时间必需同时存在,否则该功能不生效。
- gte和gt只传其中一个即可,都传只生效gt;lte和lt只传其中一个即可,都传只生效lt。
示例如下:
查询当天前7天(不含当天)发布的网页结果:
Plain Text
1"query": {
2 "filter": {
3 "range": {
4 "page_time": {
5 "gte": "now-1w/d"
6 "lt": "now/d"
7 }
8 }
9 }
10}
响应头域
除公共头域外,无其它特殊头域。
响应参数
| 参数名称 | 数据类型 | 描述 |
|---|---|---|
| request_id | string | 请求ID。 |
| code | string | 错误码,当发生异常时返回。 |
| message | string | 错误消息,当发生异常时返回。 |
| references | array<Reference> | 模型回答详情列表,参考Reference对象表详情。 |
Reference对象
| 参数名称 | 数据类型 | 描述 |
|---|---|---|
| icon | string | 网站图标地址。 |
| id | int | 引用编号1、2、3。 |
| title | string | 网页标题。 |
| url | string | 网页地址。 |
| web_anchor | string | 网站锚文本或网站标题。 |
| website | string | 站点名称。 |
| content | string | 网页内容,显示2000字以内的相关信息原文片段 |
| rerank_score | float | 原文片段相关性评分(仅type值为web、video、image时存在),取值范围[0,1],数值越大越相关 |
| authority_score | float | 网页权威性评分(仅type值为web时存在),取值范围[0,1],数值越大越权威 |
| date | string | 网页日期。 |
| type | string | 检索资源类型。返回值: web:网页 video:视频内容 image:图片 aladdin:阿拉丁 |
| image | ImageDetail | 图片详情。 |
| video | VideoDetail | 视频详情。 |
| is_aladdin | boolean | 是否为阿拉丁内容。 |
| aladdin | Object | 阿拉丁详细内容,参考文档。 |
| web_extensions | WebExtensions | 网页相关图片 |
Reference.ImageDetail对象
| 参数名称 | 数据类型 | 描述 |
|---|---|---|
| url | string | 图片链接。 |
| height | string | 图片高度。 |
| width | string | 图片宽度。 |
Reference.VideoDetail对象
| 参数名称 | 数据类型 | 描述 |
|---|---|---|
| url | string | 视频链接。 |
| height | string | 视频高度。 |
| width | string | 视频宽度。 |
| size | string | 视频大小,单位Bytes。 |
| duration | string | 视频长度,单位秒。 |
| hover_pic | string | 视频封面图。 |
Reference.WebExtensions
| 参数名称 | 数据类型 | 描述 |
|---|---|---|
| images | array<Image> | 网页相关图片 |
| +images[0].url | string | 图片链接 |
| +images[0].height | string | 图片高度 |
| +images[0].width | string | 图片宽度 |
请求curl 示例
Plain Text
1 curl --location 'https://qianfan.baidubce.com/v2/ai_search/web_search' \
2--header 'X-Appbuilder-Authorization: Bearer <AppBuilder API Key>' \
3--header 'Content-Type: application/json' \
4--data '{
5 "messages": [
6 {
7 "content": "百度千帆平台",
8 "role": "user"
9 }
10 ],
11 "search_source": "baidu_search_v2",
12 "resource_type_filter": [{"type": "web","top_k": 10}]
13}'
正确响应示例
Plain Text
1{
2 "references": [
3 {
4 "content": "河北天气预报,及时准确发布中央气象台天气信息,便捷查询河北今日天气\u0004,河北周末天气,河北一周天气预报,河北蓝天预报,河北天气预报,河北40日天气预报,还\u0005提供河北的生活指数、健康指数、交通...",
5 "date": "2025-04-27 18:02:00",
6 "icon": null,
7 "id": 1,
8 "image": null,
9 "title": "【河北天气】河北天气预报,蓝天,蓝天预报,雾霾,雾霾...",
10 "type": "web",
11 "url": "https://www.weather.com.cn/html/weather/101031600.shtml",
12 "video": null,
13 "web_anchor": "【河北天气】河北天气预报,蓝天,蓝天预报,雾霾,雾霾..."
14 },
15 {
16 "content": "保定天气预报,及时准确发布中央气象台天气信息,便捷查询保定今日天气,保定周末天气,保定一周天气预报,保定蓝天预报,保定天气预报,保定40日天气预报,还提供保定的生活指数、健康指数、交通...",
17 "date": "2025-05-20 11:58:00",
18 "icon": null,
19 "id": 2,
20 "image": null,
21 "title": "保定天气预报,保定7天天气预报,保定15天天气预报,保定...",
22 "type": "web",
23 "url": "https://www.weather.com.cn/weather/101090201.shtml",
24 "video": null,
25 "web_anchor": "保定天气预报,保定7天天气预报,保定15天天气预报,保定..."
26 },
27 {
28 "content": "河北省气象台2025年05月23日11时发布天气预报: 今天下午到夜间,保定西部、石家庄西部、邢台西部阴有小雨或零星小雨转晴,其他地区阴转晴。最高气温,张家口、承德北部、保定西北部13~17...",
29 "date": "2025-05-23 00:00:00",
30 "icon": null,
31 "id": 3,
32 "image": null,
33 "title": "今天西部部分地区仍有降水 其它地区阴转晴-河北首页...",
34 "type": "web",
35 "url": "http://hebei.weather.com.cn/tqxs/4190923_m.shtml",
36 "video": null,
37 "web_anchor": "今天西部部分地区仍有降水 其它地区阴转晴-河北首页..."
38 },
39 {
40 "content": "河北省气象台2025年05月22日05时发布天气预报 今天白天,保定、廊坊及以北地区阴有小雨或阵雨,其中张家口、保定西北部有中到大雨;其他地区多云转阴有小雨或阵雨,其中邯郸大部有中雨。...",
41 "date": "2025-05-22 09:07:22",
42 "icon": null,
43 "id": 4,
44 "image": null,
45 "title": "今天白天到夜间,我省大部分地区有降水-河北首页-中国...",
46 "type": "web",
47 "url": "http://hebei.weather.com.cn/tqxs/4189523_m.shtml",
48 "video": null,
49 "web_anchor": "今天白天到夜间,我省大部分地区有降水-河北首页-中国..."
50 }
51 ],
52 "request_id": "ca749cb1-26db-4ff6-9735-f7b472d59003"
53}
错误响应示例
Plain Text
1{
2 "requestId": "00000000-0000-0000-0000-000000000000",
3 "code": 216003,
4 "message": "Authentication error: ( [Code: InvalidHTTPAuthHeader; Message: Fail to parse apikey authorization; RequestId: ea6ffeca-a136-401b-ba30-61c910c02ead] )"
5}
错误码
| 错误码 | 描述 |
|---|---|
| 400 | 客户端请求参数错误。 |
| 500 | 服务端执行错误。 |
| 501 | 调用模型服务超时。 |
| 502 | 模型流式输出超时。 |
| 其它 | 详见模型返回错误码。 |
