Firecrawl:97k⭐的网页数据 API,让任意网站变成 LLM 可用的结构化数据
在构建 AI 应用时,如何让大模型读懂整个网站的内容?Firecrawl 是一个专门为此设计的 Web 数据 API——它能把任意网站转换成 LLM-ready 的 Markdown 或结构化数据。
项目概览
| 属性 | 内容 |
|---|---|
| GitHub | firecrawl/firecrawl |
| Stars | 97,157 |
| 语言 | TypeScript |
| 许可证 | AGPL-3.0 |
| 官网 | firecrawl.dev |
| 特点 | 整站抓取、自动解析、LLM 优化输出 |
核心能力
1. 整站抓取(Scrape → Crawl)
Firecrawl 不只是抓取单个页面,它可以递归抓取整个网站:
# 抓取单个页面
curl -X POST https://api.firecrawl.dev/v1/scrape \
-H "Authorization: Bearer YOUR_KEY" \
-d '{"url": "https://docs.example.com"}'
# 整站抓取
curl -X POST https://api.firecrawl.dev/v1/crawl \
-H "Authorization: Bearer YOUR_KEY" \
-d '{
"url": "https://docs.example.com",
"limit": 100,
"scrapeOptions": {"formats": ["markdown", "html"]}
}'
返回的是干净的 Markdown,自动去除了导航、广告、页脚等噪音。
2. 自动解析为结构化数据
不只是抓取文本,还能提取结构化信息:
import FirecrawlApp from '@mendable/firecrawl-js';
const app = new FirecrawlApp({ apiKey: 'your_key' });
// 抓取并提取特定字段
const result = await app.scrapeUrl('https://example.com/product', {
formats: ['extract'],
extract: {
schema: {
type: 'object',
properties: {
title: { type: 'string' },
price: { type: 'string' },
description: { type: 'string' }
}
}
}
});
3. 专为 LLM 优化
Firecrawl 的输出设计考虑了 LLM 的上下文限制:
- Markdown 优先:比 HTML 更节省 token
- 智能分块:自动将长内容切分为语义块
- 元数据保留:保留标题、链接、图片等结构信息
4. 动态内容处理
很多现代网站是 JavaScript 渲染的,Firecrawl 内置了浏览器渲染能力:
{
"url": "https://spa-app.example.com",
"waitFor": 2000,
"actions": [
{"type": "click", "selector": "#load-more"},
{"type": "wait", "milliseconds": 1000}
]
}
快速上手
# 安装 SDK
npm install @mendable/firecrawl-js
import FirecrawlApp from '@mendable/firecrawl-js';
const app = new FirecrawlApp({ apiKey: 'your_api_key' });
// 简单抓取
const scrapeResult = await app.scrapeUrl('https://example.com', {
formats: ['markdown', 'html']
});
console.log(scrapeResult.markdown);
// 整站抓取(异步)
const crawlResult = await app.crawlUrl('https://example.com', {
limit: 50,
scrapeOptions: { formats: ['markdown'] }
});
// 等待完成并获取结果
console.log(crawlResult.data);
定价模式
| 方案 | 额度 | 价格 |
|---|---|---|
| Free | 500 credits/月 | 免费 |
| Hobby | 5,000 credits/月 | $19/月 |
| Standard | 50,000 credits/月 | $99/月 |
| Growth | 200,000 credits/月 | $299/月 |
Credits 消耗:
- 标准页面抓取:1 credit
- 动态渲染页面:5-25 credits
- 整站抓取:按实际抓取页面数计算
同类对比
| 工具 | 特点 | 定价 |
|---|---|---|
| Firecrawl | API 优先、LLM 优化、托管服务 | 按 credits 计费 |
| Scrapy | Python 框架、自托管、高灵活 | 免费开源 |
| Puppeteer | 浏览器自动化、需自建基础设施 | 免费(服务器成本另算) |
| Playwright | 多浏览器支持、微软维护 | 免费(服务器成本另算) |
相比自建爬虫,Firecrawl 的优势是即开即用,不用处理:
- 浏览器环境维护
- 反爬虫对抗
- 大规模并发管理
- 数据清洗和格式化
适用场景
推荐使用
- AI 知识库构建(RAG)
- 竞品监控和数据采集
- SEO 分析和内容审计
- 文档迁移(HTML → Markdown)
- 训练数据准备
不推荐
- 高频实时抓取(成本较高)
- 需要深度定制的抓取逻辑
- 对数据隐私要求极高的场景(数据经过第三方)
注意事项
- Rate Limiting:免费版有严格的频率限制,生产环境建议升级
- Robots.txt:Firecrawl 尊重 robots.txt,被禁止的网站无法抓取
- AGPL 协议:自托管版本需遵守 AGPL 开源协议
- 数据隐私:使用托管 API 时,网页内容会经过 Firecrawl 服务器
自托管选项
对于数据敏感的场景,可以自托管 Firecrawl:
git clone https://github.com/firecrawl/firecrawl.git
cd firecrawl
docker-compose up
自托管需要处理 Redis、Playwright、API 服务等多个组件,运维成本较高。
总结
Firecrawl 是目前最成熟的”网站转 LLM 数据”解决方案之一。97k stars 的背后是稳定的 API 和活跃的开发社区。如果你正在构建需要读取外部网站内容的 AI 应用,Firecrawl 值得优先考虑。
官网:firecrawl.dev | GitHub:firecrawl/firecrawl
| 属性 | 内容 |
|---|---|
| 仓库 | https://github.com/firecrawl/firecrawl |
| 许可证 | AGPL-3.0 |
| 维护者 | Firecrawl 团队 |