跳转到主要内容
Olostep 的 /v1/searches 端点允许你使用自然语言查询搜索网络,并返回一个去重的相关链接列表,包括标题和描述。
  • 发送纯英文查询
  • 从网络各处获取结构化链接
  • 可选地在一次往返中抓取每个返回的 URL,并将 markdown_content / html_content 直接嵌入响应中
  • 按域过滤,控制结果数量,并限制抓取的时间
它将语义搜索网络中的查询并返回结果。 有关 API 详细信息,请参阅 搜索端点 API 参考。

安装

基本用法

发送自然语言查询并接收相关链接列表。

请求参数

限制结果数量

按域过滤

include_domains 将结果缩小到白名单;exclude_domains 过滤掉不需要的来源。它们可以结合使用。

scrape_options

传递 scrape_options 以并行抓取每个返回的 URL,并直接在每个链接上嵌入渲染的内容。这比分别调用 /v1/searches 和 /v1/scrapes 节省了一次往返。

行为

  • 所有链接并行抓取。timeout 限制整个批次,而不是每个单独的链接。
  • 每个链接的抓取失败(网络错误、单个页面超时)会使该链接的 markdown_content / html_content 为 null,而其他链接正常返回。
  • 如果全局 timeout 在所有抓取完成之前过期,搜索会立即响应已完成的链接 — 已完成的抓取保留其内容;正在进行中的返回 null 内容。
  • 对于 reddit.com/.../comments/... URL,请求会自动通过 @olostep/reddit-post 解析器路由,并将结构化 JSON 渲染为干净的 markdown + 基本 HTML。
  • 如果组合的内联内容超过 9MB,内容字段将为空,result.size_exceeded 设置为 true,你可以从 result.json_hosted_url 获取完整的负载。

带抓取的示例

响应

你将收到一个 search 对象作为响应。search 对象包含一个 id,你原始的 query,credits_consumed,以及一个包含 links 列表的 result。
result.links 中的每个链接包含: 完整结果也可以作为托管 JSON 文件在 result.json_hosted_url 处获取 — 当 result.size_exceeded 为 true 时非常有用。

检索过去的搜索

GET /v1/searches/{search_id} 返回在搜索时持久化的内容,包括任何抓取的内容。这是一个纯粹的幂等读取 — 无需重新抓取,无需重新计费。没有 scrape_options 的旧搜索没有每个链接的内容字段。
查看 获取搜索 以获取完整详细信息。

存储

搜索的存储文件默认保留 7 天。在 POST /v1/searches 上传递一个 storage 对象以保持更长时间或无限期。该设置涵盖了 result.json_hosted_url 上的托管 JSON 文件,并且在设置 scrape_options 时,涵盖了为每个链接抓取的内容。 省略 storage,或发送不带 expires_in 的 storage,则使用 7d。创建响应和 GET /v1/searches/{search_id} 都包含生效的值:
cURL
无效值返回 400:

价格

每次搜索花费 5 个积分。 当提供 scrape_options 时,每个抓取的页面按标准 /v1/scrapes 费率计费(通常每页 1 个积分;某些解析器费用更高)。总数在 credits_consumed 中返回。 示例: