Firecrawl 是一个面向开发者的 Web Context API,核心能力是搜索、抓取并与网页交互,将原始网页内容转换为干净的 Markdown 或结构化数据,方便 AI Agent 直接使用。它覆盖了约 96% 的网页,包括大量依赖 JavaScript 渲染的页面,P95 延迟 3.4 秒,适合实时 Agent 和动态应用。项目以 TypeScript 编写,开源(AGPL-3.0),同时也提供云托管服务,只需在 firecrawl.dev 注册即可获得 API Key。
快速开始
安装 Python SDK:
pip install firecrawl-py
然后初始化客户端并调用接口:
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR_API_KEY")
# 抓取网页为 Markdown
doc = app.scrape("https://firecrawl.dev", formats=["markdown"])
print(doc.markdown)
主要能力
- Search(搜索):搜索网页并返回结果的完整页面内容。
search_result = app.search("firecrawl", limit=5)
- Scrape(抓取):将任意 URL 转换为 Markdown、HTML、截图或结构化 JSON。
curl -X POST 'https://api.firecrawl.dev/v2/scrape' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"url": "firecrawl.dev"}'
- Interact(交互):抓取页面后,通过自然语言指令(如“点击”“输入”)操作页面。
result = app.scrape("https://amazon.com")
scrape_id = result.metadata.scrape_id
app.interact(scrape_id, prompt="Search for 'mechanical keyboard'")
- Agent(智能代理):只需描述需求,AI 自动完成搜索、导航和提取,支持结构化输出。
curl -X POST 'https://api.firecrawl.dev/v2/agent' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"prompt": "Find the pricing plans for Notion"}'
-
Crawl(爬取):一次请求抓取整个网站,支持限制页面数和异步任务。
-
Map(发现):快速获取网站的所有 URL 列表,也可按关键词搜索特定链接。
-
Batch Scrape(批量抓取):异步批量抓取成千上万个 URL。
SDK 与集成
官方提供 Python、Node.js、Go、Java、Elixir、Rust、Ruby、.NET、PHP 等语言的 SDK,自动处理异步轮询。此外,Firecrawl 可以通过一行命令接入 Claude Code、OpenCode 等 AI Agent 工具,或者配置 MCP 服务器让任意 MCP 客户端连接网络:
{
"mcpServers": {
"firecrawl-mcp": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "fc-YOUR_API_KEY"
}
}
}
}
注意事项
- 使用云服务必须携带 API Key,且需要注册账号。
- 开源版本与云版本存在功能差异,云服务提供更多额外特性。
- Agent 端点提供两种模型:
spark-1-mini(默认,成本低)和spark-1-pro(适合复杂任务)。 - 自托管可参考官方 Self-Hosting 指南。
Firecrawl 将复杂的代理轮换、限流、JS 渲染等问题内部处理,使得开发者可以专注于业务逻辑,快速构建基于实时网页数据的 AI 应用。