Firecrawl 把“把这个网站转换成干净的 Markdown 供我的 LLM 使用”变成了一次 API 调用,很多 AI 团队的第一条检索管道就是基于它搭建的。这是一款好产品。但团队仍会寻找替代方案,原因通常不外乎以下几种:一旦加入提取功能和错误页面,账单的增长速度会超过页面数量;套餐的并发限制妨碍了回填任务;自托管版本无法突破关键网站的防护;或者 AGPL 许可证与他们发布软件的方式不相容。
本指南介绍七种替代方案、各自真正擅长的领域,以及 Firecrawl 在哪些方面仍是更好的选择。下文中所有竞品细节均已于2026年9月29日对照各厂商自己的定价和文档页面重新核实。该领域的定价变化频繁,因此请将这些数字视为特定日期的快照,并在做出决定前再次确认。
- 从你离开的原因出发。成本、吞吐量、封锁、许可证和适用范围分别指向不同的工具。
- 用你自己的 URL,按每个可用页面的成本进行比较,而不是看标价。计费规则之间的差异比费率之间的差异更大。
- 要看计费规则,而不只是费率。Firecrawl 会对返回 403 的页面计费;Crawlbase 会对真实的 404 或 410 计费,但从不对封锁或超时计费。
- 自托管的 Firecrawl 不包含其反机器人层,因此它并不是以更低成本获得云端产品成功率的途径。
- 此列表中没有任何工具在所有方面都是最好的,包括我们自己的产品。
Firecrawl 擅长什么
Firecrawl 是一款为 AI 应用构建的网页数据 API。你发送一个 URL,即可获得 Markdown、HTML、链接、截图或结构化 JSON。它有四个突出之处:
-
整站端点。
/crawl会跟随链接遍历整个网站,而/map可在一次调用中返回网站的大部分 URL。如果任务一开始就是“为整个文档站点建立索引”,这能省下实实在在的工作量。 -
内置 LLM 提取。 JSON 格式可根据 schema 或提示词从页面中提取结构化字段,而
/agent(文档将其描述为/extract的继任者)能够自主导航。 -
带内容的搜索。
/search返回网页结果,配合scrapeOptions使用时,还会在同一请求中返回这些结果的页面内容。 -
开源。 核心采用 AGPL-3.0 许可证,SDK 采用 MIT 许可证,另有一个托管的 MCP 服务器,地址为
mcp.firecrawl.dev.
如果你需要在一个产品中同时完成爬取、站点映射和 schema 提取,并且你的用量适合按月套餐,那么在便利性上 Firecrawl 很难被超越。当这些前提中的某一个不再成立时,下面的替代方案就值得一看。
团队为何寻找 Firecrawl 替代方案
每个有用页面的实际成本偏离了标价
普通抓取每页花费 1 个积分,但 JSON 提取每页额外增加 4 个积分,零数据保留(1 个积分)和 PII 脱敏(4 个积分)还会叠加在上面。Firecrawl 还会对任何返回文档的抓取计费,包括返回 403 或 404 状态的页面;彻底失败的请求通常免费,但有少数文档中注明的例外。对于从大量不可靠 URL 中提取结构化数据的管道而言,每个可用页面的成本可能是标价的数倍。
并发受套餐限制
每个套餐都限制了并发浏览器的数量:Free 为 2 个,Hobby 为 5 个,Standard 为 25 个,Growth 为 50 个。这适合稳定的工作负载,但一次性回填数百万个页面,可能意味着仅为了吞吐量就要升级一个月的套餐。额外积分仅在付费套餐中提供,未使用的积分仅在年付的 Scale 和 Enterprise 套餐中可以结转。
自托管版本是另一种产品
Firecrawl 自己的自托管指南指出,开源版本不包含其反机器人层 Fire-engine,并且操作(actions)和截图不在默认组件栈中。自托管是低成本爬取不设防护网站的好方法,但它无法让你在不为云服务付费的情况下,在受保护的网站上获得云端产品的成功率。
许可证适配性
AGPL-3.0 附带的义务,使一些公司在需要嵌入或修改的任何软件中都会避开它。如果你的法务团队更倾向于纯粹的 API 合作关系,或采用无 copyleft 条款许可证的库,那么可选范围就会缩小。
你的特定网站上的 Markdown 质量
没有任何转换器能正确处理所有布局。发现导航栏、Cookie 横幅或重复内容混入分块的团队,通常会用同一批 URL 测试第二家提供商;在围绕某个工具的特性调整分块器之前,这样做很值得。
比较什么
决定因素不是功能数量。对于 LLM 数据工作,关键在于六个问题:
- Markdown 质量。 是否去除了样板内容,表格和代码块是否得以保留?将你的同样 50 个 URL 分别交给每个候选工具处理,然后对比输出差异。
- JavaScript 渲染。 它是否运行真实浏览器,能否等待延迟加载的内容,渲染请求相比普通获取的成本是多少?
- 反机器人成功率。 你的目标 URL 中返回真实内容(而不是验证挑战页面)的比例。这比厂商主页上的任何基准测试都更重要。
- 地理位置控制。 能否选择请求发出的国家/地区,因为价格、库存和内容会随地区而变化。
- 你的用量下的计费规则。 是按页面、按带倍数的积分、按令牌、按计算单元还是按 GB 计费;同样重要的是,哪些响应会被计费。
- 智能体集成。 是否有 MCP 服务器,以及它是否与 API 运行在同一基础设施上。
替代方案
1. Crawlbase
最适合: 已经掌握自己的爬取逻辑和提取流程,需要从难爬的 JavaScript 密集型网站大规模获取可靠 Markdown,并且只按成功请求计费的团队。
Crawlbase Crawling API 通过其代理网络获取 URL,并返回 HTML、JSON 或 Markdown。添加 format=md 可获得 GitHub Flavored Markdown,添加 md_readability=true 则可去除导航栏、侧边栏、页脚和广告位,只保留主要内容。渲染有两种方式:使用 JavaScript 令牌调用,或使用普通令牌调用并添加 javascript=true。无论哪种方式,页面都会在真实的无头浏览器中加载,并提供 page_wait, ajax_wait 以及滚动控制来等待延迟加载的内容。Cloudflare、PerimeterX、DataDome 和 hCaptcha 验证挑战均在服务器端处理。
对于 LLM 管道,API 周边的三个组件很重要:
- 用于异步任务的 Enterprise Crawler。你将 URL 推送到托管队列,结果会发送到你的 webhook 或 Cloud Storage(取决于爬虫的设置),因此回填任务永远不必依赖保持数千个连接处于打开状态。
- Crawlbase Web MCP Server,提供
crawl,crawl_markdown和crawl_screenshot工具,适用于 Claude、Cursor、Windsurf 和 n8n。该服务器免费;你只需为它发出的 Crawling API 请求付费,这些请求使用与 API 相同的渲染和代理技术栈。 - Smart AI Proxy,适合希望保留自己的 Playwright 或 Scrapy 代码、只将 IP 和解封外包出去的场景。
在计费方面,所有产品共用同一个积分余额,按量付费没有月费。只有当 Crawlbase 返回 cb_status 200,且网站以真实内容或真实的 404 或 410 响应时,请求才会计费;封锁、超时和 5xx 错误均免费。页面的价格取决于网站的 域名复杂度,JavaScript 渲染请求的费用是该域名档位的两倍,因此请对照 定价页面,结合你实际的普通调用与渲染调用比例进行核算。
Firecrawl 更强的方面: Crawlbase 没有一次调用即可生成站点地图的端点,也没有通用的 schema 提取步骤。内置爬虫(scraper=,或 autoparse=true)可为受支持的网站返回类型化 JSON,但对于任意网站,你需要自行选择 URL,并用自己的模型进行提取。对于已经这样做的团队来说,这并不是短板。对于希望一次调用就能爬取任意网站并返回类型化 JSON 的团队,Firecrawl 更简单。
2. Apify
最适合: 希望使用具备现成爬虫、调度和存储功能的完整爬取平台,并且能够接受按计算资源定价的团队。
Apify 是一个面向无服务器程序的市场和云端运行环境,它将这些程序称为 Actors。与 Firecrawl 最接近的是 Website Content Crawler,它可以爬取网站并输出文本、Markdown 或 HTML,默认会在浏览器和原始 HTTP 获取之间切换。它可与 LangChain、LlamaIndex、Haystack、Pinecone 和 Qdrant 集成,Apify 还在 mcp.apify.com 运行托管的 MCP 服务器。套餐包含每月使用额度(免费、每月 $19、$199 和 $999),计算单元和代理流量从中扣费;一个计算单元等于 1 GB 内存运行一小时。免费套餐无需信用卡,每月 $5 额度用完后即停止访问。与单一 API 相比,它需要学习的内容更多,账单也取决于 Actor 的运行效率,但这里没有其他工具能与它的广度相比。我们的 Apify 对比 有更深入的介绍。
3. Jina Reader
最适合: 需要零配置即可将单个页面转为 Markdown 的原型和低用量智能体。
在 URL 前面加上 r.jina.ai/,即可获得 Markdown,默认在无头浏览器中渲染;X-Engine: direct 会切换为普通获取。它可以读取 PDF,能为图片生成说明文字,另有一个配套的搜索端点 s.jina.ai,需要密钥才能使用。计费依据输出令牌数,失败的请求不收费。新密钥附带 10M 免费令牌,Jina 的定价卡片将其标注为“仅限非商业用途”。Jina 自己的常见问题解答指出,Reader 不会绕过反机器人系统。速率限制从无密钥时每分钟 20 个请求到有密钥时每分钟 500 个不等。Jina AI 现已成为 Elastic 的一部分。它是这里设置最快的选项;但对于大规模的受保护网站,它并非为此而设计。
4. Crawl4AI
最适合: 希望使用完全由自己掌控、且没有 AGPL 义务的开源爬虫的 Python 团队。
Crawl4AI 是一个基于 Playwright 的 Python 库,采用 Apache 2.0 许可证,并附加了署名要求。它可生成原始 Markdown 和精简的“fit”Markdown,支持 CSS、XPath、正则表达式以及通过 LiteLLM 进行的 LLM 提取,并提供带有 MCP 端点的 Docker 服务器。它包含隐身模式和自动反机器人回退机制;代理需要你自行提供,这也是自托管的主要运行成本。托管版 Crawl4AI Cloud 现在按积分计费(1 个积分为 $0.001;一个页面 1 个积分,真实浏览器 2 个,难爬网站 4 个),其定价页面称这是首发定价,可能会调整。如果你想要不带 copyleft 约束的 Firecrawl 风格 Markdown,并且有工程师来运维,就从这里开始。
5. ScrapingBee
最适合: 希望使用成熟的通用爬取 API、固定月度套餐以及 Markdown 输出的开发者。
ScrapingBee 支持无头浏览器、轮换代理、地理定位和截图,并能以 Markdown 或纯文本形式返回页面。它提供 AI 提取功能和托管的 MCP 服务器。套餐从 $19 获得 75,000 个积分到 $599 获得 800 万个积分不等,另有一次性 1,000 积分试用。每个请求的积分消耗差异很大:渲染默认开启,消耗 5 个积分(使用 render_js=false 时为 1 个),高级代理消耗 10 或 25 个,隐身模式消耗 75 个。返回 200、404 或 410 的请求都会计费。比较套餐规模前,请先估算你的实际请求组合;我们的 ScrapingBee 对比 有更多内容。
6. Bright Data
最适合: 需要最大规模代理网络、在一份合同下使用多种产品并具备正式合规流程的企业。
Bright Data 的 Web Unlocker 可以将页面以 Markdown 形式返回,同时还提供适用于 Puppeteer、Playwright 和 Selenium 的浏览器 API、按记录计费的爬虫 API 以及数据集。它的 MCP 服务器基于 Web Unlocker 运行,有托管版和本地版。Web Unlocker 默认按每千次成功请求计费,而一旦启用自定义功能,则对每个请求计费。免费套餐是每月 5,000 个积分的额度池,由各产品共享,代理除外。它是这里最完整的选项,也是购买和配置最复杂的选项;小型团队可能会觉得它的平台规模超出了实际需要。我们的 Bright Data 对比 有更深入的分析。
7. Spider
最适合: 更愿意按带宽和计算资源付费、而不是按页面付费的高吞吐量爬取场景。
Spider 将爬取、抓取和搜索整合在一个 API 中,配有云浏览器和代理网络,可返回 Markdown 及多种其他格式,并能以 JSONL 流式传输结果。按量付费无需订阅:每 GB 带宽 $1,外加每 CPU 分钟 $0.0001,失败的请求为 $0,积分永不过期。Unlimited 套餐则按并发数定价,起价为每月 $40,支持 2 个并发请求。其底层爬虫 spider-rs 是采用 MIT 许可证的 Rust 程序,另有一个远程 MCP 服务器,地址为 mcp.spider.cloud。其主页上的速度和成功率数据由其自行公布,因此请在你的目标网站上进行测试。
Firecrawl 替代方案对比
| 工具 | 最适合 | Markdown | JS 渲染 | 计费模式 | MCP |
|---|---|---|---|---|---|
| Firecrawl | 一次调用完成爬取、映射和提取 | 是 | 是 | 月度积分;附加功能按页计费;403/404 页面计费 | 是 |
| Crawlbase | 大规模的受保护、JS 密集型网站 | 是 (format=md) |
是 (JS 令牌或 javascript=true) |
按请求计费;封锁和失败免费;按量付费或订阅 | 是(免费服务器) |
| Apify | 平台和现成爬虫 | 是(Website Content Crawler) | 是 | 套餐额度,之后按计算单元和代理计费 | 是 |
| Jina Reader | 零配置单页读取 | 是 | 是 | 按输出令牌计费;免费层标注为非商业用途 | 是 |
| Crawl4AI | 自托管,无 copyleft 约束 | 是 | 是(Playwright) | 免费库;托管云按积分计费 | 是 |
| ScrapingBee | 采用固定套餐的通用 API | 是 | 是(默认开启) | 月度积分,每个请求 1 到 75 个 | 是 |
| Bright Data | 企业级规模与合规 | 是(Web Unlocker) | 是 | 因产品而异,按请求、按记录或按 GB 计费 | 是 |
| Spider | 高吞吐量爬取 | 是 | 是 | 按 GB 加 CPU 时间计费,或按并发数计费 | 是 |
实践:用 Crawlbase 获取 LLM 就绪的 Markdown
Crawlbase 工作流分为三步。请将令牌保存在环境变量中,切勿提交到代码库。
将单个页面转为干净的 Markdown
使用 pip install crawlbase 安装 SDK,然后请求一个渲染后的页面,并获取可读的 Markdown:
import os from crawlbase import CrawlingAPI api = CrawlingAPI({"token": os.environ["CRAWLBASE_JS_TOKEN"]}) response = api.get("https://example.com/pricing", { "format": "md", "md_readability": "true", "ajax_wait": "true", "page_wait": 4000, }) if response["status_code"] == 200: markdown = response["body"].decode("utf-8") print(markdown[:500])
渲染响应平均需要 4 到 10 秒,因此请为客户端设置足够宽裕的超时时间。Markdown 输出指南 介绍了所有选项,包括用于因地区而异的页面的 country 参数。
处理数千个页面,无需保持连接打开
对于回填任务,请将 URL 推送到 Enterprise Crawler,而不是同步调用 API。每次推送都会立即返回一个请求 ID,完成的页面会发送到爬虫上配置的 webhook:
curl "https://api.crawlbase.com/?token=YOUR_TOKEN&crawler=docs-backfill&callback=true&url=https%3A%2F%2Fexample.com%2Fdocs%2Fintro" # Response: {"rid": "..."}
结果一经完成即会送达 webhook,随时可以进行转换、分块和嵌入。Crawler 文档 介绍了 webhook 的设置以及向 Cloud Storage 的交付。
在你的智能体中使用 Markdown
要让 Claude、Cursor 或 Windsurf 直接以 Markdown 形式获取页面,请将 Crawlbase Web MCP Server 添加到客户端配置中。下面的配置在本地运行服务器;也可以使用位于 https://mcp.crawlbase.com/mcp 的托管端点。
{ "mcpServers": { "crawlbase": { "type": "stdio", "command": "npx", "args": ["@crawlbase/mcp@latest"], "env": { "CRAWLBASE_TOKEN": "YOUR_TOKEN", "CRAWLBASE_JS_TOKEN": "YOUR_JS_TOKEN" } } } }
之后,智能体即可对任意 URL 调用 crawl_markdown。各客户端的设置说明见 MCP 文档,Claude 指南 则专门讲解 Claude 的设置。
添加 format=md,即可从会封锁普通爬虫的网站获取干净的、经过渲染的 Markdown。封锁和失败的请求不计费,MCP 服务器免费。起步即可获得最多 5,000 次免费请求,无需信用卡。
如何选择
- 你希望一次调用就能爬取网站并返回类型化 JSON: 继续使用 Firecrawl,或试试 Apify 的 Website Content Crawler。
- 你的目标网站受保护或以 JavaScript 为主,且用量很大: 在你最难爬取的一批 URL 样本上测试 Crawlbase 和 Bright Data。
- 你需要在不设防护的页面上快速做原型: Jina Reader,但请注意 Jina 将其免费令牌层标注为非商业用途。
- 你希望自托管且不受 copyleft 约束: Crawl4AI。
- 你希望使用采用固定月度套餐的通用爬取 API: ScrapingBee。
- 你以极高吞吐量爬取,并倾向于按带宽计价: Spider。
无论你选择哪一个,都请将同一份 URL 列表交给两到三个候选工具处理,并比较三个数字:可用页面的比例、经过分块器处理后的 Markdown 质量,以及每个可用页面的总成本。这项测试只需一个下午,却比任何对比表(包括本文这张)更能说明问题。
常见问题解答(FAQ)
最好的 Firecrawl 替代方案是什么?
这取决于你离开的原因。对于大规模的受保护、JavaScript 密集型网站,选择 Crawlbase 或 Bright Data。需要提供现成爬虫的平台,选择 Apify。需要自托管的开源爬虫,选择 Crawl4AI。需要快速读取单个页面,选择 Jina Reader。需要按带宽计价的高吞吐量爬取,选择 Spider。
有免费的 Firecrawl 替代方案吗?
Crawl4AI 是免费开源的,采用 Apache 2.0 许可证并附带署名要求,但你需要自己运行浏览器并提供代理。大多数托管工具都提供可用于测试的免费额度:Crawlbase 提供最多 5,000 次免费请求,ScrapingBee 提供一次性 1,000 积分试用,Apify 提供每月 $5 的使用额度,Bright Data 提供每月共享积分池。Jina 将其免费令牌层标注为非商业用途。
Crawlbase 能像 Firecrawl 一样返回 Markdown 吗?
可以。在 Crawling API 请求中添加 format=md 即可获得 GitHub Flavored Markdown,添加 md_readability=true 则只保留主要内容。使用 JavaScript 令牌,或使用普通令牌并加上 javascript=true,页面会在转换之前先在无头浏览器中渲染。
Crawlbase 有 MCP 服务器吗?
有。Crawlbase Web MCP Server 提供 crawl, crawl_markdown 和 crawl_screenshot 工具,适用于 Claude、Cursor、Windsurf 和 n8n,可通过 npx 在本地运行,也可使用托管版本。该服务器免费;你只需为它发出的 Crawling API 请求付费。
自托管的 Firecrawl 与云版本相同吗?
不相同。Firecrawl 的自托管指南指出,开源版本不包含其反机器人层 Fire-engine,并且操作(actions)和截图不在默认组件栈中。它在不封锁爬虫的网站上表现良好。
有哪些是 Firecrawl 能做而 Crawlbase 不能做的?
Crawlbase 没有一次调用生成站点地图的端点,也没有通用的 schema 提取步骤。内置爬虫可为受支持的网站返回类型化 JSON;对于其他网站,你需要自行选择 URL,通过 Crawling API 或 Enterprise Crawler 获取页面,再用自己的模型进行提取。
大规模爬取任何站点,无需与基础设施对抗。
Crawlbase 负责处理代理、指纹和 CAPTCHA,让你的团队专注于交付数据流水线,而非维护爬取管道。1,000 次请求免费,无需信用卡。
