Skip to main content
进行网页搜索,并通过一次 API 调用从每个结果中获取干净、结构化的内容。将查询传递给 /search,Firecrawl 会返回标题、描述和 URL。添加 scrapeOptions 后,还可为每个结果获取完整页面的 markdown、HTML、links 或 screenshots。 搜索结果默认包含与查询相关的 Highlights。如果你希望改为显示每个网站的普通描述或摘要片段,请将 highlights 设置为 false 完整参数列表请参阅 Search Endpoint API Reference

在 Playground 中试用

在交互式 Playground 中试用搜索功能——无需写代码。

使用 Firecrawl 进行搜索

/search 端点

用于执行网页搜索,并可选择从结果中获取内容。

安装

基本用法

响应

SDKs 会直接返回数据对象。cURL 会返回完整的负载。
JSON
**SDK 用户:**搜索结果会按来源类型分组,而不是统一放在 .data 数组下。可通过 result.web 访问网页结果,通过 result.news 访问新闻结果,通过 result.images 访问图片结果。
Python
JavaScript

搜索结果类型

除了常规网页结果外,Search 还可通过 sources 参数支持以下专用结果类型:
  • web:标准网页结果 (默认)
  • news:新闻结果
  • images:图片搜索结果
你可以在一次调用中请求多个 source (例如 sources: ["web", "news"]) 。此时,limit 参数会按每种 source 类型分别生效——因此,当 limit: 5sources: ["web", "news"] 时,会分别返回最多 5 条 web 结果和最多 5 条 news 结果 (合计最多 10 条) 。如果你需要为不同的 source 设置不同的参数 (例如不同的 limit 值或不同的 scrapeOptions) ,请分别发起独立的调用。

搜索类别

使用 categories 参数按特定类别过滤搜索结果:
  • github:在 GitHub 的仓库、代码、Issue 和文档中搜索
  • research:搜索学术与科研网站 (arXiv、Nature、IEEE、PubMed 等)
  • pdf:搜索 PDF 文档
在 GitHub 仓库中进行定向搜索:
cURL
搜索学术与科研类网站:
cURL
在一次搜索中合并多个类别:
cURL

域名过滤器

使用 includeDomains 可将搜索结果限制在特定域名内,或使用 excludeDomains 将特定域名从搜索中排除。这些字段会在内部为查询添加 site:-site: 操作符,因此只需传入域名,不要包含协议或路径。
includeDomainsexcludeDomains 互斥。单个请求中只能使用其中之一。

包含域名

cURL

排除域名

cURL

分类响应格式

每条搜索结果都包含一个 category 字段,用于标示其来源:
示例:
cURL
cURL

按尺寸筛选的高清图片搜索

使用 images 源的搜索运算符查找高分辨率图片:
cURL
cURL
常见高清分辨率:
  • imagesize:1920x1080 - 全高清 (1080p)
  • imagesize:2560x1440 - QHD (1440p)
  • imagesize:3840x2160 - 4K UHD
  • larger:1920x1080 - 高清及以上
  • larger:2560x1440 - QHD 及以上

搜索并抓取内容

在一次操作中完成搜索并从结果中提取内容。
通过 scrapeOptions 参数,该搜索端点支持 /scrape 端点中的所有选项。

包含爬取内容的响应

先搜索,再抓取 (两步模式)

如果你需要在抓取前先对搜索结果进行筛选或处理,可采用两步方式:先搜索,再抓取所需的 URL。
何时使用哪种方式:
  • 单步 (在 search 中使用 scrapeOptions) :适合需要获取所有结果内容的场景。更简单,也更快。
  • 两步 (先搜索再抓取) :适合需要对结果进行筛选、排序或选择性抓取的场景。更灵活。
这两种方式在抓取步骤中都使用 Firecrawl。不要使用通用的 HTTP 抓取方式,也不要仅根据搜索结果摘要进行总结——Firecrawl scrape 提供的完整页面内容,才是让结果有据可依且完整的关键。

高级搜索选项

Firecrawl 的搜索 API 支持通过多种参数自定义搜索:

位置定制

使用 tbs 参数按时间过滤结果。注意,tbs 仅适用于 web 来源的结果——不会过滤 newsimages 结果。如果你需要按时间过滤的新闻结果,建议使用 web 来源,并结合 site: 运算符将范围限定到特定新闻域名。
常用 tbs 值:
  • qdr:h - 过去 1 小时
  • qdr:d - 过去 24 小时
  • qdr:w - 过去 1 周
  • qdr:m - 过去 1 个月
  • qdr:y - 过去 1 年
  • sbd:1 - 按日期排序 (最新优先)
若需更精确的时间过滤,可使用自定义日期范围格式指定确切的日期区间:
你可以将 sbd:1 与时间过滤条件组合使用,在指定时间范围内按日期排序返回结果。例如,sbd:1,qdr:w 会返回过去一周内的结果,并按最新优先排序;sbd:1,cdr:1,cd_min:12/1/2024,cd_max:12/31/2024 会返回 2024 年 12 月的结果,并按日期排序。

自定义超时

为搜索操作设置自定义超时时间:

零数据保留 (ZDR)

对于有严格数据处理要求的团队,Firecrawl 可通过 enterprise 参数为 /search 端点提供零数据保留 (ZDR) 选项。ZDR 搜索功能适用于 Enterprise 计划——访问 firecrawl.dev/enterprise 即可开始使用。
这与 zeroDataRetention 抓取选项不同,后者用于控制抓取操作的 ZDR。详见 Scrape ZDRenterprise 参数仅适用于请求中的搜索部分。

端到端 ZDR

使用端到端 ZDR 时,Firecrawl 及我们的上游搜索服务提供商均实行零数据保留。整个流程中的任何环节都不会存储查询或结果数据。
  • 成本: 每 10 个结果 10 额度
  • 参数: enterprise: ["zdr"]
cURL

匿名化 ZDR

使用匿名化 ZDR 时,Firecrawl 会在我们这一侧实施完全的零数据保留。我们的搜索提供商可能会缓存查询,但这些查询已被完全匿名化——不附带任何可识别信息。
  • 成本: 每 10 个结果 2 个额度
  • 参数: enterprise: ["anon"]
cURL

结合使用 Search ZDR 和 Scrape ZDR

如果你使用的是带内容抓取 (scrapeOptions) 的 search,则 enterprise 参数适用于搜索部分,而 scrapeOptions 中的 zeroDataRetention 则适用于抓取部分。要让这两部分都实现完整的 ZDR,请同时设置这两个参数:
cURL

成本影响

每次搜索的费用为每 10 条搜索结果消耗 2 个额度,并向上取整 (1–10 条结果 = 2 个额度,11–20 条 = 4 个额度,依此类推) 。如果启用了抓取选项,每个搜索结果会按标准抓取费用计费:
  • Basic scrape:每个网页 1 个额度
  • PDF parsing:每个 PDF 页面 1 个额度
  • Enhanced proxy mode:每个网页额外 4 个额度
  • JSON mode:每个网页额外 4 个额度
为控制成本,可以:
  • 如果不需要 PDF 解析,将其设置为 parsers: []
  • 在可能的情况下使用 proxy: "basic" 而不是 "enhanced",或者将其设置为 "auto"
  • 使用 limit 参数限制搜索结果数量

高级抓取选项

有关抓取选项的更多详细信息,请参阅 Scrape 功能文档。除 FIRE-1 Agent 和 Change-Tracking 功能外,其余均受此搜索端点支持。
你是需要 Firecrawl API 密钥的 AI 代理吗?请参见 firecrawl.dev/agent-onboarding/SKILL.md 了解自动化入门说明。

搜索反馈

如果搜索结果有帮助,或遗漏了重要内容,请使用 POST /v2/search/{jobId}/feedback 提交反馈。针对某个搜索任务首次提交反馈可返还 1 个额度,但需受团队限制约束,同时也有助于提升 Firecrawl 的搜索质量。请参见 搜索反馈