传统 Web 爬虫需要开发者自己处理 JavaScript 渲染、网页结构解析、反爬、代理、内容清洗、链接发现和数据格式转换。但对 AI 应用来说,困难更大:模型需要的不是一堆原始 HTML,而是能直接进入上下文、RAG 知识库或结构化数据管道的干净内容。
Firecrawl 就是为了解决这个问题而设计的工具。它提供一套面向 AI 应用和 Agent 的 Web 数据 API,可以搜索、抓取单个页面、递归爬取网站、发现 URL、与网页交互,并把结果转换成 Markdown、HTML、JSON、截图等格式。Firecrawl 既开源,也提供托管版 Cloud 服务。
如果你在开发 AI Agent、RAG、AI 搜索、Deep Research、知识库或自动化数据采集系统,Firecrawl 值得了解。
一、Firecrawl 是什么?¶
Firecrawl 可以理解为专门为 AI 应用准备的 Web Context API(网页上下文 API)。
它的核心思路不是简单地“下载网页”,而是:
网页 → 抓取与解析 → 清洗 → 转换 → AI 可直接使用的数据
例如,一个普通网页可能包含:
- 导航栏
- 广告
- Cookie 弹窗
- JavaScript
- 多余的 CSS/HTML
- 页脚
- 推荐内容
- 动态加载内容
- 登录或交互流程
直接把这样的网页源码交给大语言模型,会浪费上下文,也会降低信息质量。
Firecrawl 可以把网页处理成更适合 AI 使用的内容,最常见的是 Markdown,也能得到结构化 JSON、HTML、链接、图片和截图。官方文档目前还提供 Search、Scrape、Interact、Map、Crawl、Parse、Agent 等能力。
所以 Firecrawl 更准确的定位不是传统意义上的“网页爬虫”,而是位于:
互联网 → AI 应用
之间的数据基础设施。
二、Firecrawl 为什么适合 AI?¶
传统爬虫解决的是“怎么把网页抓下来”。
Firecrawl 更关注:
怎么让 AI 能够可靠地使用网页数据。
官方文档将其核心能力概括为几个方向:搜索网页、抓取页面、与页面交互,以及网站级 Crawl、URL Map、文档解析和 AI Agent 数据采集。
例如,一个 AI Agent 想回答:
“帮我调查某个产品最近的价格、功能和竞争对手。”
传统做法可能需要:
- 调用搜索引擎;
- 获取搜索结果;
- 打开网页;
- 等待 JavaScript 加载;
- 解析网页;
- 清理正文;
- 找到相关页面;
- 提取数据;
- 转换成 JSON;
- 再交给 LLM。
Firecrawl 把大量 Web 数据处理工作封装成 API,开发者可以直接把结果送到自己的 Agent、RAG 或数据处理系统中。
这是 Firecrawl 在 AI 应用开发中的核心价值。
三、Firecrawl 的核心功能¶
Firecrawl 当前的能力已经不再局限于单纯的网页 Scrape,可以理解成下面这组工具:
| 功能 | 主要用途 |
|---|---|
| Search | 搜索互联网并获取搜索结果内容 |
| Scrape | 抓取单个 URL |
| Crawl | 递归抓取整个网站 |
| Map | 快速发现网站中的 URL |
| Interact | 与网页进行点击、输入、滚动等交互 |
| Agent | 让 AI 自主搜索、导航和收集数据(含结构化提取) |
| Parse | 解析本地 PDF、DOCX、XLSX、HTML 等文件 |
| Webhooks | 对异步任务进行事件通知 |
| MCP | 让 AI Agent 直接使用 Firecrawl 的 Web 能力 |
这些能力共同组成了 Firecrawl 面向 AI Agent 的数据获取体系。
下面分别介绍其中最重要的功能。
四、Scrape:最核心的网页抓取能力¶
Scrape 是 Firecrawl 最基础、也是最常用的功能。
使用 /v2/scrape,可以针对一个 URL 抓取网页内容。
例如:
curl -s -X POST "https://api.firecrawl.dev/v2/scrape" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"formats": ["markdown"]
}'
Firecrawl 会返回类似这样的数据:
{
"success": true,
"data": {
"markdown": "# Example\n\nThis is an example page.",
"metadata": {
"title": "Example",
"statusCode": 200
}
}
}
官方当前文档显示,Scrape 默认可以输出 Markdown,也可以根据请求同时返回 HTML 等内容。
支持哪些输出格式?¶
当前 Scrape 支持的输出能力很丰富,包括:
markdownhtmlrawHtmllinksimagessummaryjsonscreenshotchangeTrackingbranding- 以及部分媒体与特殊格式
其中,JSON 模式可以结合 JSON Schema 或自然语言 Prompt,让 LLM 根据网页内容直接提取结构化数据。
例如一个商品网页,可以要求返回:
{
"name": "产品名称",
"price": 99.99,
"currency": "USD",
"availability": true
}
这比让开发者自己写大量 CSS Selector 或 XPath 更适合 AI 应用。
五、Firecrawl 的 Markdown 输出有什么意义?¶
Firecrawl 受 AI 开发者欢迎的一点,就是可以把网页转换成比较干净的 Markdown。
例如一个博客页面最终可以变成:
# Firecrawl 教程
Firecrawl 是一个面向 AI 的 Web 数据 API。
## 核心功能
- 网页抓取
- 网站爬取
- 搜索
- 数据提取
- 浏览器交互
相比直接传入 HTML,Markdown 更适合:
- LLM 上下文
- RAG
- Embedding
- 文档知识库
- AI 搜索
- 长文本分析
- Agent 数据处理
这也是 Firecrawl 与很多传统 Web Scraper 的区别:它从设计上就考虑了“抓下来之后如何被 AI 使用”。
六、处理 JavaScript 动态网站¶
现代网站大量采用 React、Vue、Next.js 等技术,很多内容不会直接存在于初始 HTML 中。
如果只使用简单的 HTTP 请求获取源码,很可能拿到的只是一个页面框架。
Firecrawl 的抓取流程支持浏览器渲染,同时对代理、动态内容以及一些常见网页抓取问题进行处理。官方将 JavaScript rendering、dynamic content、proxies 等列为其核心能力之一。
这意味着它特别适合抓取 SaaS 网站、产品页面、JavaScript 应用、动态博客、文档网站、电商网站等需要浏览器执行 JavaScript 的网页。
当然,不是任何网站都能无条件抓取成功,目标网站自身的访问控制、身份验证、验证码以及服务条款仍然会影响最终结果。
七、Actions:先操作网页,再抓取内容¶
Firecrawl 还提供了页面 Actions。
例如:
- 打开网页;
- 等待页面加载;
- 点击按钮;
- 输入文字;
- 按下键盘按键;
- 滚动页面;
- 执行 JavaScript;
- 截图;
- 再抓取最终内容。
官方目前支持 wait、click、write、press、scroll、screenshot、scrape、executeJavascript、pdf 等 Action。
例如:
from firecrawl import Firecrawl
firecrawl = Firecrawl(api_key="fc-YOUR_API_KEY")
doc = firecrawl.scrape(
"https://example.com",
formats=["markdown"],
actions=[
{"type": "wait", "milliseconds": 1000},
{"type": "click", "selector": "#load-more"},
{"type": "scroll", "direction": "down"},
{"type": "wait", "milliseconds": 1000}
]
)
print(doc.markdown)
这种模式对于动态页面尤其有价值。
八、Interact:真正“操作”网页¶
如果 Actions 还不够,Firecrawl 当前进一步提供了 Interact。
它的思路是:
先 Scrape → 获取一个浏览器会话 → 再继续操作这个页面。
例如:
打开 Amazon
↓
搜索某个产品
↓
点击搜索结果
↓
读取价格
官方示例中就是通过 scrapeId 保留浏览器会话,然后连续调用 interact。后续调用会复用同一个浏览器状态。
例如(Python SDK):
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR_API_KEY")
# 1. 先 Scrape Amazon 首页,获取 scrapeId
result = app.scrape("https://www.amazon.com", formats=["markdown"])
scrape_id = result.metadata.scrape_id
# 2. 连续与自己操作的页面交互
app.interact(scrape_id, prompt="Search for iPhone 16 Pro Max")
response = app.interact(scrape_id, prompt="Click on the first result and tell me the price")
print(response.output)
# 3. 结束后停止会话
app.stop_interaction(scrape_id)
Interact 支持两类方式:
1. 使用自然语言¶
例如:
Search for iPhone 16 Pro Max
然后:
Click on the first result and tell me the price
2. 使用浏览器代码¶
例如通过 Playwright 操作:
await page.click('#next-page');
await page.waitForLoadState('networkidle');
这让 Firecrawl 从“网页抓取 API”进一步变成了可以驱动浏览器执行操作的 Web Agent 基础设施。
九、Search:搜索互联网并直接获得网页内容¶
Firecrawl 的 Search 也是一项重要能力。
与单纯调用搜索接口不同,Firecrawl 可以在搜索的同时继续抓取搜索结果内容。
官方当前的 /search 支持:
- Web 搜索
- News 搜索
- Images 搜索
- Domain 过滤
- 时间范围
- 地区与语言设置
- 搜索结果抓取
- Highlights 等
它还可以在一次调用中返回搜索结果对应的页面内容。
例如:
from firecrawl import Firecrawl
firecrawl = Firecrawl(api_key="fc-YOUR_API_KEY")
results = firecrawl.search(
"AI agent web scraping",
limit=5
)
for item in results.web or []:
print(item.url, item.title)
这对于 AI 搜索、Deep Research、市场调研、新闻分析、竞品调查、Agent 自动检索等都非常有用。
十、Search + Scrape:构建 AI 搜索的重要模式¶
一个典型的 AI 搜索系统可以设计成:
用户问题
↓
Firecrawl Search
↓
找到相关网页
↓
抓取网页内容
↓
清洗 Markdown
↓
LLM 分析
↓
最终答案
Firecrawl 官方文档也提供了 Search + Scrape 的使用方式。
因此,如果你正在开发“类似 Perplexity 的 AI 搜索功能”,或者“能够自动浏览互联网并总结答案的 Agent”,Firecrawl 可以承担其中的 Web 数据获取部分。
十一、Map:快速发现一个网站有哪些页面¶
Map 可以理解成:
给我一个网站,我先帮你找到它有哪些 URL。
例如:
curl -X POST https://api.firecrawl.dev/v2/map \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
"url": "https://firecrawl.dev"
}'
Firecrawl 的 /map 主要通过网站 Sitemap、搜索结果以及已有 Crawl 数据发现 URL。它的主要目标是速度,因此并不保证一定获得网站的全部链接。
这个功能适合:
- 网站结构分析
- 文档 URL 发现
- 选择需要抓取的页面
- 网站内容索引
- RAG 数据源发现
一个常见流程就是:
Map
↓
发现 URL
↓
筛选需要的 URL
↓
Scrape
↓
进入知识库
而且目前 Map 的计费方式比较特殊:一次 Map 请求按 1 credit 计算,而不是按照返回的 URL 数量逐个计费。
十二、Crawl:递归抓取整个网站¶
如果 Scrape 是:
抓一个页面
那么 Crawl 就是:
抓整个网站。
例如:
from firecrawl import Firecrawl
firecrawl = Firecrawl(api_key="fc-YOUR_API_KEY")
docs = firecrawl.crawl(
"https://docs.example.com",
limit=100
)
for doc in docs.data:
print(doc.metadata.source_url)
Firecrawl 会从起始 URL 出发,不断发现其他页面,并继续抓取。
官方当前 Crawl 支持:
- Sitemap
- 递归链接发现
- 路径过滤
- 深度限制
- 子域名控制
- 外部链接控制
- Markdown
- JSON
- HTML 等输出格式
大型 Crawl 任务还可以通过轮询、WebSocket 或 Webhook 获取结果。
例如,一个公司的产品文档:
https://docs.example.com
下面可能拥有:
/docs/getting-started
/docs/api
/docs/sdk
/docs/tutorials
/docs/configuration
...
成为文档知识库的基础。
十三、结构化提取:过去是 Extract,现在用 Agent¶
结构化提取能力是 AI 应用很重要的一部分。
传统爬虫往往需要:
网页
↓
CSS Selector
↓
XPath
↓
字段解析
↓
结构化数据
而 Firecrawl 可以使用 LLM,根据 Prompt 或 Schema 进行提取。
例如,从公司官网提取结构化信息:
从这些公司官网提取公司名称、创始人、总部、产品类型和定价。
最终获得:
{
"company": "Example",
"founders": ["John Doe"],
"location": "San Francisco",
"product": "AI Platform",
"pricing": "$99/month"
}
需要说明的是:Firecrawl 官方已将旧版的 /extract 端点整合进 Agent 能力,推荐使用 Agent(或 Scrape 的 JSON 格式)来实现结构化提取。
对于 Lead Enrichment、企业信息采集、竞品研究、市场数据采集、商品信息提取、数据清洗等都非常实用。
十四、Agent:让 AI 自己寻找网页数据¶
这是 Firecrawl 当前最值得关注的功能之一。
传统方式需要你明确告诉程序:
抓这个 URL
Agent 的思路则是:
告诉 AI 你想找什么
↓
AI 自己搜索
↓
寻找相关网站
↓
深入网页
↓
提取数据
↓
返回结果
官方对 Agent 的定位就是:
当你不知道具体 URL,或者需要自主浏览多个网站时使用 Agent。
例如:
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR_API_KEY")
result = app.agent(
prompt="Find the founders of Firecrawl"
)
print(result.data)
还可以使用 Schema,让 Agent 返回结构化数据:
result = app.agent(
prompt="Find the founders of Firecrawl",
schema=FoundersSchema
)
Agent 还支持通过 model 参数选择模型(例如更便宜的 spark-1-mini 与更高精度的 spark-1-pro),并通过 max_credits 控制单次任务最多消耗的 Credits,从“单站简单查找”一直到“深度研究、复杂导航”。
Agent 目前仍处于预览阶段(定价页将其标注为 Agent (Preview),每天有少量免费运行额度),不应该理解成已经完全稳定的生产级能力。
不过对于复杂研究任务,它很有潜力。
十五、Parse:不仅能处理网页,还能处理文档¶
Firecrawl 当前还提供 /parse。
它主要用于:
本地文件或者无法通过公开 URL 访问的文档。
支持的类型包括:
- DOCX
- DOC
- ODT
- RTF
- XLSX
- XLS
- HTML 等
解析后可以获得:
- Markdown
- HTML
- JSON
- Links
- Images
- Summary
并尽量保留阅读顺序和表格结构。官方当前文档还显示单个文件最大支持 50 MB。
这意味着 Firecrawl 可以用于:
PDF
Word
Excel
网页
↓
Firecrawl
↓
统一的 AI-ready 数据
↓
LLM / RAG / Agent
例如:
上传一份 PDF 年报,提取公司营收、员工数量和地区分布。
就可以直接通过 JSON Schema 获取结构化结果。
十六、Firecrawl 与 RAG 的结合¶
Firecrawl 和 RAG 的组合很自然。
一个典型架构如下:
官方网站
↓
Firecrawl
↓
Markdown / JSON
↓
文本切分
↓
Embedding
↓
Vector Database
↓
RAG
↓
LLM
例如你要做一个:
“公司产品知识库问答机器人”
可以定期使用 Crawl 抓取官网文档:
docs.example.com
↓
Crawl
↓
500 页
↓
Markdown
↓
Chunking
↓
Embeddings
↓
向量数据库
用户提问时,再从向量数据库检索相关内容。
Firecrawl 因此非常适合作为 RAG 系统的数据采集层。
十七、Firecrawl 与 AI Agent 的结合¶
如果 RAG 是先收集数据再回答问题,那么 Agent 更像是在用户提问时实时到互联网寻找数据。
架构可以是:
用户
↓
AI Agent
↓
Firecrawl Search
↓
Firecrawl Scrape
↓
Firecrawl Interact
↓
实时网页数据
↓
LLM
↓
答案
对于需要实时信息的应用,这种方式更灵活。
例如最新产品价格查询、竞品监控、实时市场调查、网站信息核查、多网站研究、新闻资料收集等,都可以使用这种架构。
十八、MCP:让 Claude、Cursor 等 AI 工具直接使用 Firecrawl¶
Firecrawl 当前还提供官方 MCP Server。
通过 MCP,支持 MCP 的 AI 应用可以把 Firecrawl 当成一个工具。
官方文档提供了将 Firecrawl MCP 接入 Claude Desktop、Cursor 等客户端的方案,并且目前支持 keyless(免 API Key)的远程 MCP 服务器 https://mcp.firecrawl.dev/v2/mcp,可以直接使用 Search、Scrape、Parse 等能力。
典型工作流:
Claude / Cursor
↓
MCP
↓
Firecrawl MCP Server
↓
Search / Scrape / Crawl
↓
互联网
当前推荐的配置方式(keyless 远程 MCP)类似:
{
"mcpServers": {
"firecrawl": {
"url": "https://mcp.firecrawl.dev/v2/mcp"
}
}
}
也可以在编码工具中输入:
npx -y firecrawl-cli@latest init --all --browser
它会自动安装 Firecrawl CLI、在浏览器中完成登录,并向检测到的编码工具添加 Firecrawl 相关 skills。若需要更高频率限制,再在 MCP 配置中加上 API Key。
这样,AI 编程助手就可以在需要的时候直接调用 Firecrawl 获取实时网页数据。
对现在越来越流行的 Agentic Coding 来说,这个能力很有价值。
十九、CLI:不写代码也可以使用 Firecrawl¶
Firecrawl 目前还提供 CLI。
例如:
npm install -g firecrawl-cli
登录后可以直接:
firecrawl https://example.com
也可以:
firecrawl scrape https://example.com
或者:
firecrawl search "AI web scraping"
CLI 同样支持多种格式输出以及批量 URL 处理。官方 CLI 文档还提供了针对本地 Firecrawl 实例、自托管实例的使用方式。
对于开发者来说,CLI 很适合:
- 快速测试
- Shell 自动化
- Agent 调用
- CI/CD
- 本地脚本
- 调试 API
二十、Python 与 Node.js SDK¶
Firecrawl 当前提供官方 SDK。
Python:
pip install firecrawl-py
使用:
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR_API_KEY")
doc = app.scrape(
"https://example.com",
formats=["markdown"]
)
print(doc.markdown)
Node.js:
npm install firecrawl
然后:
import { Firecrawl } from "firecrawl";
const app = new Firecrawl({
apiKey: "fc-YOUR_API_KEY"
});
const doc = await app.scrape(
"https://example.com",
{
formats: ["markdown"]
}
);
console.log(doc);
官方目前还提供 Go、Rust、Elixir、Java、.NET 等方向的 Quickstart/SDK 文档。
二十一、一个完整的 Python 示例¶
下面是一个比较适合作为入门测试的示例:
from firecrawl import Firecrawl
app = Firecrawl(
api_key="fc-YOUR_API_KEY"
)
result = app.scrape(
"https://example.com",
formats=[
"markdown",
"links"
]
)
print("Markdown:")
print(result.markdown)
print("\nLinks:")
print(result.links)
如果目标是 AI 数据抽取,还可以进一步使用 JSON:
result = app.scrape(
"https://example.com/product",
formats=[
{
"type": "json",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"price": {
"type": "number"
}
}
}
}
]
)
print(result.json)
当前 Firecrawl v2 的 JSON 提取方式与旧版 API 有所变化,现在 Schema 直接放在 formats 中的 json 对象里,而不是继续使用旧版 jsonOptions。
二十二、Firecrawl Cloud 与开源版本¶
Firecrawl 的特点之一,是它既有开源代码,也提供托管 Cloud 服务。
Firecrawl 项目的核心代码采用 AGPL-3.0;官方说明 SDK 和部分 UI 组件则使用 MIT 等其他许可证,因此如果进行商业化、自托管或二次开发,应分别查看对应目录的许可证。
两者最大的区别不是“有没有 Firecrawl API”,而是:
谁负责运行整个基础设施。
Firecrawl Cloud¶
你只需要:
注册账号
↓
获取 API Key
↓
调用 API
基础设施由 Firecrawl 负责。
官方当前建议,对于希望快速进入生产环境、又不希望自己维护整个抓取基础设施的用户,优先考虑 Firecrawl Cloud。
Self-host¶
你需要自己部署:
Firecrawl API
+
Workers
+
Playwright 浏览器服务
+
PostgreSQL(队列/数据)
+
Redis(缓存/限流)
+
RabbitMQ(消息队列)
+
其他相关服务
获得的优势是更强的:
- 基础设施控制权
- 源代码控制权
- 数据管理能力
- 私有环境部署能力
- 自定义服务能力
但同时也需要自己负责:
- 安全
- TLS
- 身份验证
- 数据持久化
- 监控
- 扩容
- 升级
- 灾备
- 网络策略
官方文档明确提醒,自托管并不是简单执行一次 docker compose up 就可以直接作为生产架构使用。
二十三、Firecrawl 自托管¶
Firecrawl 官方目前提供 Docker Compose 自托管方案。
官方自托管教程为了确保配置一致性,通常会固定验证在一个具体版本(例如 v2.11.162)。
需要特别注意:
示例中的版本号只是官方自托管教程当时验证过的版本,并不应该理解成 Firecrawl 主分支的“最新版本号”。实际部署前请以官方最新的自托管文档为准。
官方建议在自托管时先固定版本,再根据目标版本对应的 docker-compose.yaml 和自托管文档进行升级。
基本环境要求包括:
- Git
- Docker Engine 或 Docker Desktop
- Docker Compose v2
- curl
- 可用的 3002 端口
- 足够运行多个服务的主机资源
官方目前没有为该自托管栈发布一个统一的、经过验证的最低主机规格。
基本启动方式:
git clone https://github.com/firecrawl/firecrawl.git
cd firecrawl
git checkout <自托管文档中的目标版本>
docker compose up --build -d
官方教程随后建议执行一次真正的 /v2/scrape 请求进行端到端验证,而不是只检查健康接口。
例如:
curl \
--fail-with-body \
--silent \
--show-error \
--max-time 75 \
-X POST \
http://localhost:3002/v2/scrape \
-H 'Content-Type: application/json' \
-d '{
"url": "https://example.com",
"formats": ["markdown"],
"timeout": 60000
}'
官方特别强调,默认自托管配置是用于可信网络中的评估和验证,不应该直接暴露到公网作为生产环境。
二十四、自托管是不是等于所有 Cloud 功能都有?¶
不是。
这是部署 Firecrawl 时非常容易误解的一点。
官方当前文档明确指出,Firecrawl Cloud 提供一些云端专属产品能力,例如:
- Agent
- Browser
- 托管 Dashboard
- 增强的代理路径
- 企业级控制能力
自托管的默认环境主要覆盖核心 Scrape、Crawl、Map、Search 等能力,一些 LLM 相关功能和高级抓取能力还需要额外配置。
因此:
“Firecrawl 开源了”不代表“Firecrawl Cloud 的全部能力都可以无差别地本地部署”。
如果想获得网页 Markdown、Crawl 和基础数据采集能力,自托管有吸引力;如果重点依赖 Agent、Browser 和托管服务能力,则 Cloud 更方便。
二十五、Firecrawl 的价格¶
Firecrawl Cloud 当前采用 Credit 模式。
官方当前公开价格页面显示:
| 套餐 | 价格(按年计费展示) | 每月 Credits | 并发请求 |
|---|---|---|---|
| Free | $0 | 1,000 | 2 |
| Hobby | $16/月 | 5,000 | 5 |
| Standard | $83/月 | 100,000 | 25 |
| Growth | $333/月 | 500,000 | 50 |
| Scale | $599/月 | 1,000,000 | 100 |
| Enterprise | 定制 | 定制 | 定制 |
其中 Free 套餐目前不需要信用卡,并提供 1,000 credits/月。表内价格为按年计费展示价,按月计费价格会更高。
常见 API 的 Credit 消耗目前大致为:
| 功能 | Credit |
|---|---|
| Scrape | 1 / page |
| Crawl | 1 / page |
| Map | 1 / request |
| Search | 2 / 10 results |
| Interact | 2 / browser minute |
| Monitor | 1 / page / check |
付费套餐采用“先用后付”(pay-as-you-go)模式:用完每月配额后系统会自动补充 Credits(Firecrawl 官方正在将旧的 auto-reload 机制过渡为 Smart Upgrade 智能升级)。免费额度及自服务套餐的未用 Credits 默认不滚动到下月。
另外,JSON 等高级格式可能产生额外 Credits;Agent 目前属于预览能力,采用动态计费模式,官方价格页还标注了每天 5 次免费 Agent 运行。
因此,实际成本不能只看“每次 API 调用多少钱”,而要结合页面数量、并发量、交互时间、数据抽取方式和 Agent 使用量进行计算。
二十六、Firecrawl 适合哪些应用?¶
Firecrawl 的使用场景很广。
1. AI 搜索¶
用户问题
↓
Search
↓
Scrape
↓
LLM
↓
答案
可以构建自己的 AI Search。
2. Deep Research¶
AI 自动搜索多个网站,然后深入阅读网页内容。
问题
↓
Search
↓
多个网页
↓
Crawl / Scrape
↓
分析
↓
综合报告
3. RAG 知识库¶
抓取:
- 产品文档
- 公司官网
- FAQ
- 帮助中心
- 技术文档
然后建立知识库。
4. AI Agent¶
让 Agent 根据任务自主查找互联网信息。
例如:
“帮我调查 10 家 AI 搜索公司的产品和价格。”
5. 竞品监控¶
定期 Crawl 竞争对手网站,然后对比:
本次抓取
VS
上次抓取
Firecrawl 当前还提供 Change Tracking 等相关输出能力。
6. Lead Enrichment¶
例如从公司官网自动提取:
公司名称
官网
行业
产品
联系方式
创始人
公司规模
7. 电商数据采集¶
可以抓取:
- 产品名称
- 价格
- 库存
- 描述
- 商品参数
- 评价
对于需要登录、点击、搜索等操作的网站,还可以结合 Interact。
8. 网站内容迁移¶
例如:
旧网站
↓
Firecrawl Crawl
↓
Markdown
↓
新 CMS / 静态网站
可以帮助快速迁移文档、博客和知识库内容。
9. 文档 AI¶
通过 Parse:
PDF / Word / Excel
↓
Firecrawl Parse
↓
Markdown / JSON
↓
LLM
适合:
- 年报分析
- 财务文件
- 技术文档
- 企业资料
- 合同资料
- 表格分析
二十七、Firecrawl 的优势¶
1. 专门针对 AI 设计¶
它的输出天然面向 LLM、RAG、Agent、AI Search,而不是单纯提供 HTML。
2. 功能覆盖比较完整¶
从:
Search
Scrape
Map
Crawl
Interact
Agent(含结构化提取)
Parse
已经形成比较完整的 Web 数据获取链路。
3. 对动态网站支持较好¶
浏览器渲染、Actions、Interact 等能力让它能够处理比简单 HTTP 抓取更复杂的页面。
4. 开源¶
核心项目开放源代码,开发者可以研究实现,也可以选择自托管。
5. 对 Agent 很友好¶
除了 API,还有:
- MCP
- CLI
- Agent
- Browser
- SDK
使它比较容易嵌入当前的 Agent 工作流。
二十八、Firecrawl 的不足¶
Firecrawl 功能很强,但并不意味着它适合所有抓取任务。
1. Cloud 使用存在成本¶
如果每天需要抓几十万甚至数百万网页,Credit 消耗会迅速增加。
因此大规模数据采集项目需要认真计算成本。
2. 自托管复杂度不低¶
Firecrawl 本身并不是一个简单的单容器服务。
正式部署需要考虑:
- Docker
- 数据库
- Redis
- 队列
- Worker
- 浏览器服务
- 网络
- HTTPS
- 身份认证
- 监控
- 数据持久化
官方也明确建议先完成基础 Scrape,再根据需求逐步增加服务,而不是一开始就把所有组件都投入生产。
3. Agent 还处于预览阶段¶
Agent 很强,但目前仍处于 Research Preview,对稳定性要求特别高的生产任务不应该完全依赖它。
4. 不是所有网站都能稳定抓取¶
网站可能存在:
- 登录限制
- CAPTCHA
- IP 限制
- robots.txt
- 地区限制
- 动态挑战
- 访问权限
Firecrawl 可以减少大量基础设施工作,但不等于可以绕过所有网站的访问限制。
二十九、Firecrawl 与传统爬虫有什么区别?¶
可以简单理解成:
| 对比 | 传统爬虫 | Firecrawl |
|---|---|---|
| HTML 抓取 | ✅ | ✅ |
| Markdown | 通常需要自己处理 | ✅ |
| JavaScript 页面 | 需要自行实现 | ✅ |
| 网站 Crawl | ✅ | ✅ |
| Web Search | 通常需要其他服务 | ✅ |
| JSON Schema 提取 | 自己实现 | ✅ |
| 浏览器交互 | 自己搭建 | ✅ |
| AI Agent | 自己开发 | ✅ |
| MCP | 自己集成 | ✅ |
| PDF / DOCX / XLSX 解析 | 需要其他工具 | ✅ |
| 自托管 | ✅ | ✅ |
| 开源 | 取决于项目 | ✅ |
真正的差异在于:
传统爬虫重点是“获取网页”,Firecrawl 重点是“把互联网转化成 AI 可以直接使用的数据”。
三十、Firecrawl 与直接使用搜索引擎 API 有什么区别?¶
搜索 API 通常解决:
“告诉我有哪些网页与这个问题相关。”
而 Firecrawl 进一步解决:
“把这些网页真正抓下来并转换成 AI 能使用的内容。”
因此:
搜索引擎
↓
找到网页
而:
Firecrawl
↓
找到网页
↓
抓取网页
↓
清洗
↓
Markdown / JSON / Screenshot
↓
AI
Firecrawl 的定位也因此更靠近 AI 应用的数据层。
三十一、Firecrawl 最值得关注的一个变化¶
Firecrawl 最初很容易被理解为:
一个很好用的网页 Markdown Scraper。
但当前项目的发展方向已经明显转向:
AI Agent 的 Web Context 基础设施
现在的功能已经覆盖:
Search
Scrape
Map
Crawl
Interact
Agent
Parse
MCP
Browser
CLI
官网当前也直接将其定位为能够让 AI Agent 搜索、抓取和交互 Web 的 API 平台。
这意味着 Firecrawl 的价值已经不只是“帮我爬一个网页”,而更接近“让我的 AI 能够访问互联网”。
三十二、如何选择 Firecrawl 的不同功能?¶
如果你刚开始使用,可以按照下面的思路选择:
已经知道具体 URL¶
使用 Scrape。
例如:
抓取这个产品页面。
已经知道网站,但想抓多个页面¶
使用 Crawl。
例如:
把整个文档站抓下来。
只想快速知道网站有哪些 URL¶
使用 Map。
例如:
找出这个网站所有文档页面。
不知道 URL,想在互联网中寻找信息¶
使用 Search。
例如:
找出关于某项技术的最新资料。
已经知道页面,但需要提取字段¶
使用 Scrape + JSON。
例如:
提取产品名称和价格。
不知道数据在哪里,让 AI 自己找¶
使用 Agent。
例如:
找出这家公司主要竞争对手及其价格。
不过 Agent 当前仍处于预览阶段。
需要点击、输入、滚动网页¶
使用 Interact / Actions。
需要处理本地文件¶
使用 Parse。
希望 Claude、Cursor 等 AI 直接访问互联网¶
使用 MCP。
三十三、使用 Firecrawl 时需要注意什么?¶
Firecrawl 本身只是工具,实际使用过程中仍然需要遵守目标网站的相关规则。
Firecrawl 官方项目明确提醒:
最终用户有责任遵守被抓取网站的政策、隐私政策和服务条款。
同时,Firecrawl 默认会遵守 robots.txt 指令。
因此商业项目尤其要注意:
- 网站 Terms of Service
- robots.txt
- 版权
- 隐私
- 个人信息
- 登录内容
- 地区法律法规
- 数据存储要求
技术上“能够抓”与法律上“可以抓”是两回事。
三十四、适合谁使用 Firecrawl?¶
Firecrawl 尤其适合以下开发者。
AI Agent 开发者¶
需要让 Agent 访问互联网、查询信息、抓取网页。
RAG 开发者¶
需要快速将网站、文档转换成适合 LLM 的数据。
AI 搜索开发者¶
需要建立自己的 Search + Crawl + LLM 系统。
SaaS 开发者¶
希望给自己的产品增加:
“输入网址 → 自动分析网站”
之类的能力。
数据工程师¶
需要大量获取和处理网页数据。
独立开发者¶
希望避免自己搭建复杂的浏览器、代理和网页解析基础设施。
三十五、Firecrawl 不太适合谁?¶
如果你只是:
偶尔下载一个网页 HTML
那么 Firecrawl 可能有些“大材小用”。
简单的 Python requests、Playwright 或其他轻量方案可能就够了。
另外,如果你的项目需要:
完全自主控制爬虫架构、极端定制化的抓取逻辑以及自己的分布式爬虫体系
那么直接建立专业的数据采集系统,也可能比依赖 Firecrawl 更合适。
Firecrawl 真正有价值的地方,是你不想把大量时间浪费在 Web 抓取基础设施上,而希望快速把 Web 数据接入 AI。
三十六、总结¶
Firecrawl 是一个面向 AI 应用的 Web 数据基础设施项目。
它已经从早期的网页 Markdown 抓取工具,逐步发展成包含 Search、Scrape、Crawl、Map、Interact、Parse、Agent、MCP 等能力的综合 Web Context 平台。
对于普通网页抓取,Scrape 就足够;对于整个网站,使用 Crawl;对于网站 URL 发现,可以先使用 Map;对于互联网搜索,可以使用 Search;对于结构化数据,可以使用 Agent(含 JSON Schema 提取);对于动态网站,则可以使用 Interact 和 Actions。
同时,Firecrawl 最大的特点之一是它采用了“AI-ready data”的思路:不只是把网页抓下来,而是尽量把网页转换成 Markdown、JSON、HTML、截图等能够直接进入 LLM、RAG 和 Agent 工作流的数据。
对于正在开发 AI 搜索、Deep Research、RAG、AI Agent、知识库以及自动化数据采集系统的开发者来说,Firecrawl 是一个非常值得关注的开源项目。
不过需要注意,Firecrawl 的开源版本与 Cloud 并非完全功能对等;自托管需要自行承担基础设施和运维成本,而 Agent 等部分能力目前仍处于预览阶段。因此,在实际项目中,更合理的方式通常是先用 Cloud 验证业务,再根据数据安全、成本和基础设施控制需求决定是否自托管。
项目地址: https://github.com/firecrawl/firecrawl
官方网站: https://www.firecrawl.dev/
官方文档: https://docs.firecrawl.dev/introduction
以上内容根据 Firecrawl 官方 GitHub、官网及官方文档截至 2026 年 8 月 31 日 的公开信息整理,功能和价格后续可能继续调整。