firecrawl / firecrawl
firecrawl/firecrawl
用于大规模搜索、抓取和交互网页的上下文API。🔥
项目概览
项目概述
Firecrawl 是一个开源的 Web 上下文 API,旨在帮助 AI 代理和开发者大规模地搜索、抓取和交互网页内容。它能够将网页转换为干净的 Markdown 或结构化数据,支持 JavaScript 渲染的页面,并提供高可靠性和低延迟。项目采用 TypeScript 编写,遵循 AGPL-3.0 许可证,同时提供托管服务和自托管选项。
核心功能
- 搜索 (Search):搜索网页并获取结果的完整页面内容。
- 抓取 (Scrape):将任意 URL 转换为 Markdown、HTML、截图或结构化 JSON。
- 交互 (Interact):抓取页面后,通过 AI 提示或代码与页面进行交互(如点击、滚动、输入)。
- 代理 (Agent):通过自然语言描述需求,自动完成数据收集任务。
- 爬取 (Crawl):通过单个请求抓取网站的所有 URL。
- 地图 (Map):快速发现网站上的所有 URL。
- 批量抓取 (Batch Scrape):异步抓取数千个 URL。
- 媒体解析:解析并提取网页托管的 PDF、DOCX 等文件内容。
- 动作 (Actions):在提取内容前执行点击、滚动、写入、等待等操作。
适用与不适用场景
适用场景:
- 为 AI 代理或 LLM 应用提供实时网页数据。
- 需要从复杂或 JavaScript 渲染的网站提取结构化数据。
- 大规模数据采集和内容聚合。
- 构建需要网页搜索和抓取能力的智能体。
不适用场景:
- 需要绕过网站访问控制或违反 robots.txt 的抓取行为。
- 对实时性要求极高且无法容忍 3.4 秒 P95 延迟的场景。
- 需要完全离线运行且不依赖外部服务的场景(自托管仍需基础设施)。
技术架构与依赖
- 语言:TypeScript
- 许可证:AGPL-3.0(SDK 和部分 UI 组件为 MIT)
- 主要依赖:Node.js 22、pnpm 11.4.0、Redis、PostgreSQL、RabbitMQ(用于本地开发和自托管)
- SDK 支持:Python、Node.js、Go、Java、Elixir、Rust、Ruby、.NET、PHP
- 集成:支持 MCP(Model Context Protocol)、Claude Code、Antigravity、OpenCode 等 AI 代理工具。
安装与快速开始
获取 API 密钥
在 firecrawl.dev 注册并获取 API 密钥。
使用托管服务(推荐)
通过 SDK 或 REST API 直接调用,无需本地安装。
自托管
参考 Self-Hosting Guide 进行部署。需要 Node.js 22、pnpm、Redis、PostgreSQL 和 RabbitMQ。
本地开发
cd apps/api
pnpm install
pnpm start
典型使用方法
搜索
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR_API_KEY")
search_result = app.search("firecrawl", limit=5)
抓取
result = app.scrape('firecrawl.dev')
交互
result = app.scrape("https://amazon.com")
scrape_id = result.metadata.scrape_id
app.interact(scrape_id, prompt="Search for 'mechanical keyboard'")
代理(Agent)
result = app.agent(prompt="Find the pricing plans for Notion")
爬取整个网站
docs = app.crawl("https://docs.firecrawl.dev", limit=50)
配置与部署要点
- API 密钥:所有请求需在 Authorization 头中携带 Bearer 令牌。
- 环境变量:自托管时需配置数据库、消息队列和 Redis 连接。
- 异步任务:Crawl 和 Batch Scrape 为异步操作,SDK 会自动轮询状态。
- 模型选择:Agent 功能支持
spark-1-mini(默认,成本低)和spark-1-pro(复杂任务)。 - 合规性:默认遵守 robots.txt,用户需自行确保抓取行为符合目标网站政策。
限制、风险与许可证
- 许可证:AGPL-3.0(主项目),SDK 和部分 UI 组件为 MIT。
- 风险:抓取行为可能违反网站服务条款,用户需自行承担风险。
- 限制:托管服务有速率限制和配额;自托管需要维护基础设施。
- 数据合规:用户应遵守适用的隐私政策和法律法规。
官方链接
信息来源和分析时间
- 信息来源:GitHub 仓库 README、CONTRIBUTING.md、最新发布信息(v2.11.0)。
- 分析时间:2026年6月19日(基于最新发布信息)。