用途:将网站内容抓取为适配 LLM 的 Markdown 或结构化数据,适用于动态渲染页面、有反爬保护的站点以及多页内容整合。
主要能力:提供四个 API 端点。/v2/scrape 抓取单页,支持 formats(markdown、html、screenshot)、onlyMainContent、waitFor、actions 等选项;/v2/crawl 从起始 URL 遍历站点,可用 limit、maxDepth、allowedDomains、excludePaths 控制范围;/v2/map 仅发现站点 URL,便于规划抓取;/v2/extract 借助 AI 按 schema(Zod 或 JSON)与 systemPrompt 抽取结构化字段。此外支持浏览器动作(点击、滚动)、自定义请求头、Webhook、截图,能执行客户端 JavaScript 并绕过 CAPTCHA 和机器人检测。
使用方式:需 API Key(形如 fc-),在 https://www.firecrawl.dev 注册后在控制台生成,存于环境变量 FIRECRAWL_API_KEY,不要硬编码。Python 安装 pip install firecrawl-py(v4.5.0+),TypeScript/Node 安装 bun add @mendable/firecrawl-js(v4.32.0+)。Node.js SDK 需 Node.js >=22.0.0。也可直接调用 REST 接口;Cloudflare Workers 无法运行 SDK,需用 fetch 直接请求 https://api.firecrawl.dev/v2/scrape。
适用场景:文档站抓取(crawl_url(),limit: 500、allowedDomains)、商品数据抽取(extract() 配 schema 与 systemPrompt)、新闻正文抓取(scrape_url() 配 onlyMainContent: true、removeBase64Images)、抓取前用 map() 做 URL 发现。
限制与注意事项:免费额度为每月 500 credits,付费档更高(价格与梯度暂未提供);建议开启 onlyMainContent、设定合理 limit 并缓存结果以节省额度。常见问题包括 API Key 无效、超出速率限制、页面加载超时(可加 waitFor: 10000)以及内容为空(可加 actions 等待)。简单静态 HTML、已有 Puppeteer 环境或有预算限制时不宜使用。官方文档:https://docs.firecrawl.dev,GitHub:https://github.com/mendableai/firecrawl。