网页搜索
输入搜索词,返回网页结果:标题、链接、摘要、发布时间。适合给大模型、智能体补充联网信息。
请求
POST https://platform.kuaisou.com/api/web-search
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 搜索词,可以带 搜索语法。最多 200 个字,超出的部分截掉 |
| count | int | 否 | 返回几条:10、20、30、40、50、100 之一,默认 10;填别的数按 10 |
| offset | int | 否 | 从第几条开始返回,从 1 算起,默认 1。翻第二页(每页 10 条)填 11 |
freshness 参数目前不生效。要限定时间,请在 query 里用 after:、before:。
请求示例
curl -X POST https://platform.kuaisou.com/api/web-search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"DeepSeek site:github.com","count":10,"offset":1}'
搜索语法
在 query 里直接写,可以组合使用。操作符必须小写(SITE: 会被当成普通的词)。
| 写法 | 例子 | 效果 |
|---|---|---|
site: |
DeepSeek site:github.com |
只要这个网站(含子域名)的结果;可以带路径,如 site:github.com/deepseek-ai;写几个 site: 是「或」 |
-site: |
DeepSeek -site:example.com |
去掉这个网站(含子域名)的结果 |
-词 |
DeepSeek -广告 |
标题或摘要里有这个词的去掉 |
"短语" |
DeepSeek "开源模型" |
标题或摘要里必须有这个短语(中文引号 “ ” 也认) |
-"短语" |
DeepSeek -"release notes" |
标题或摘要里有这个短语的去掉 |
lang: |
DeepSeek lang:zh,en |
只要这几种语言的网页 |
after: |
DeepSeek after:2025-01-01 |
只要这一天(含)之后发布的;可以只写年 after:2025 或年月 after:2025-06 |
before: |
DeepSeek before:2026 |
只要这一天之前发布的 |
注意:
- 用了
after:、before:时,没有发布日期的网页会被去掉。 - 写错的操作符(比如
site:后面不是网址、after:2025-13)当成普通的词搜,不报错。 - 只有语法、没有搜索词(比如只写
site:github.com)会回 400,不扣费。
返回
{
"code": 200,
"msg": "",
"data": [
{
"_type": "SearchResponse",
"queryContext": { "originalQuery": "DeepSeek site:github.com" },
"webPages": {
"webSearchUrl": "",
"totalEstimatedMatches": 36,
"value": [
{
"id": "1",
"name": "网页标题",
"url": "https://github.com/...",
"displayUrl": "github.com/...",
"snippet": "网页摘要",
"summary": "网页摘要",
"siteName": "github.com",
"siteIcon": "",
"datePublished": "2025-06-01",
"dateLastCrawled": "",
"cachedPageUrl": "",
"language": "",
"isFamilyFriendly": true,
"isNavigational": false,
"deepLinks": null
}
]
}
}
],
"logId": "req_..."
}
返回字段
| 字段 | 说明 |
|---|---|
| data | 数组,只有一项 |
| data[0].queryContext.originalQuery | 你传的搜索词 |
| data[0].webPages.totalEstimatedMatches | 这一次一共找到多少条(排序之后、按 count、offset 截取之前) |
| data[0].webPages.value | 这一页的结果,最多 count 条,可能更少 |
| value[].id | 在这一页里的序号,从 1 开始 |
| value[].name | 网页标题 |
| value[].url | 网页地址 |
| value[].displayUrl | 显示用的地址 |
| value[].snippet | 摘要 |
| value[].summary | 摘要(目前跟 snippet 一样) |
| value[].siteName | 网站的主机名 |
| value[].datePublished | 发布时间,不知道时是空字符串 |
| logId | 这一次请求的编号 |
siteIcon、dateLastCrawled、cachedPageUrl、language、isFamilyFriendly、isNavigational、deepLinks 这几个字段为了兼容老版本保留着,目前是固定值,不要依赖它们。
计费
每成功返回一次扣一次费,跟返回几条无关;失败的不扣。单价见 开放平台首页 的价格表。
错误
| code | 什么时候 |
|---|---|
| 400 | 请求体不是合法 JSON、query 是空的、只有搜索语法没有搜索词 |
| 401 | API Key 无效或已停用 |
| 402 | 余额不足 |
| 500 | 读取单价、查询余额或计费失败(不扣费) |
| 502 | 搜索服务暂时不可用(不扣费) |
见 错误码。