- 代劳繁杂环节:代理、缓存、速率限制、被 JS 屏蔽的内容
- 处理动态内容:动态网站、JS 渲染页面、PDF、图片
- 输出整洁的 Markdown、结构化数据、截图或 HTML。
使用 Firecrawl 抓取 URL
/scrape 端点
安装
使用方式
响应
抓取 formats
- Markdown (
markdown
) - Summary (
summary
) - HTML (
html
) - 原始 HTML(
rawHtml
,不做任何修改) - 截图(
screenshot
,可用选项包括fullPage
、quality
、viewport
) - 链接(
links
) - JSON(
json
)— 结构化输出
提取结构化数据
/scrape(使用 JSON)端点
JSON
无需 schema 的提取
prompt
,即可在不提供 schema 的情况下进行提取。LLM 会自行决定数据结构。
JSON
JSON 格式选项
json
格式时,在 formats
中传入一个对象,包含以下参数:
schema
:用于结构化输出的 JSON Schema。prompt
:可选提示;在提供 schema 时或仅需轻量指引时用于辅助抽取。
使用 actions 与页面交互
wait
action,为页面加载预留足够时间。
示例
输出
位置与语言
工作原理
用法
location
对象,并提供以下属性:
country
:ISO 3166-1 alpha-2 国家/地区代码(例如“US”“AU”“DE”“JP”)。默认值为“US”。languages
:按优先级排序的首选语言和区域设置数组。默认使用所设位置对应的语言。
缓存与 maxAge(缓存)
- 默认新鲜度窗口:
maxAge = 172800000
毫秒(2 天)。如果缓存页面仍在该窗口内,将立即返回;否则会重新抓取页面并写入缓存。 - 性能:在数据对时效性要求不高时,抓取速度可提升至最多 5 倍。
- 始终获取最新:将
maxAge
设为0
。 - 避免存储:如果不希望 Firecrawl 为本次请求缓存/存储结果,将
storeInCache
设为false
。
批量抓取多个 URL
工作原理
/crawl
端点的运行方式非常相似。它会提交一个批量抓取作业,并返回一个作业 ID,用于检查该批量抓取的状态。
SDK 提供两种方式:同步与异步。同步方式会直接返回批量抓取作业的结果,异步方式则会返回一个作业 ID,供您用于查询批量抓取的状态。
使用方法
Response
同步执行
已完成
异步
/batch/scrape/{id}
端点来查看批量抓取的状态。该端点应在作业仍在运行期间或刚完成后使用,因为批量抓取作业会在 24 小时后过期。