/extract
端点让你更轻松地从任意数量的 URL 或整个域名收集结构化数据。你只需提供一个 URL 列表(可选使用通配符,例如 example.com/*
),再配上描述所需信息的提示词或 JSON 模式即可。Firecrawl 会负责爬取、解析与汇总,无论数据集大小如何。
Extract 的计费方式不同于其他端点。详情请参见 Extract 定价。
使用 /extract
- 单个页面
示例:https://firecrawl.dev/some-page
- 多个页面 / 整个域名
示例:https://firecrawl.dev/*
/*
时,Firecrawl 会自动在该域名内爬取并解析它能发现的所有 URL,然后提取所需的数据。此功能仍处于实验阶段;如遇问题,请发送邮件至 help@firecrawl.com。
示例用法
- urls:一个或多个 URL 的数组。支持通配符(
/*
)以进行更广泛的爬取。 - prompt(可选,若无 schema 则必填):用自然语言描述所需数据,或说明数据应如何结构化。
- schema(可选,若无 prompt 则必填):当已知 JSON 结构时使用的更严格定义。
- enableWebSearch(可选):设为
true
时,提取可跟随链接跳出指定域名。
响应(SDK)
JSON
作业状态与完成
- 获取作业状态:向 /extract/ 端点发送请求,查看作业是否仍在运行或已完成。
- 等待结果:如果你使用默认的
extract
方法(Python/Node),SDK 会等待并返回最终结果。 - 先启动再轮询:如果你使用启动方法——
start_extract
(Python)或startExtract
(Node),SDK 会立即返回一个 Job ID。使用get_extract_status
(Python)或getExtractStatus
(Node)检查进度。
此端点仅对进行中或最近完成(24 小时内)的作业有效。
可能的状态
- completed: 提取已成功完成。
- processing: Firecrawl 仍在处理你的请求。
- failed: 发生错误,数据未完整提取。
- cancelled: 该任务已被用户取消。
处理中示例
JSON
完成示例
JSON
无需 Schema 的提取
prompt
。底层模型会自动为你选择结构,这在进行探索性或更灵活的请求时很有用。
JSON
通过网页搜索提升结果
enableWebSearch = true
启用后,抓取范围会扩展到所提供的 URL 集合之外,从而获取来自相关链接页面的支撑性或关联信息。
下面是一个示例:它提取有关行车记录仪的信息,并使用相关页面的数据来充实结果:
含网页搜索的示例响应
JSON
无需提供 URL 的提取
/extract
端点现已支持在不提供特定 URL 的情况下,基于提示提取结构化数据。适用于研究场景或在确切 URL 不确定时使用。目前处于 Alpha 阶段。
已知限制(Beta)
-
大规模站点覆盖
目前尚不支持在单个请求中完整覆盖超大型网站(例如“Amazon 上的所有产品”)。 -
复杂逻辑查询
类似“查找 2025 年的所有帖子”的请求可能无法稳定返回全部预期数据。更高级的查询能力正在开发中。 -
偶发不一致
不同运行的结果可能有所差异,尤其是在非常大型或动态的网站上。通常能捕获核心信息,但可能存在一定差异。 -
Beta 状态
由于/extract
仍处于 Beta,功能和性能将持续演进。欢迎提交问题与反馈,帮助我们改进。
使用 FIRE-1
/extract
端点使用 FIRE-1 代理。
示例(cURL):
FIRE-1 已上线,目前处于预览可用状态。