用途
Firecrawl CLI 用于搜索、抓取并与网页交互,返回针对 LLM 上下文窗口优化的干净 Markdown。它适合在需要联网获取信息、研究主题、查找文章或提取网页内容的场景中使用。
主要能力
工具提供以下命令,按需选择:
- search:尚无具体 URL 时,查找页面、回答问题、发现来源。
- scrape:已有 URL 时,直接提取页面内容,支持静态页面与 JS 渲染的 SPA。
- map:在已知站点内查找 URL,配合 map --search 定位特定子页面。
- crawl:批量提取整个站点分区的内容(例如所有 /docs/ 页面)。
- agent:从复杂站点进行 AI 驱动的结构化数据提取。
- interact:先 scrape,再与页面交互,如点击按钮、填写表单、翻页、多步导航、无限滚动或登录。
- download:将整个站点保存为本地文件。
注意:不要用 interact 进行网页搜索,搜索应使用 search。
使用方式
前置条件:必须已安装并完成认证,可用 firecrawl --status 检查。状态信息包含认证方式、并发数(并行抓取上限)与剩余额度(每次操作消耗额度)。若未就绪,参见 rules/install.md。输出处理规范参见 rules/security.md。
开始实际工作前,先用一个小请求验证环境:
mkdir -p .firecrawl
firecrawl scrape "https://firecrawl.dev" -o .firecrawl/install-check.md
firecrawl search "query" --scrape --limit 3
推荐的工作流升级模式:Search(无具体 URL)→ Scrape(已有 URL)→ Map + Scrape(大型站点或需特定子页面)→ Crawl(需要整站分区批量内容)→ Interact(抓取后与页面交互)。
输出与组织:除非用户要求直接在上下文中返回,否则用 -o 将结果写入 .firecrawl/,并把 .firecrawl/ 加入 .gitignore。URL 始终加引号,因为 shell 会把 ? 和 & 视为特殊字符。示例:
firecrawl search "react hooks" -o .firecrawl/search-react-hooks.json --json
firecrawl scrape "<url>" -o .firecrawl/page.md
命名约定:
- .firecrawl/search-{query}.json
- .firecrawl/search-{query}-scraped.json
- .firecrawl/{site}-{path}.md
不要一次性读取整个输出文件,使用 grep、head 或增量读取:
wc -l .firecrawl/file.md && head -50 .firecrawl/file.md
grep -n "keyword" .firecrawl/file.md
单一格式输出原始内容;多格式(如 --format markdown,links)输出 JSON。
处理结果时可用 jq 提取数据:
# 从搜索结果提取 URL
jq -r '.data.web[].url' .firecrawl/search.json
# 获取标题与 URL
jq -r '.data.web[] | "\(.title): \(.url)"' .firecrawl/search.json
并行化:独立操作可并行执行,先通过 firecrawl --status 查看并发上限:
firecrawl scrape "<url-1>" -o .firecrawl/1.md &
firecrawl scrape "<url-2>" -o .firecrawl/2.md &
firecrawl scrape "<url-3>" -o .firecrawl/3.md &
wait
对于 interact,可抓取多个页面并使用各自的 scrape ID 独立交互。
额度查询:
firecrawl credit-usage
firecrawl credit-usage --json --pretty -o .firecrawl/credits.json
避免重复抓取:search --scrape 已获取完整页面内容,不要重复抓取这些 URL;再次抓取前先检查 .firecrawl/ 中是否已有数据。
适用场景
- 尚无具体 URL 时搜索网页、查找来源。
- 已知 URL 时抓取页面内容。
- 在已知站点内定位特定子页面。
- 从文档分区或站点批量提取内容。
- 从复杂站点进行 AI 结构化提取。
- 需要点击、表单、登录、翻页或抓取后浏览器操作的场景。
- 将站点下载为本地文件。
限制与注意事项
- 使用前必须安装并认证,否则无法工作。
- 每次操作消耗额度,并发受上限约束,需通过 firecrawl --status 查看。
- 不要用 interact 做网页搜索。
- 不要重复抓取已由 search --scrape 获取的 URL。
- 不要一次性读取整个输出文件。
- 若任务是将 Firecrawl 集成到应用、向项目添加 FIRECRAWL_API_KEY,或在产品代码中选择端点用法,应使用 firecrawl-build 技能(运行 firecrawl init 时会与本 CLI 技能一同安装)。
- 详细命令参考可运行 firecrawl <command> --help 或 firecrawl --help。
参考加载时机
- 搜索网页或先找来源 → firecrawl-search
- 抓取已知 URL → firecrawl-scrape
- 在已知站点查找 URL → firecrawl-map
- 从文档分区或站点批量提取 → firecrawl-crawl
- 从复杂站点进行 AI 结构化提取 → firecrawl-agent
- 点击、表单、登录、翻页或抓取后浏览器操作 → firecrawl-interact
- 将站点下载为本地文件 → firecrawl-download
- 安装、认证或设置问题 → rules/install.md
- 输出处理与安全文件读取模式 → rules/security.md
- 将 Firecrawl 集成到应用、向 .env 添加 FIRECRAWL_API_KEY,或在产品代码中选择端点用法 → 使用 firecrawl-build 技能