Skip to main content

Browser Sandbox

A secure browser sandbox where agents can interact with the web.
6 min read
Info

For agent workflows, use Interact. Interact is the supported CLI/MCP path and can be driven with prompts or code after a scrape; MCP also supports opening from a URL directly.

SurfaceUse it forEntry pointAgent surface
Browser SandboxStandalone browser sessions for API/SDK users that need a sandbox, CDP URL, live view, or persistent session lifecyclePOST /v2/interactAPI and SDKs; hidden CLI browser command is legacy
InteractActing on a scraped page; MCP can also open from a URL with firecrawl_interact URL modePOST /v2/scrape/{scrapeId}/interact, CLI interact after scrape, or MCP firecrawl_interactRecommended for CLI/MCP agent workflows

Firecrawl Browser Sandbox gives API and SDK users a secure browser environment where agents can interact with the web. Fill out forms, click buttons, authenticate, and more. No local setup, no Chromium installs, no driver compatibility issues. Agent browser and playwright are pre-installed.

Available via API, Node SDK, Python SDK, and Vercel AI SDK. The hidden firecrawl browser CLI command is legacy; CLI and MCP agent flows should use scrape + interact instead.

To add Interact support to an AI coding agent (Claude Code, Codex, Open Code, Cursor, etc.), install the Firecrawl skill:

Each session runs in an isolated, disposable or persistent sandbox that scales without managing infrastructure.

Quick Start#

Create a session, execute code, and close it:

  • No Driver Installation - No Chromium binary, no playwright install, no driver compatibility issues
  • Python, JavaScript & Bash - Send code via API, CLI, or SDK and get results back. All three languages run remotely in the sandbox
  • agent-browser - Pre-installed CLI with 60+ commands. AI agents write simple bash commands instead of Playwright code
  • Playwright loaded - Playwright comes pre-installed in the sandbox. Agents can write Playwright code if they prefer.
  • CDP Access - Connect your own Playwright instance over WebSocket when you need full control
  • Live View - Watch sessions in real time via embeddable stream URL
  • Interactive Live View - Let users interact with the browser directly through an embeddable interactive stream

Launch a Session#

Returns a session ID, CDP URL, and live view URL.

Response

Execute Code#

Run Python, JavaScript, or bash code in your session. Output is returned via stdout; for Node.js, the last expression value is also available in result.

Response

Handling File Downloads#

Files downloaded inside a session can be captured and returned as base64. Use Playwright's download API via the execute endpoint:

Note

The sandbox filesystem is ephemeral — downloaded files are lost when the session ends. To persist files, read their content within the session and save it to your own storage. Persistent profiles preserve browser state (cookies, localStorage) but not files on disk.

agent-browser (Bash Mode)#

agent-browser is a headless browser CLI pre-installed in every sandbox. Instead of writing Playwright code, agents send simple bash commands. The CLI auto-injects --cdp so agent-browser connects to your active session automatically.

Note

The firecrawl browser CLI examples below are for legacy Browser Sandbox sessions. For CLI/MCP agent workflows, prefer firecrawl interact or the MCP firecrawl_interact tool.

Shorthand#

The fastest way to use browser. Both the shorthand and execute send commands to agent-browser automatically. The shorthand just skips execute and auto-launches a session if needed:

CLI#

The explicit form uses execute. Commands are sent to agent-browser automatically -- you don't need to type agent-browser or use --bash:

API & SDK#

Use language: "bash" to run agent-browser commands via the API or SDKs:

Session Management#

Persistent Sessions#

By default, each browser session starts with a clean slate. With profile, you can save and reuse browser state across sessions. This is useful for staying logged in and preserving preferences.

To save or select a profile, use the profile parameter when creating a session.

ParameterDefaultDescription
nameA name for the persistent profile. Sessions with the same name share storage.
saveChangestrueWhen true, browser state is saved back to the profile on close. Set to false to load existing data without writing — useful when you need multiple concurrent readers.
Note

Only one session can save to a profile at a time. If another session is already saving, you'll get a 409 error. You can still open the same profile with saveChanges: false, or try again later.

The browser session state only saves when the session is closed. So we recommend closing the browser session when you are done with it so it can be reused. Once a session is closed, its session ID is no longer valid — you cannot reuse it. Instead, create a new session with the same profile name and use the new session ID returned in the response. To save and close it:

List Sessions#

Response

TTL Configuration#

Sessions have two TTL controls:

ParameterDefaultDescription
ttl600s (10 min)Maximum session lifetime (30-3600s)
activityTtl300s (5 min)Auto-close after inactivity (10-3600s)

Close a Session#

Live View#

Every session returns a liveViewUrl in the response that you can embed to watch the browser in real time. Useful for debugging, demos, or building browser-powered UIs.

Response

Interactive Live View#

The response also includes an interactiveLiveViewUrl. Unlike the standard live view which is view-only, the interactive live view allows users to click, type, and interact with the browser session directly through the embedded stream. This is useful for building user-facing browser UIs, collaborative debugging, or any scenario where the viewer needs to control the browser.

Connecting via CDP#

Every session exposes a CDP WebSocket URL. The execute API and --bash flag cover most use cases, but if you need full local control you can connect directly.

When to Use Browser#

Use CaseRight Tool
Extract content from a known URLScrape
Search the web and get resultsSearch
Navigate pagination, fill forms, click through flowsBrowser
Multi-step workflows with interactionBrowser
Parallel browsing across many sitesBrowser (each session is isolated)

Use Cases#

  • Competitive intelligence - Browse competitor sites, navigate search forms and filters, extract pricing and features into structured data
  • Knowledge base ingestion - Navigate help centers, docs, and support portals that require clicks, pagination, or authentication
  • Market research - Launch parallel browser sessions to build datasets from job boards, real estate listings, or legal databases

Pricing#

Pricing depends on how you drive the session: 7 credits per browser minute if the session uses a prompt, or 2 credits per browser minute if it does not (Playwright code only). Billing is per browser minute with a one-minute minimum. Free users get 5 hours of free usage.

Rate limits#

For the initial launch, we allow all plans up to have up to 20 concurrent browser sessions.

API Reference#


Have feedback or need help? Email help@firecrawl.com or reach out on Discord.

Are you an AI agent that needs a Firecrawl API key? See firecrawl.dev/agent-onboarding/SKILL.md for automated onboarding instructions.