跳转到主要内容
Firecrawl Browser Sandbox 为你的智能体提供一个安全、全托管的浏览器运行环境。无需本地配置、无需安装 Chromium,也不存在驱动兼容性问题。环境中已预装 agent-browser 和 Playwright。每个会话都在隔离的一次性沙箱中运行,并且可以自动扩缩容,无需自行管理基础设施。 可通过 APICLI(Bash / agent-browser、Python、Node)、Node SDKPython SDKVercel AI SDKMCP Server 使用。 要为 AI 代码智能体(Claude Code、Codex、Open Code、Cursor 等)添加浏览器支持,请安装 Firecrawl 技能:
npx -y firecrawl-cli@latest init --all --browser
你也可以手动安装 Firecrawl CLI,或者按照上面的步骤让 agent 替你安装:
npm install -g firecrawl-cli

快速开始

创建会话,执行代码,然后关闭会话:
// npm install @mendable/firecrawl-js
import Firecrawl from '@mendable/firecrawl-js';

const firecrawl = new Firecrawl({ apiKey: "fc-YOUR-API-KEY" });

// 1. 启动会话
const session = await firecrawl.browser();
console.log(session.cdpUrl); // wss://cdp-proxy.firecrawl.dev/cdp/...

// 2. Execute code
const result = await firecrawl.browserExecute(session.id, {
  code: `
    await page.goto("https://news.ycombinator.com");
    const title = await page.title();
    console.log(title);
  `,
  language: "node",
});
console.log(result.result); // "Hacker News"

// 3. Close
await firecrawl.deleteBrowser(session.id);
  • 无需安装驱动 - 无需 Chromium 二进制文件、无需执行 playwright install,也没有驱动兼容性问题
  • Python、JavaScript 与 Bash - 通过 API、CLI 或 SDK 发送代码并获取结果。三种语言都会在远程沙盒中运行
  • agent-browser - 预装的 CLI,内置 40+ 条命令。AI agent 只需编写简单的 Bash 命令,无需编写 Playwright 代码
  • Playwright 已预装 - Playwright 在沙盒中已预装,agent 如有需要也可以直接编写 Playwright 代码
  • CDP 访问 - 当你需要完全控制时,可通过 WebSocket 连接你自己的 Playwright 实例
  • 实时视图 - 通过可嵌入的流式 URL 实时查看会话

启动一个会话

返回会话 ID、CDP URL 和实时视图 URL。
import Firecrawl from '@mendable/firecrawl-js';

const firecrawl = new Firecrawl({ apiKey: "fc-YOUR-API-KEY" });

const session = await firecrawl.browser({
  ttl: 120,
  activityTtl: 60,
});

console.log(session.id);
console.log(session.cdpUrl);      // wss://cdp-proxy.firecrawl.dev/cdp/...
console.log(session.liveViewUrl); // https://liveview.firecrawl.dev/...
Response
{
  "success": true,
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "cdpUrl": "wss://cdp-proxy.firecrawl.dev/cdp/550e8400-e29b-41d4-a716-446655440000",
  "liveViewUrl": "https://liveview.firecrawl.dev/550e8400-e29b-41d4-a716-446655440000"
}

执行代码

import Firecrawl from '@mendable/firecrawl-js';

const firecrawl = new Firecrawl({ apiKey: "fc-YOUR-API-KEY" });

const result = await firecrawl.browserExecute("YOUR_SESSION_ID", {
  code: 'await page.goto("https://example.com"); const title = await page.title(); console.log(title);',
  language: "node",
});

console.log(result);
Response
{
  "success": true,
  "result": "Example Domain"
}

agent-browser(Bash 模式)

agent-browser 是一个无头浏览器 CLI,已预装在每个沙箱中。智能体无需编写 Playwright 代码,只需发送简单的 bash 命令。CLI 会自动注入 --cdp,使 agent-browser 自动连接到你的当前会话。

简写

这是使用 browser 的最快方式。简写和 execute 都会自动将命令发送给 agent-browser。简写只是跳过了 execute,并在需要时自动启动会话:
firecrawl browser "open https://example.com"
firecrawl browser "snapshot"
firecrawl browser "click @e5"

CLI

显式用法使用 execute 命令。命令会自动发送到 agent-browser —— 无需手动输入 agent-browser 或使用 --bash
firecrawl browser execute "open https://example.com"
firecrawl browser execute "snapshot"

API 与 SDK

使用 language: "bash",通过 API 或 SDK 执行 agent-browser 命令:
curl -X POST "https://api.firecrawl.dev/v2/browser/YOUR_SESSION_ID/execute" \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "agent-browser snapshot",
    "language": "bash"
  }'

会话管理

列出会话

import Firecrawl from '@mendable/firecrawl-js';

const firecrawl = new Firecrawl({ apiKey: "fc-YOUR-API-KEY" });

const { sessions } = await firecrawl.listBrowsers();
console.log(sessions);

// 按状态过滤
const { sessions: active } = await firecrawl.listBrowsers({ status: "active" });
console.log(active);
Response
{
  "success": true,
  "sessions": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "status": "active",
      "cdpUrl": "wss://cdp-proxy.firecrawl.dev/cdp/550e8400-e29b-41d4-a716-446655440000",
      "liveViewUrl": "https://liveview.firecrawl.dev/550e8400-e29b-41d4-a716-446655440000",
      "createdAt": "2025-01-15T10:30:00Z",
      "lastActivity": "2025-01-15T10:35:00Z"
    }
  ]
}

TTL 配置

会话有两个 TTL 参数:
参数默认值描述
ttl300s(5 分钟)会话的最长存续时间(30-3600s)
activityTtl120s(2 分钟)会话空闲达到该时长后自动关闭(10-3600s)

结束会话

import Firecrawl from '@mendable/firecrawl-js';

const firecrawl = new Firecrawl({ apiKey: "fc-YOUR-API-KEY" });

await firecrawl.deleteBrowser("YOUR_SESSION_ID");

实时视图

每个会话的响应中都会包含一个 liveViewUrl,你可以将其嵌入以实时查看浏览器行为。适用于调试、演示或构建由浏览器驱动的 UI。
Response
{
  "success": true,
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "cdpUrl": "wss://cdp-proxy.firecrawl.dev/cdp/550e8400-...",
  "liveViewUrl": "https://liveview.firecrawl.dev/550e8400-..."
}
<iframe src="LIVE_VIEW_URL" width="100%" height="600" />

通过 CDP 连接

每个会话都会暴露一个 CDP WebSocket URL。execute API 和 --bash 参数覆盖了大多数用例,但如果你需要完全的本地控制,可以直接进行连接。
import Firecrawl from '@mendable/firecrawl-js';
import { chromium } from "playwright-core";

const firecrawl = new Firecrawl({ apiKey: "fc-YOUR-API-KEY" });
const session = await firecrawl.browser();

const browser = await chromium.connectOverCDP(session.cdpUrl);
const context = browser.contexts()[0];
const page = context.pages()[0] || (await context.newPage());

await page.goto("https://example.com");
console.log(await page.title());

await browser.close();
await firecrawl.deleteBrowser(session.id);

何时使用 Browser

使用场景合适工具
从已知 URL 提取内容Scrape
在网上搜索并获取结果Search
执行分页导航、填写表单、点击操作Browser
包含交互的多步工作流Browser
在多个网站上并行浏览Browser(每个会话彼此隔离)

使用场景

  • 竞争情报 - 浏览竞争对手网站,操作搜索表单和筛选器,将价格和功能信息提取为结构化数据
  • 知识库接入 - 浏览需要点击操作、分页或登录认证的帮助中心、文档和支持门户
  • 市场调研 - 启动并行浏览器会话,从招聘网站、房产列表或法律数据库中构建数据集

价格

计费简单明了:每个浏览器使用分钟 2 个积分。免费用户可享有 5 小时的免费使用额度。

速率限制

在初始发布阶段,所有套餐均支持最多 20 个并发浏览器会话。

API 参考文档


有反馈或需要帮助?请发送邮件至 help@firecrawl.com 或在 Discord 上联系我们。