Open-source browser API that gives AI agents managed cloud browsers
Steel is an open-source browser API for developers whose AI agents and automations need to control browser sessions in the cloud.
AI Panel Score
6 AI reviews
Reviewed
Steel is an open-source browser API that launches isolated Chromium sessions in the cloud for developers whose AI agents and automations need to control a browser. Existing Puppeteer, Playwright or Selenium scripts connect to a session. Pricing is usage-based: the Launch plan has no monthly fee and includes $30 in one-time credits, then bills browser time at $0.10 per hour; Scale costs $250 per month plus usage, and Enterprise pricing is custom. Sessions can solve CAPTCHAs, route traffic through managed residential proxies and keep signed-in state in persistent profiles, and a live viewer lets a person take over a running session. TopReviewed's six-seat AI review panel scored it 8.2/10, praising its debugging tools, from live view and takeover to replays and Agent Traces, while noting plan limits such as 15-minute sessions and 7-day data retention on Launch. It fits teams that want managed cloud browsers with an open-source fallback. Steel's site compares it with Browserbase.
A typical Steel workflow starts with one API call that creates a session, then points an existing Puppeteer or Playwright script at it by swapping puppeteer.launch for puppeteer.connect. Each session behaves like a fresh incognito window with its own cookies and storage, starts in under a second on average when the client runs in the same region, and is released when the task ends. For single-page jobs, the /v1/scrape, /v1/screenshot, and /v1/pdf endpoints load a URL without a session and return HTML, cleaned HTML, Markdown, or readability text, or a hosted PNG or PDF. The Steel CLI runs the same actions from a terminal and installs Steel Skills for coding agents such as Claude Code, Codex, Cursor, and OpenCode.
Most of the Sessions API targets the points where automated browsing usually breaks. Sessions can solve CAPTCHAs automatically, route traffic through Steel-managed residential proxies targeted by country, US state, or city (or through your own proxy), present a full mobile fingerprint, and hold a leased dedicated IP for a stable network identity. Profiles save a browser's user data directory, including cookies, extensions, and settings, so a later session resumes a signed-in state, while the Credentials API, still in beta, injects stored logins into a page without exposing them to the agent. For debugging, live sessions stream over WebRTC and finished ones replay as video, an interactive mode lets a person take over a running session, and Agent Traces turns a recording into a timeline that exports as Markdown, JSON, or a ZIP with screenshots.
Steel is aimed at developers building browser agents, scrapers, and web automation, and its docs carry integration guides for Browser Use, Stagehand, CrewAI, LangGraph, the OpenAI Agents SDK, and Claude, OpenAI, and Gemini computer use. Pricing is usage-based. The Launch plan has no monthly fee and includes $30 in one-time credits valid for 90 days, then bills browser time at $0.10 per hour. Scale costs $250 per month plus usage at lower rates, including $0.08 per browser hour, with $100 in monthly credits, 100 concurrent sessions, SSO, and a HIPAA-ready BAA. Enterprise pricing is custom. Steel's own site compares it with Browserbase, pointing to its open-source server, sub-second session starts, persistent profiles, and live session viewer.
The open-source Steel Browser runs locally or self-hosted through Docker, Railway, or Render. A self-hosted instance runs one session at a time and leaves out CAPTCHA solving, Steel-managed proxies, the Credentials API, and the Files API, which are Steel Cloud features. A separate x402 endpoint sells scrape, screenshot, and PDF calls for $0.01 each in USDC on Base or Solana, with no account or API key.
Turns a recorded session into a timeline of agent actions synced to the video, exportable as Markdown, JSON, or a ZIP with screenshots and available as JSON through an API.
Setting solveCaptcha on a session detects and solves checkbox, invisible, image, and slider CAPTCHAs, and a status endpoint reports each page's solving progress.
Stateless /v1/scrape, /v1/screenshot, and /v1/pdf calls load a URL and return HTML, cleaned HTML, Markdown, or readability text, or a hosted PNG or PDF, without opening a session.
Embeds live sessions streamed over WebRTC or replays of past sessions as video, with an interactive mode that lets a person click, type, and navigate inside a running session.
Routes sessions through Steel-managed residential IPs that rotate per session, targeted by country (200+), US state, or city, or through your own proxy provider.
The Profiles API saves a session's browser user data directory, including cookies, extensions, and settings, up to 300 MB, and loads it into later sessions.
Creates an isolated cloud Chromium session with one API call, with its own cookies and storage, running up to 15 minutes on Launch, 1 hour on Scale, and 24 hours on Enterprise.
Uploads files into a session's VM, retrieves files downloaded during browsing, and keeps organization-wide global file storage that any session can use.
The Apache 2.0 open-source Steel Browser runs locally or self-hosted with Docker, Railway, or Render, limited to one concurrent session with bring-your-own proxies.
Documented integrations connect Steel sessions to Browser Use, Stagehand, CrewAI, LangGraph, Mastra, the Vercel AI SDK, the OpenAI Agents SDK, and Claude, OpenAI, and Gemini computer use.
Connects existing Puppeteer or Playwright scripts to a Steel session over a CDP WebSocket and Selenium over W3C WebDriver, alongside the Node and Python SDKs.
A terminal CLI starts named sessions, opens pages, clicks, fills forms, scrapes, and installs Steel Skills for coding agents such as Claude Code, Codex, Cursor, and OpenCode.
Starts a session with deviceConfig set to mobile, giving it a mobile user agent, viewport, touch events, and a consistent phone fingerprint.
Stores logins with envelope encryption and injects them into sessions for automatic sign-in, including TOTP codes, without exposing the values to the agent; currently in beta.
Leases fixed Steel-managed IPs at $5 per IP per month (up to 25 self-serve) so sessions and profiles keep the same egress IP across runs.
No monthly fee: $30 in one-time usage credits (valid 90 days, about 300 browser hours), then browser time at $0.10 per hour, billed by the minute. CAPTCHA solving and Steel proxies need a $10 paid balance first.
For production workloads: $250 per month plus usage at lower rates, with $100 in usage credits each month.
Custom pricing plus usage for high-volume or specialized workloads, arranged by talking to the founders.
Steel's Apache 2.0 server keeps the exit open, but self-hosted it runs one session at a time.
“Steel runs cloud Chromium sessions for AI agents, and its Apache 2.0 core server gives a buyer a real fallback. Self-hosted, that fallback runs one session at a time without CAPTCHA solving, managed proxies or the Credentials API.”
One line moves a Puppeteer script onto Steel: puppeteer.launch becomes puppeteer.connect. One line moves it back. That's the answer I'd want in hand when the board asks what leaving costs.
And leaving has somewhere to go. Steel Browser, the core server, is Apache 2.0 and self-hosts on Docker, the changelog is up to #037, and the docs cover Node, Python and a CLI. Steel's own Browserbase comparison leans on that open server, plus persistent profiles and a live viewer where a person can take over a running session.
But the exit ramp is narrower than the license. Self-hosted, it runs one session at a time, without CAPTCHA solving, managed proxies or the Credentials API. Pilot on Launch's $30 in credits, then move to Scale at $250 a month once you need 100 concurrent sessions and a HIPAA-ready BAA.
Against Browserbase, Steel points to its open-source server, sub-second session starts, persistent profiles and live session viewer.
Apache 2.0 code and standard CDP connections keep lock-in low and Scale adds a HIPAA-ready BAA, though the Credentials API is still in beta.
Existing Puppeteer or Playwright scripts switch over with one connect call, and Launch starts with $30 in credits and no monthly fee.
Persistent profiles, the Credentials API and human takeover let agents work inside signed-in sites, which is new capability rather than cost savings.
The changelog is up to #037, the docs cover Node and Python SDKs plus a CLI, and the pricing page lists a rate for every meter.
Agent teams who want managed cloud browsers with an open-source fallback.
Teams who plan to self-host Steel at production concurrency.
Profiles plus $5-a-month leased IPs make Steel an identity layer for agent accounts, not just a browser pool.
“Steel pairs the Profiles API with $5-a-month dedicated IPs so each agent account keeps one browser and one network across runs, and the Credentials API injects logins the agent never sees. But those IPs are Steel-managed, so leaving later means every account shows up from a new network.”
Steel's docs call one profile plus one dedicated IP per account the strongest setup for agents that sign in. It's the right design. The Profiles API keeps the browser's cookies, extensions and settings, and a $5-a-month lease keeps the network, which is how you dodge what the docs call the impossible traveler problem.
The Credentials API closes the loop, injecting stored logins and TOTP codes without exposing them to the agent. The scripts themselves stay portable, attaching over CDP from whatever framework you've picked.
But the identity is rented. The IPs are Steel-managed, 25 self-serve before you go through support, and the self-hosted build brings its own proxies. If your agents hold long-lived accounts, then three years in, leaving means every one of them reappears from a new network.
Mobile mode, city-level proxy targeting and persistent profiles push Steel past a bare headless pool toward managed agent identity.
Sessions attach over CDP or WebDriver, so platform teams keep their Puppeteer, Playwright or Selenium code and their framework choice.
Node and Python SDKs, a CLI, and documented guides for Browser Use, Stagehand, CrewAI, LangGraph, Mastra and three computer-use APIs.
Account identity builds up on Steel-managed IPs, and the self-hosted build brings its own proxies, so moving means a new network for every account.
Profiles, leased IPs and a Credentials API that hides logins from the agent add up to a deliberate identity design for signed-in agents.
Platform teams who run agents inside long-lived signed-in accounts.
Teams who must keep agent identity on their own infrastructure.
At $0.10 versus $0.08 an hour, Scale's $250 fee needs 7,500 browser hours a month to pay back.
“On browser time alone, Scale beats Launch only past 7,500 hours a month, which Launch's 10 sessions can't run. The $250 buys 100 concurrent sessions, SSO, a HIPAA-ready BAA and $6-per-GB proxies.”
On browser time alone, Launch never loses. Scale costs $250 a month, hands back $100 in credits, then bills $0.08 an hour against Launch's $0.10. Break-even: 7,500 hours a month. Launch caps at 10 concurrent sessions, roughly 7,200 hours. It can't reach the line.
So Scale buys capacity, not rate. 100 concurrent sessions, one-hour sessions, SSO and a HIPAA-ready BAA. Proxies drop from $10 to $6 per GB. A 5,000-hour month with 20 GB of proxy: 250 + 400 + 120 − 100 = $670. Three years: $24,120.
The catch is Launch's 15-minute session cap. Long agent runs force Scale at any volume. Browser Tools calls cost $5 per 1,000 on both plans; x402 sells the same scrape at $0.01, no account. Double the rate to skip signup. Cancellation is self-serve, effective at term end, based on their terms.
Self-serve plans, prepaid credits with auto top-up and SSO at $250 keep procurement light; I couldn't find invoice terms.
Scale bills monthly, and their terms allow self-serve cancellation effective at the end of the paid term.
The pricing page publishes every hourly, proxy, CAPTCHA and Browser Tools rate for Launch and Scale; only Enterprise is quoted.
Per-minute billing and per-meter usage in the dashboard tie spend to individual runs.
Scale's floor is $9,000 over three years, and proxy and CAPTCHA meters bill on top of browser hours.
Teams who run concurrent browser agents on a metered budget.
Buyers who need a fixed monthly bill without usage meters.
Agent Traces rebuilds a failed run from the browser itself, not from what the agent claims.
“Steel's daily strength is debugging: Agent Traces lays a failed run out as a video-synced action timeline that exports as Markdown or JSON. The friction is the session clock, since a live session's timeout can't be extended and Launch allows 60 requests per minute.”
A failing browser agent is a poor narrator of its own run. Agent Traces doesn't ask it. The timeline comes from the browser session, one row per action with verb, target, URL and timestamp, and a click jumps the recording there. Markdown export doubles as a repro prompt for a coding agent. JSON feeds eval scripts.
The Steel CLI keeps named sessions scriptable, and snapshot -i hands back element refs that fill and click can target. Good sign. The inactivityTimeout setting releases an idle browser early, which matters at Launch's $0.10 an hour, billed by the minute.
Session length is the daily fight. Sessions default to 5 minutes, but the docs indicate a live session's timeout can't be extended, so each run budgets up front. Guess short and the browser is released mid-task. Launch allows 60 requests per minute. Batch jobs hit that ceiling fast.
Agent Traces turns a failed run into a clickable timeline synced to video, though every session's length has to be fixed at creation.
The docs pair TypeScript and Python snippets with plainly stated limits, and the changelog runs to #037.
A live session's timeout can't be extended, Launch allows 60 requests per minute, and Launch needs a $10 paid balance before CAPTCHA solving or Steel proxies work.
Agent Traces has its own JSON API, sessions accept a caller-reserved ID, and the Files, Profiles and Credentials APIs extend past basic sessions.
Puppeteer and Playwright attach over a CDP WebSocket, Selenium over WebDriver, with Node and Python SDKs and a terminal CLI alongside.
Engineers who debug browser agents from recorded runs.
Teams who can't predict a browser run's length up front.
Steel lets a person grab the wheel mid-run, but so can anyone holding the debug link.
“Steel's live view lets a person click straight into an agent's running browser, streamed over WebRTC at 25 fps. But debug URLs aren't authenticated, so whoever holds the link holds the keyboard.”
Interactive is on by default. Open a Steel session's live view and you can click, type and scroll inside the agent's browser. Live Sessions stream over WebRTC at 25 fps, so it reads like a screen share, not a slideshow of screenshots.
That default is the point. An agent stuck at a login or CAPTCHA gets a person instead of a failed run. The catch: debug URLs aren't authenticated. The docs say anyone with the link can view or interact with the session, so pasting it into a team channel hands everyone the keyboard. Access control is on you.
Three months in, the replays earn their keep. Every session records as MP4, so the video matches what the agent saw. But Launch keeps session data for 7 days, so export anything worth keeping. Small tell: the latest changelog fixed billing pages showing zero while loading. Somebody's watching the dashboard.
Live views stream at 25 fps over WebRTC, and the latest changelog made billing pages show placeholders instead of zero while loading.
The docs run from a quickstart to embed, human-in-the-loop and session-debugging pages, with guides for Browser Use, Stagehand, CrewAI and LangGraph.
I couldn't find a mobile app for the dashboard, and Mobile Mode makes the agent's browser look like a phone, which is a different job.
Launch starts at $0 a month with $30 in credits, though CAPTCHA solving and Steel proxies need a $10 deposit first.
I couldn't judge day-to-day stability from public pages; uptime SLAs are Enterprise-only and the latest changelog fixed missing replays for some sessions.
Agent builders who want a person to step into stuck browser runs.
Teams who can't put access control around shared session links.
The $250 Scale plan sells a HIPAA-ready BAA, but Steel's Terms of Service still bar HIPAA-bound use.
“Steel's homepage sells 24-hour sessions that only Enterprise gets, but its docs state every plan's limits plainly. The HIPAA-ready BAA on Scale contradicts Terms of Service that still bar HIPAA-bound use.”
Up to 24 hours per session, says the homepage. The pricing table says 15 minutes on Launch, one hour on Scale. Twenty-four is an Enterprise number. So is the Stealth Browser. 'Never worry about getting flagged as a bot again' is the kind of superlative that ages poorly.
The docs are more candid. Launch and Scale publish a rate for every meter. The Profiles API page warns a profile over 300 MB fails. The Steel Local vs Steel Cloud page admits self-hosting gets one session and no CAPTCHA solving. That earns some trust.
The catch is paperwork. Scale sells a HIPAA-ready BAA at $250 a month. Steel's Terms of Service, last updated February 2025, say HIPAA-bound users may not use the service. Maybe the Terms are just stale. Get the BAA signed before patient data touches a session.
Steel's own Browserbase comparison rests on its open-source server, persistent profiles and live viewer, while the core cloud-session offer is one both share.
Scripts attach over standard CDP or WebDriver and the Apache 2.0 server self-hosts, but only one session at a time without CAPTCHA solving.
The changelog is up to #037 with recent billing and replay fixes, the pricing docs were edited June 30, 2026, and support runs through email and Discord.
The homepage advertises 24-hour sessions that only Enterprise gets and the Terms contradict the Scale BAA, though the docs state limits plainly.
Named limits back the core claims: per-plan session caps, a 300 MB profile ceiling and a Credentials API labelled beta.
Agent builders who can fit each run inside a one-hour session.
Healthcare teams who need HIPAA coverage in the standard terms.
Common questions answered by our AI research team
Browser time costs $0.10 per hour on the Launch plan and $0.08 per hour on Scale, billed by the minute and rounded up. Launch has no monthly fee, while Scale costs $250 per month plus usage and includes $100 in usage credits each month.
Yes. Steel Browser is open source under Apache 2.0 and runs through Docker, Railway, or Render. A self-hosted instance runs one session at a time and has no CAPTCHA solving, managed proxies, Credentials API, or Files API, which come with Steel Cloud.
Yes. Playwright and Puppeteer scripts connect to a Steel session over a CDP WebSocket, often by swapping puppeteer.launch for puppeteer.connect, and Selenium connects over WebDriver. Steel also ships Node and Python SDKs.
Yes. Setting solveCaptcha to true on a session turns on automatic CAPTCHA detection and solving, billed at $3 per 1,000 solves on Launch and $1 per 1,000 on Scale. Launch accounts must add a $10 paid balance before CAPTCHA solving works.
Yes. A HIPAA-ready BAA is included on the Scale plan, which costs $250 per month plus usage, and on Enterprise, along with Enterprise SSO. The Launch plan does not include a BAA or SSO.
Who Steel competes with, and how each one differs
Browserbase bundles cloud browser sessions behind one managed API with published SOC 2 and HIPAA compliance, competing as a fully-hosted, closed-source stack against Steel's open-source, self-hostable runtime.
Airtop also runs AI agents in cloud browsers with authenticated sessions, but layers a higher-level product on top — Agent Builder (plain-English workflows) and a password vault — where Steel stays a lower-level session API meant to be driven by your own Puppeteer, Playwright, or Selenium code.
Bright Data's Scraping Browser bundles cloud browser sessions with its own global proxy network and web-unlocking, monetized through its much broader proxy, scraper, and dataset business rather than Steel's session-and-compute pricing.
Browserless offers a similarly low-level, self-hostable browser API with Docker images and per-unit metered pricing, but its runtime is closed-source where Steel's is Apache-2.0 licensed.
Nen Labs is a San Francisco company that builds Steel, an open-source browser API for running AI agents' web sessions in the cloud.