Introducing Browser Sandbox - Let your agents interact with the web in a secure browser environment Read more →
[ BROWSER ]
[ .JSON ]
[ SANDBOX ]
[ DATA ]
New: Persistent Sessions

Introducing
Browser Sandbox

Give your agents a secure browser environment. Let them run code safely to gather data and take action on the web.

luxestore.com/collections
LUXE
Search...
All
Bags
Shoes
Watches
Latest ▾
Leather Tote
$1,290
Running Shoes
$340
Silk Scarf
$180
Gold Watch
$4,200
1
2
3
Agent
Agent Terminal
Browser Sandbox
$firecrawl browser
>fill search: "leather bags"
>click filter: Casual
>go to page 2
>extract product cards
>map to structured CSV
[ 01 / 09 ]
·
How It Works
//
How It Works
//

Take actions on the web

Give your agents a browser they can interact with and let them handle the rest.
01
Install the CLI

Your agent installs the CLI and adds the Firecrawl skill to their toolbox.

npx -y firecrawl-cli@latest init --all --browser
02
Launch a browser session

Your agent calls the CLI and gets a remote browser with Playwright pre-loaded ready to go.

firecrawl browser "open https://news.ycombinator.com"
03
Gather data, click, interact

Navigate pages, fill forms, collect data, and click through multi-step flows.

firecrawl browser "snapshot"
firecrawl browser "click @e5"
Agent session
TOOLKIT
Claude Code — Firecrawl toolkit ready
>Scrape all leather bag products with prices from luxstore.com
Pre-loaded with agent browser, Playwright and more.
Read docs
[ 02 / 09 ]
·
Why Browser
//
Browser Sandbox
//

Why a browser sandbox?

Pre-loaded with everything your agents need to interact with the web at scale.
Zero Setup

Playwright, agent browser, and Chromium come pre-installed in every session. No local installs, no Docker, no dependency management.

terminal
Disposable secure sessions

Every session runs in an isolated, disposable environment. Malicious sites, leaked credentials, or misbehaving agents can't touch your infrastructure.

your infrastructure
sandbox
Persistent Sessions

Save and reuse browser state across sessions. Stay logged in, preserve cookies, and keep preferences intact with named profiles.

app.example.com
session 1
my-profile
cookies
auth
prefs
Works Where Your Agents Are

Just add the Firecrawl skill or CLI — Claude Code, Codex, and any coding agent will instantly know how to browse, scrape, and extract from the web.

firecrawl skill
Claude Code
Codex
OpenCode
[ 03 / 09 ]
·
CLI
//
CLI
//

The Web Data Toolkit - now complete

Scrape a web page, search the web, and interact with the web.
Terminal
$ firecrawl scrape https://example.com/pricing

{
  "title": "Pricing — Example",
  "markdown": "# Pricing\n\n## Starter...",
  "metadata": {
    "statusCode": 200,
    "sourceURL": "https://example.com/pricing"
  }
}
firecrawl
Scrape
firecrawl
Search
firecrawl
Browser
[ 04 / 09 ]
·
Start Building
//
Integrations
//

Works with every agent framework

Connect Firecrawl Browser to your agent framework in minutes. Works out of the box with MCP.
Vercel
Vercel AI SDK
Build AI apps with streaming and tool use
import { generateText } from "ai";
import { openai } from "@ai-sdk/openai";
import { createMCPClient } from "ai";

const client = await createMCPClient({
  transport: { type: "sse",
    url: "https://mcp.firecrawl.dev/sse" },
});

const { text } = await generateText({
  model: openai("gpt-4o"),
  tools: await client.tools(),
  prompt: "Open a browser and scrape the page",
});
OpenAI
OpenAI Agents
Agentic workflows with tool calling
from agents import Agent, Runner
from agents.mcp import MCPServerSse

firecrawl = MCPServerSse(
    url="https://mcp.firecrawl.dev/sse",
    headers={
      "Authorization": "Bearer fc-YOUR-API-KEY"
    },
)

agent = Agent(
    name="Browser Agent",
    instructions="Browse the web for the user.",
    mcp_servers=[firecrawl],
)

result = await Runner.run(
    agent, "Get the top stories from HN"
)
Claude
Claude
MCP-native tool use with Anthropic
import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    tools=[{
        "type": "mcp",
        "server_url":
          "https://mcp.firecrawl.dev/sse",
        "server_label": "firecrawl",
    }],
    messages=[{
        "role": "user",
        "content": "Open a browser and "
          "scrape example.com"
    }],
)
LangChain
LangChain
Composable agents with LangGraph
from langchain_mcp_adapters.client \
    import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI

client = MultiServerMCPClient({
    "firecrawl": {
        "url": "https://mcp.firecrawl.dev/sse",
        "transport": "sse",
    }
})

tools = await client.get_tools()
agent = create_react_agent(
    ChatOpenAI(model="gpt-4o"), tools
)
result = await agent.ainvoke({
    "messages": "Get the HN front page"
})
[ 05 / 09 ]
·
Use Cases
//
Use Cases
//

Get data that scraping can't reach

When scraping isn't enough, your agents need to click, navigate, and interact. Browser handles the hard-to-get data.
Competitive Intelligence

Track pricing changes and feature diffs across competitor dashboards weekly.

$ firecrawl claude competitive-intel "Linear, Asana, Monday.com"
Company Directories

Filter and paginate YC, Crunchbase, or G2 into CRM-ready company lists.

$ firecrawl claude company-directories "YC Series A B2B SaaS"
Knowledge Ingestion

Extract auth-gated docs portals into structured JSON or markdown.

$ firecrawl claude knowledge-ingest https://docs.internal.company.com
Market Research

Pull revenue, margins, and earnings from financial portals and SEC filings.

$ firecrawl claude market-research "cloud infrastructure market"
Lead Generation

Search Apollo, LinkedIn, or Crunchbase and extract contact details at scale.

$ firecrawl claude lead-gen "CTOs at Series B fintech startups"
Dashboard Reporting

Pull KPIs from GA, Mixpanel, Stripe, and Grafana into one report.

$ firecrawl claude dashboard-reporting "analytics.google.com"
[ 06 / 09 ]
·
Sandbox
//
Sandbox
//

Just send code, we run it

No Playwright to install, no Chromium to manage. Execute code directly.
Everything pre-installed

Playwright, Chromium, and browser automation frameworks come ready in every session. No local installs, no dependency management.

Execute code directly

Send Playwright code, Python scripts, or JS — the sandbox executes it against the running browser and returns the result.

Disposable & isolated

Every session is sandboxed and destroyed after use. Malicious sites or misbehaving code can't leak to your infrastructure or other sessions.

[ SDK ]
import Firecrawl from '@mendable/firecrawl-js';

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

// Create a browser session — sandbox included
const session = await firecrawl.browser();

// Execute Playwright code in the secure sandbox
const result = await firecrawl.browserExecute(session.id, {
  code: `
    await page.goto("https://news.ycombinator.com");
    const titles = await page.querySelectorAll(".titleline > a");
    for (const t of [...titles].slice(0, 5)) {
      console.log(await t.innerText);
    }
  `,
  language: "node",
});

console.log(result.result); // Extracted titles

// Close the session
await firecrawl.deleteBrowser(session.id);
[ OUTPUT ]
// Output
> Session created: 550e8400-e29b-41d4-a716
> CDP URL: wss://cdp-proxy.firecrawl.dev/cdp/550e8400-...

> Executing code in sandbox...

Mass Recall of Tesla Cybertrucks
Show HN: I built a real-time flight tracker
The Art of PostgreSQL
Why SQLite Is So Great for the Edge
Ask HN: What are you working on?

✓ Code executed successfully
Your agent sends code, the sandbox runs it — fully managed, fully isolated, fully disposable
[ 07 / 09 ]
·
FAQ
//
FAQ
//

Frequently asked questions

Everything you need to know about Firecrawl Browser.
Browser
Pricing
Usage
FOOTER
The easiest way to extract
data from the web
. . .. ..+ .:. .. .. .:: +.. ..: :. .:..::. .. .. .--:::. .. ... .:. .. .. .:+=-::.:. . ...-.::. .. ::.... .:--+::..: ......:+....:. :.. .. ....... ::-=:::: ..:-:-...: .--..:: ......... .. . . . ..::-:-.. .-+-:::.. ...::::. .: ...::.:.. . -... ....: . . .--=+-::. :-=-:.... . .:..:: .:---:::::-::.... ..::........::=..... ...:-.. .:-=--+=-:. ..--:..=::.... . .:.. ..:---::::---=:::..:... ..........::::.:::::::-::.-.. ...::--==:. ..-::-+==-:... .-::....... ..--:. ..:=+==.---=-+-:::::::-.. . .....::......:: ::::-::.---=+-:..::-+==++X=-:. ..:-::-=-== ---.. .:.--::.. .:-==::=--X==-----====--::+:::+... ..-....-:..::-::=-=-:-::--===++=-==-----== X+=-:.::-==----+==+XX+=-::.:+--==--::. .:-+X=----+X=-=------===--::-:...:. .... ....::::...:-:-==+++=++==+++XX++==++--+-+==++++=-===+=---:-==+X:XXX+=-:-=-==++=-:. .:-=+=- -=X+X+===+---==--==--:..::...+....+ ..:::---.::.---=+==XXXXXXXX+XX++==++===--+===:+X+====+=--::--=+XXXXXXX+==++==+XX+=: ::::--=+++X++X+XXXX+=----==++.+=--::+::::+. ::.=... .:::-==-------=X+++XXXXXXXXXXX++==++.==-==-:-==+X++==+=-=--=++++X++:X:X+++X+-+X X+=---=-==+=+++XXXXX+XX=+=--=X++XXX==---::-+-::::.:..-..
Backed by
Y Combinator
LinkedinGithubYouTube
SOC II · Type 2
AICPA
SOC 2
X (Twitter)
Discord