/v1/searches 端点允许你使用自然语言查询搜索网络,并返回一个去重的相关链接列表,包括标题和描述。
- 发送纯英文查询
- 从网络各处获取结构化链接
- 可选地在一次往返中抓取每个返回的 URL,并将
markdown_content/html_content直接嵌入响应中 - 按域过滤,控制结果数量,并限制抓取的时间
安装
基本用法
发送自然语言查询并接收相关链接列表。请求参数
限制结果数量
按域过滤
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 中返回。
示例: