Firecrawl 深度研究:给 AI 装上"全能眼睛"——网页抓取、搜索、浏览器一站式 API
> 来源: https://github.com/firecrawl/firecrawl
> 官网: https://firecrawl.dev
> MCP Server: https://github.com/firecrawl/firecrawl-mcp-server
> 团队: Eric Ciarla, Nicolas Camara, Caleb Peffer(YC 孵化)
> 研究时间: 2026-03-18
🎯 一句话版本
Firecrawl 把"抓网页"这件事做到了极致——给一个 URL,它帮你把网页变成 AI 能直接用的干净 Markdown/JSON/截图;给一段描述,它的 Agent 自动搜索+导航+提取数据。就是 AI 的"眼睛+手"——让 AI 能看网页、能操作浏览器、能批量抓取。
🏗️ 六大核心功能
| 功能 | 做什么 | 类比 |
|---|---|---|
| **Scrape** | 单个 URL → Markdown/HTML/JSON/截图 | 高级版 `web_fetch` |
| **Search** | 搜索关键词 → 结果 + 完整网页内容 | Google + 自动抓取 |
| **Browse** | 给 Agent 一个安全的远程浏览器 | 云端 Playwright |
| **Map** | 发现一个网站的所有 URL | 站点地图生成器 |
| **Crawl** | 爬取整个网站所有页面 | 批量 Scrape |
| **Agent** | 描述需求,AI 自动搜索+导航+提取 | "帮我查 XX" |
Scrape:不只是抓 HTML
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-xxx")
# 基础:URL → 干净 Markdown
doc = app.scrape("https://example.com", formats=["markdown"])
# 结构化提取:用 Pydantic schema 直接出 JSON
class CompanyInfo(BaseModel):
company_mission: str
is_open_source: bool
result = app.scrape('https://firecrawl.dev',
formats=[{"type": "json", "schema": CompanyInfo.model_json_schema()}])
# → {"company_mission": "Turn websites into LLM-ready data", "is_open_source": true}
# 操作后抓取:登录 → 填表 → 点击 → 等待 → 截图
doc = app.scrape("https://example.com/login", actions=[
{"type": "write", "text": "[email protected]"},
{"type": "press", "key": "Tab"},
{"type": "write", "text": "password"},
{"type": "click", "selector": 'button[type="submit"]'},
{"type": "wait", "milliseconds": 2000},
{"type": "screenshot"}
])
支持的输出格式:markdown、html、rawHtml、screenshot、links、json、branding(品牌识别:颜色、字体、排版)。
Agent:描述需求就行
# 不需要给 URL,描述你想要什么
result = app.agent(prompt="Find the pricing plans for Notion")
# → 自动搜索 → 导航到 notion.so/pricing → 提取定价信息
# 结构化提取
class Founder(BaseModel):
name: str
role: Optional[str]
result = app.agent(prompt="Find the founders of Firecrawl", schema=FoundersSchema)
# → {"founders": [{"name": "Eric Ciarla", "role": "Co-founder"}, ...]}
两个 Agent 模型:
- spark-1-mini(默认):便宜 60%,适合大多数任务
- spark-1-pro:适合跨网站对比、复杂导航、关键数据提取
Browse:给 Agent 一个远程浏览器
# 启动远程浏览器 session
session = await firecrawl.browser()
# → cdpUrl: "wss://cdp-proxy.firecrawl.dev/cdp/xxx"
# → liveViewUrl: "https://liveview.firecrawl.dev/xxx" ← 可以实时观看!
# 在远程浏览器里执行代码
result = await firecrawl.browserExecute(session.id, {
code: 'await page.goto("https://news.ycombinator.com"); return await page.title();',
language: "node"
})
# 保存/复用浏览器状态(cookies、localStorage)
session = await firecrawl.browser({
profile: { name: "my-profile", saveChanges: true }
})
💰 定价
| 计划 | 价格 | Credits/月 | 并发 | 适合 |
|---|---|---|---|---|
| **Free** | $0 | 500(一次性) | 2 | 试用 |
| **Hobby** | $16/月 | 3,000 | 5 | 个人项目 |
| **Standard** | $83/月 | 100,000 | 50 | 中小团队 |
| **Growth** | $333/月 | 500,000 | 100 | 大规模 |
1 credit ≈ 1 个网页。Agent 请求消耗更多 credits。
自托管:AGPL 开源,可以本地跑,但官方说"还没完全准备好"。
🔍 搜索索引:开源了什么,没开源什么
开源 vs 闭源边界
GitHub 上开源的(AGPL):
- Scrape — 单页抓取 → Markdown/JSON
- Crawl — 递归爬站
- 浏览器自动化 — CDP 协议
- 反爬处理 — JS 渲染、代理轮换
搜索索引是闭源的 — /search 端点背后的网页索引库是 SaaS 专属。自建实例可以用 scrape + crawl,但 search 必须走 Firecrawl 云 API。
这是典型的 "open core" 模式:核心引擎开源拉社区,数据/索引这种有壁垒的部分留给付费服务。
搜索索引质量评价
结论:搜索质量一般,抓取才是核心价值。
社区反馈汇总:
- 技术类内容(GitHub、文档站)还行
- 通用查询和冷门话题覆盖差,跟 Google/Bing/Brave 没法比
- 索引规模从未公开
- Reddit 上有人吐槽"API 经常返回 500"、"质量没有持续改善"
- 甚至有帖子标题叫 "Firecrawl is a Scam"(虽然主要喷定价)
搜索质量排序(业内共识):
> Google ≫ Brave > Perplexity > Firecrawl
连 Firecrawl 自己的博客都建议:"Brave 做搜索,Firecrawl 做 web_fetch fallback"。
/search 更应该理解为"搜到了顺便帮你抓内容"的附加功能,而非独立的搜索引擎。
⚙️ OpenClaw 集成:baseUrl 配置现状
OpenClaw 的 web search provider 中,baseUrl 支持情况(截至 2026-03-18):
| Provider | baseUrl 支持 | 备注 |
|---|---|---|
| **Firecrawl** | ✅ | `plugins.entries.firecrawl.config.webSearch.baseUrl` |
| **Perplexity** | ✅ | 可指向 OpenRouter |
| **Brave** | ❌ | endpoint 硬编码,[Feature Request #19075](https://github.com/openclaw/openclaw/issues/19075) 待合并 |
| **Grok** | ❌ | 无 baseUrl 选项 |
| **Gemini** | ❌ | 无 baseUrl 选项 |
| **Kimi** | ❌ | 无 baseUrl 选项 |
配置路径已从旧的 tools.web.search. 迁移到 plugins.entries.(旧路径有一版兼容 shim)。
对 xx 托管平台的意义:如果想给用户提供统一的搜索+抓取能力,Firecrawl 是唯一同时支持 baseUrl 和 search+scrape 的 provider。可以自建 Firecrawl 实例作为后端,所有用户共享。但搜索质量不如 Brave,且自托管的 search 功能不可用(索引闭源),只能用 scrape/crawl。
🤔 深度分析
Firecrawl vs 我们现在用的 web_fetch
| Firecrawl | OpenClaw web_fetch | |
|---|---|---|
| **JS 渲染** | ✅ 完整渲染 | ❌ 只抓静态 HTML |
| **结构化提取** | ✅ Pydantic schema → JSON | ❌ 只返回原始文本 |
| **操作** | ✅ 点击/滚动/输入/等待 | ❌ 只读 |
| **搜索** | ✅ 内建搜索 API | ❌ 需要单独工具 |
| **批量抓取** | ✅ 异步批量 | ❌ 逐个 |
| **截图** | ✅ | ❌ |
| **费用** | 💰 每页 1 credit | 🆓 免费 |
| **延迟** | 较高(远程 API) | 较低(本地) |
Firecrawl 生态整合
Firecrawl 在 AI Agent 生态中的位置越来越核心:
- MCP Server — 标准 MCP 协议,任何支持 MCP 的 Agent 可直接调用
- Claude Code Skill —
npx firecrawl-cli init --all --browser一键安装 - OpenCode / Codex / Antigravity — 都有官方集成
- agent-browser — 与 Vercel Labs 合作的简化浏览器操作接口
竞品对比
| Firecrawl | Crawl4AI | Jina Reader | Apify | |
|---|---|---|---|---|
| **开源** | AGPL | MIT | 部分 | 部分 |
| **JS 渲染** | ✅ | ✅ | 🟡 | ✅ |
| **结构化提取** | ✅ Schema | ✅ | ❌ | ✅ |
| **Agent** | ✅ 内建 | ❌ | ❌ | ✅ |
| **Browse** | ✅ 远程浏览器 | ❌ | ❌ | ✅ |
| **MCP** | ✅ | ❌ | ✅ | ❌ |
| **自托管** | 🟡 不完善 | ✅ | ❌ | ✅ |
| **定价** | $16-333/月 | 免费 | 免费 API | $49+ |
Firecrawl 的优势在于功能全面 + 生态整合好(MCP + Skill + Agent),劣势在于自托管不够成熟 + AGPL 许可限制商业使用。
💡 与我们的关联
1. 可以直接增强我们的研究能力
我们现在的深度研究流程用 web_fetch,遇到 JS 渲染页面会失败(比如 X/Twitter 的 Article)。Firecrawl 的 Scrape API 可以完美解决:
# 当前:web_fetch 失败 → browser fallback(慢)
# 用 Firecrawl:直接 scrape,处理 JS 渲染
result = app.scrape("https://x.com/trq212/article/xxx", formats=["markdown"])
2. MCP Server 可以接入 OpenClaw
Firecrawl 有官方 MCP Server,可以作为 OpenClaw 的工具扩展。不需要改代码,通过 MCP 协议直接调用。
3. Agent 功能可以替代部分搜索+抓取流程
# 当前:web_search → web_fetch → 手动解析
# 用 Firecrawl Agent:一句话搞定
result = app.agent(prompt="找到 LiteLLM 的最新版本号和主要功能", schema=...)
4. 成本考量
Free 计划 500 credits 够试用。如果日常研究需要,Hobby $16/月(3,000 页)基本够用。但对于我们"重度研究"场景可能需要 Standard。
5. 自托管路径
AGPL 开源意味着可以自托管(在 ub2 上跑),但官方承认"还没完全准备好"。可以关注,等成熟了再部署。
📊 评分
| 维度 | 评分(/10) |
|---|---|
| 功能完整度 | 9.5 — Scrape/Search/Browse/Map/Crawl/Agent 六合一 |
| 开发体验 | 9.0 — SDK 优秀,MCP/Skill 集成齐全 |
| 开源程度 | 7.0 — AGPL(有传染性),自托管不完善 |
| 生态地位 | 9.0 — MCP + Claude Code Skill + 多 Agent 集成 |
| 与我们的关联 | 8.5 — 可直接增强研究流程,MCP 可接入 OpenClaw |
| **综合** | **8.6** |
报告由深度研究助手自动生成 | 2026-03-18
来源: https://github.com/firecrawl/firecrawl