跳到主要内容

搜索 API

搜索 API 是一个强大的网页搜索服务,支持多种搜索参数和过滤选项,可以返回网页、图片和视频等多种类型的结果。该 API 兼容大部分返回格式。

基本信息​

  • 接口地址:/api/web-search
  • 请求方式:POST
  • 数据格式:JSON
  • 字符编码:UTF-8

请求参数​

必填参数​

参数名类型必填说明
querystring是搜索关键词,不能为空

可选参数​

参数名类型必填说明
countint否每页返回的结果数,默认10,最大值50
offsetint否结果偏移量,用于分页,默认0
freshnessstring否搜索指定时间范围内的网页,可选值:
- noLimit:不限(默认)
- oneDay:一天内
- oneWeek:一周内
- oneMonth:一个月内
- oneYear:一年内
- YYYY-MM-DD..YYYY-MM-DD:搜索日期范围,例如:"2025-01-01..2025-04-06"
- YYYY-MM-DD:搜索指定日期,例如:"2025-04-06"

响应参数​

响应示例​

{
"_type": "SearchResponse",
"queryContext": {
"originalQuery": "搜索关键词"
},
"webPages": {
"webSearchUrl": "搜索URL",
"totalEstimatedMatches": 1000,
"value": [
{
"id": "结果ID",
"name": "网页标题",
"url": "网页URL",
"displayUrl": "展示URL",
"snippet": "内容摘要",
"summary": "详细摘要",
"siteName": "网站名称",
"siteIcon": "网站图标",
"datePublished": "发布时间",
"dateLastCrawled": "爬取时间",
"cachedPageUrl": "缓存页面URL",
"language": "网页语言",
"isFamilyFriendly": true,
"isNavigational": false,
"deepLinks": [
{
"name": "深度链接名称",
"url": "深度链接URL",
"snippet": "深度链接摘要"
}
]
}
]
},

}

响应字段说明​

SearchResponse​

字段名类型说明
_typestring响应类型,固定为"SearchResponse"
queryContextobject查询上下文信息
webPagesobject网页搜索结果
imagesobject图片搜索结果
videosobject视频搜索结果

WebSearchQueryContext​

字段名类型说明
originalQuerystring原始搜索关键词

WebSearchWebPages​

字段名类型说明
webSearchUrlstring搜索URL
totalEstimatedMatchesint搜索匹配的网页总数
valuearray搜索结果列表
someResultsRemovedboolean结果中是否有被安全过滤

WebPageValue​

字段名类型说明
idstring网页的排序ID
namestring网页的标题
urlstring网页的URL
displayUrlstring网页的展示URL(url decode后的格式)
snippetstring网页内容的简短描述
summarystring网页内容的文本摘要
siteNamestring网页的网站名称
siteIconstring网页的网站图标
datePublishedstring网页的发布时间(UTC+8时间)
dateLastCrawledstring网页的爬取时间(UTC+8时间)
cachedPageUrlstring网页的缓存页面URL
languagestring网页的语言
isFamilyFriendlyboolean是否为家庭友好的页面
isNavigationalboolean是否为导航性页面
deepLinksarray深度链接列表

WebSearchImages​

字段名类型说明
idstring图片结果ID
readLinkstring图片搜索链接
webSearchUrlstring图片搜索URL
isFamilyFriendlyboolean是否为家庭友好的内容
valuearray图片结果列表

ImageValue​

字段名类型说明
webSearchUrlstring图片搜索URL
namestring图片名称
thumbnailUrlstring缩略图URL
datePublishedstring发布时间
contentUrlstring图片内容URL
hostPageUrlstring宿主页面URL
contentSizestring内容大小
encodingFormatstring编码格式
hostPageDisplayUrlstring宿主页面展示URL
widthint图片宽度
heightint图片高度
thumbnailobject缩略图信息

WebSearchVideos​

字段名类型说明
idstring视频结果ID
readLinkstring视频搜索链接
webSearchUrlstring视频搜索URL
isFamilyFriendlyboolean是否为家庭友好的内容
scenariostring视频场景
valuearray视频结果列表

VideoValue​

字段名类型说明
webSearchUrlstring视频搜索URL
namestring视频名称
descriptionstring视频描述
thumbnailUrlstring缩略图URL
publisherarray发布者信息
creatorobject创作者信息
contentUrlstring视频内容URL
hostPageUrlstring宿主页面URL
encodingFormatstring编码格式
hostPageDisplayUrlstring宿主页面展示URL
widthint视频宽度
heightint视频高度
durationstring视频时长
motionThumbnailUrlstring动态缩略图URL
embedHtmlstring嵌入HTML
allowHttpsEmbedboolean是否允许HTTPS嵌入
viewCountint观看次数
thumbnailobject缩略图信息
allowMobileEmbedboolean是否允许移动端嵌入
isSuperfreshboolean是否为最新内容
datePublishedstring发布时间

错误码​

错误码说明
400请求参数错误
401未授权
403禁止访问
404资源不存在
429请求过于频繁
500服务器内部错误

注意事项​

  1. 时间戳说明:

    • datePublished:网页实际发布时间
    • dateLastCrawled:网页爬取时间
    • 所有时间戳均为UTC+8时间
  2. 分页说明:

    • 每页最多返回50条结果
    • 使用offset参数进行分页
    • 建议每次请求不超过1000条数据
  3. 安全限制:

    • 部分结果可能因安全原因被过滤
    • 请检查someResultsRemoved字段确认是否有结果被过滤
  4. 性能建议:

    • 合理使用freshness参数限制时间范围
    • 使用include/exclude参数缩小搜索范围
    • 避免频繁请求相同的关键词
  5. 兼容性说明:

    • 部分字段可能在不同API中略有差异,但核心功能保持一致
    • 建议根据实际使用的API版本查看具体的字段说明

调用示例​

请求示例​

curl -X GET "https://platform.kuaisou.com/api/web-search?query=人工智能&count=10&offset=0"

响应示例​

{
"_type": "SearchResponse",
"queryContext": {
"originalQuery": "人工智能"
},
"webPages": {
"webSearchUrl": "https://platform.kuaisou.com/api/web-search?query=人工智能",
"totalEstimatedMatches": 1000,
"value": [
{
"id": "https://platform.kuaisou.com/api/v1/#WebPages.0",
"name": "人工智能 - 维基百科",
"url": "https://zh.wikipedia.org/wiki/人工智能",
"displayUrl": "zh.wikipedia.org/wiki/人工智能",
"snippet": "人工智能(Artificial Intelligence,缩写为AI)是指由人制造出来的系统所表现出的智能。",
"summary": "人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。",
}
]
}
}

搜索 API Python 调用示例

本文档提供了使用 Python 调用搜索 API 的简单示例代码。

基本调用示例​

import requests
import json

def search_web(query, api_key, count=10, summary=False):
"""
执行网页搜索

参数:
query (str): 搜索关键词
api_key (str): API密钥
count (int): 返回结果数量,默认10
offset (int): 搜索页码
"""
url = "https://platform.kuaisou.com/api/web-search"

# 构建请求数据
payload = json.dumps({
"query": query,
"offset": 1,
"count": count
})

# 设置请求头
headers = {
'Authorization': f'Bearer {api_key}',
'Content-Type': 'application/json'
}

# 发送请求
response = requests.post(url, headers=headers, data=payload)

# 检查响应状态
if response.status_code == 200:
return response.json()
else:
raise Exception(f"搜索请求失败: {response.status_code} - {response.text}")

# 使用示例
if __name__ == "__main__":
# 设置API密钥
API_KEY = "sk-********" # 替换为您的API密钥

try:
# 执行搜索
results = search_web(
query="人活着是为了什么?",
api_key=API_KEY,
count=10,
summary=True
)

# 打印结果
print(json.dumps(results, indent=2, ensure_ascii=False))

except Exception as e:
print(f"发生错误: {str(e)}")

更多参数示例​

# 带时间范围的搜索
results = search_web(
query="人工智能",
api_key=API_KEY,
count=20,
offset=1,
freshness="oneWeek" # 一周内的结果
)

# 指定网站范围的搜索
results = search_web(
query="Python教程",
api_key=API_KEY,
count=15,
offset=1
)

# 自定义日期范围的搜索
results = search_web(
query="新闻",
api_key=API_KEY,
count=10,
summary=True,
freshness="2024-01-01..2024-03-20" # 指定日期范围
)