firecrawl/firecrawl · 上手攻略
- 仓库:firecrawl/firecrawl
- 链接:https://github.com/firecrawl/firecrawl
- 分类:rag / trending
- 作者:Jay
- 更新:2026-07-08
这是什么
Firecrawl 是一个面向 AI 的网页数据 API:给定 URL,爬取并转换为 LLM 可直接使用的干净 Markdown、JSON 或截图。它能处理 JavaScript 渲染的动态页面、反爬虫机制、代理轮换等"脏活",开发者只需调用 API 或装好 SDK 即可。开源,也可以直接用其托管服务(firecrawl.dev)。Stars 147k,周增 +1911,是 RAG / Agent 场景下网页数据获取的事实标准之一。
解决什么问题:当你需要给 RAG 系统喂网页内容时,爬虫、防屏蔽、内容清洗这些事情既费时又容易出错。Firecrawl 把这些全部封装成一个 API,输出直接是 token 友好的 Markdown。
快速安装
Python SDK(推荐)
pip install firecrawl-py
Node.js SDK
npm install firecrawl
CLI
npx firecrawl-cli@latest scrape <URL>
MCP 接入(Claude Code / Cursor / Windsurf 等)
npx -y firecrawl-cli@latest init --all --browser
重启 Agent 后生效。或手动配置 MCP:
{
"mcpServers": {
"firecrawl-mcp": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "fc-YOUR_API_KEY"
}
}
}
}
⚠️ 注意:API key 可在 firecrawl.dev/app/api-keys 免费注册,免费额度有限,生产环境建议看定价页。调用时
api_key参数不填也能跑(极低限速),演示够用。
核心用法
1. Search — 搜索网页并获取全文
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR_API_KEY")
results = app.search("best AI data tools 2024", limit=5)
# 返回列表,每项含 url / title / markdown
for r in results.data.web:
print(r["title"], r["url"])
import { Firecrawl } from 'firecrawl';
const app = new Firecrawl({ apiKey: 'fc-YOUR_API_KEY' });
const results = await app.search('best AI data tools 2024', { limit: 5 });
curl -X POST 'https://api.firecrawl.dev/v2/search' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"query": "firecrawl", "limit": 5}'
2. Scrape — 抓取单个 URL
doc = app.scrape('https://firecrawl.dev', formats=["markdown", "html", "screenshot"])
print(doc.markdown) # 直接是可用文本
firecrawl scrape https://firecrawl.dev --format markdown,html,links --pretty
3. Interact — 动态页面交互(点击、填表、搜索)
# 1. 先 Scrape 一个页面
result = app.scrape("https://amazon.com")
scrape_id = result.metadata.scrape_id
# 2. 在页面内执行操作
app.interact(scrape_id, prompt="Search for 'mechanical keyboard'")
app.interact(scrape_id, prompt="Click the first result")
4. Agent — 让 AI 自主搜索(无需指定 URL)
from firecrawl import Firecrawl
from pydantic import BaseModel, Field
from typing import List
app = Firecrawl(api_key="fc-YOUR_API_KEY")
class Founder(BaseModel):
name: str = Field(description="Full name")
role: str = Field(default=None, description="Job title")
class FoundersSchema(BaseModel):
founders: List[Founder]
result = app.agent(
prompt="Find the founders of Stripe",
schema=FoundersSchema
)
print(result.data) # 直接是结构化输出
可用 model="spark-1-pro" 切换到高级模型(费用更高但更准确)。
5. Crawl — 整站爬取
docs = app.crawl("https://docs.firecrawl.dev", limit=100, formats=["markdown"])
for doc in docs.data:
print(doc.metadata.source_url, doc.markdown[:200])
6. Map — 发现网站所有 URL
result = app.map("https://firecrawl.dev", search="pricing")
# 返回该网站所有与 "pricing" 相关的 URL
7. Batch Scrape — 批量异步抓取
job = app.batch_scrape([
"https://firecrawl.dev",
"https://docs.firecrawl.dev",
"https://firecrawl.dev/pricing"
], formats=["markdown"])
for doc in job.data:
print(doc.metadata.source_url)
典型适用场景
| 场景 | 核心命令 | 说明 |
|---|---|---|
| RAG 数据管道 | app.crawl(url, limit=N) |
整站内容一次性入知识库 |
| 竞品监控 | app.search() + 定时任务 |
自动抓取竞品动态 |
| AI Agent 网页操作 | app.interact() |
帮 Agent 登录、点击、填表 |
| 结构化数据提取 | app.agent(prompt=, schema=) |
用 Pydantic 模型直接拿 JSON |
| 金融/新闻舆情 | app.batch_scrape() |
批量抓取列表页,LLM 总结 |
坑与注意
- API Key 免费额度:未填 key 也有极低限速,建议先用 playground 试通再上 key。
- JS 渲染页面的 Interact 有状态:每次
scrape()会返回scrape_id,后续interact()依赖这个 ID串联状态,不可跨会话混用。 - 反爬误伤:目标站若有强反爬机制,
scrape可能返回 403/504,此时换用agent模式让 AI 自主绕路。 - 批量抓取计费:Crawl 和 Batch 都是按成功抓取的页面数计费,不是请求数。
- 输出大小:
markdown格式会剥离广告和导航,体积通常为原始 HTML 的 5-20%,适合 token 预算控制。 - 并发限制:免费层不支持高并发,有高吞吐需求建议走付费或自建服务。
与同类对比
| 工具 | Stars | JS 渲染 | Agent 模式 | 结构化输出 | 定价 |
|---|---|---|---|---|---|
| Firecrawl | 147k ⭐ | ✅ | ✅ Pydantic | ✅ | 托管免费有限 |
| Playwright | 65k | ✅ | ❌ | ❌ | 自托管免费 |
| ScrapingBee | — | ✅ | ❌ | ❌ | 付费 |
| Apify | — | ✅ | ✅ | ✅ | 付费 |
Firecrawl 的核心优势是 LLM-ready 输出(直接 Markdown)+ Agent 模式(无需找 URL),结合 MCP 接入主流 Agent 生态,是目前 RAG + Agent 场景下最顺滑的方案。
一句话结论
Firecrawl 是 AI 时代的网页爬虫终极形态:LLM-friendly 输出 + 内置 Agent 智能导航 + MCP 一行接入——RAG 数据管道和 AI Agent 联网场景的首选。