Steel vs Zenrows

Steel is browser infrastructure for AI agents: cloud Chrome sessions with proxies, CAPTCHA solving, saved logins and a live view, open source and self-hostable. Zenrows is a web data service: Fetch, Extract, Crawl and Batch APIs plus remote Chrome tabs on rotating residential IPs that close after at most 15 minutes.

The companies and products

Steel

Steel is an API that runs fleets of cloud browsers for AI agents: you create a session, connect Puppeteer, Playwright or Selenium, and release it when done.

Each Steel session is a headful Chromium in a VM in Steel's cloud, driven over CDP or through a computer-use input API, with a live viewer you can embed. Around it Steel sells managed proxies, CAPTCHA solving, saved browser profiles, a credentials vault that signs in for the agent, a files API and readable traces. It is a different kind of product from bochka: a managed browser, not a general sandbox, so this page compares where the two overlap, which is agents that use a browser.

Zenrows

Zenrows calls itself web data infrastructure built for agents and applications: APIs that fetch, extract, crawl and browse protected websites.

Browser Sessions (formerly Scraping Browser) is a remote Chrome you connect to over a WebSocket and drive with Puppeteer or Playwright through the Chrome DevTools Protocol. Each session runs on rotating residential IPs and closes after 1 to 15 minutes. It is a different kind of product from bochka: a managed browser for scraping and web tasks, not a machine you get a shell on, so this page compares where the two overlap, which is browser and web agents.

Which use cases each one fits

For each use case, Battleships prices every sandbox provider on the same workload and sorts them from the cheapest monthly bill up. “25th cheapest of 367” means 24 of the other 366 providers run that workload, with every feature it needs, for less. “With limits” means the provider runs it but misses something, so it is listed after every full match. Open a use case for its whole ranking and what each provider misses.

Use case and its workloadSteel: price rankZenrows: price rankbochka: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Neither Steel nor Zenrows has a shell, Docker or a machine disk, so a coding agent can only browse there and needs a machine like bochka's to build and test.
124th of 367, with limits
$1,115 a month
59th of 367, with limits
$448 a month
3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
An assistant that works all month hits Steel's 1-hour cap on Scale and Zenrows' 15-minute cap, so both must restart sessions again and again; bochka has no session cap on paid plans.
238th of 366, with limits
$3,070 a month
126th of 366, with limits
$833 a month
5th cheapest of 366
$657 a month
Code interpreter bursts
100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month
264th of 345, with limits
$333 a month
232nd of 345, with limits
$166 a month
186th of 345, with limits
$2,000 a month
Sandboxes for your users
300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month
300 sandboxes at once is more than Steel's Scale limit of 100 browsers, and on both each user gets a browser tab rather than a machine.
244th of 361, with limits
$990 a month
203rd of 361, with limits
$361 a month
Cheapest of 361
$209 a month
RL rollouts
1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month
257th of 360, with limits
$4,150 a month
229th of 360, with limits
$1,111 a month
34th of 360, with limits
$2,000 a month
Agent evals
250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month
348th of 364, with limits
$400 a month
230th of 364, with limits
$166 a month
10th cheapest of 364
$200 a month
CI runners
40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month
CI needs a shell, Docker and a known CPU size, and neither browser service offers those.
239th of 377, with limits
$120 a month
221st of 377, with limits
$83 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
241st of 368, with limits
$73 a month
232nd of 368, with limits
$58 a month
18th cheapest of 368
$26 a month
Computer-use agents
50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month
Steel has a computer-use input API for its browser, Zenrows has no desktop stream, and bochka streams a 60fps desktop where the agent can use any Linux app.
148th of 369, with limits
$367 a month
93rd of 369, with limits
$166 a month
6th cheapest of 369
$200 a month
Browser-use agents
50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month
All three fit: Zenrows ranks 5th with residential IPs, bochka ranks 7th with Chromium on a full VM, and Steel ranks 25th with proxies, CAPTCHA solving and saved logins.
25th cheapest of 367
$470 a month
5th cheapest of 367
$166 a month
7th cheapest of 367
$200 a month
Scraping & bots (startup scale)
50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month
All three fit at startup scale; Zenrows brings scraping APIs and residential IPs, Steel brings proxies and CAPTCHA solving, and bochka runs your own scraper, queue and database on one machine.
56th cheapest of 346
$540 a month
18th cheapest of 346
$227 a month
6th cheapest of 346
$90 a month
Mass scraping & bots (undetectable)
1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month
None fits fully, but Steel ranks 9th thanks to residential proxies, CAPTCHA solving and a stealth browser on Enterprise, while Zenrows meters bandwidth at 25,000 credits per GB and bochka has no residential proxies of its own.
9th of 338, with limits
$7,950 a month
70th of 338, with limits
$1,791 a month
71st of 338, with limits
$1,800 a month
Parallel red teaming
200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month
220th of 360, with limits
$242 a month
149th of 360, with limits
$115 a month
2nd cheapest of 360
$200 a month
GPU eval jobs
10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month
Can't run itCan't run itCan't run it
macOS agents
5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month
Can't run itCan't run itCan't run it

Key features

FeatureSteelZenrowsbochka
Kind of productCloud browser sessions over an API, built for AI agentsWeb data APIs (Fetch, Extract, Crawl, Batch) plus remote Chrome Browser SessionsA full Linux VM per sandbox, with a desktop and Chromium inside
IsolationEach session is a headful Chromium in a VM, per the docs; VM type not namedRemote Chrome session; isolation technology not publishedA full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Session length15 minutes on Launch, 1 hour on Scale, up to 24 hours on Enterprise1 to 15 minutes, 3 by default, then the session closesNo session cap on paid plans
Browsers at once10 on Launch, 100 on Scale, 1,000+ on Enterprise5 on Free up to 400 on Scale S5; custom on EnterpriseSet by start rate: the $2,000 plan starts 90 sandboxes a minute and 2,400 a day
Files after a sessionFiles API keeps session files; profiles keep cookies and logins (300 MB, deleted after 30 days unused)Session closes and frees its resources; no saved state documentedThe disk persists, with snapshots every minute and on stop; a stopped sandbox costs nothing
Shell, Docker and nested virtualizationNo shell; CDP and a REST API onlyNo shell; browser control over CDP onlySSH, root, systemd, Docker and /dev/kvm on every machine
Browser controlPuppeteer, Playwright or Selenium over CDP, plus a computer-use input API and mobile modePuppeteer or Playwright over CDP; viewport, user agent and some device settings are blockedChromium on your own VM: install any tool or extension and change any setting
Watching the agentEmbeddable live view with human takeover, and readable tracesNo desktop stream; screenshots and page actions through CDP or MCP tools60fps desktop stream with Chromium and computer use, embeddable in your app
Outbound IPsDatacenter by default; managed residential proxies, dedicated IPs on Scale, or bring your own proxyOver 55 million residential IPs in 190+ countries, rotating on every request, with country targetingEU data center IPs; bring your own proxy if you need others
CAPTCHAs and bot detectionCAPTCHA solving on paid plans; a stealth browser on EnterpriseAnti-bot bypass on its APIs; Browser Sessions cannot solve CAPTCHAs, the Fetch API has anti-CAPTCHA featuresNone built in; you run your own tools
Agent toolingA CLI, skills, an MCP server and a credentials vault that signs in for the agentHosted or local MCP server with scrape, extract, crawl, batch and browser toolsClaude Code, Codex, OpenCode and more preinstalled, driven from outside with a prompt, steer and events API
Reaching the machineNo inbound ports; a CDP websocket and a live view URLNone; you connect out to a shared Zenrows endpointHTTPS URLs for up to 50 ports, token-protected; raw TCP
Self-hostingOpen-source steel-browser (Apache-2.0) in Docker, and Steel Outpost inside your own networkManaged service onlyManaged cloud only
Where it runsus-east only; proxy location sets the visible IPBased in Spain, primarily hosted on DigitalOcean; no region to chooseEU only (Germany, Finland, France), with EU data residency
Every feature Battleships tracks (43)
FeatureSteelZenrowsbochka
Full VM (own kernel)YesNoYes
Docker insideNoNoYes
Nested virtualizationNoNoYes
RootNoNot publishedYes
SystemdNoNot publishedYes
Desktop GUINoNoYes
BrowserYesYesYes
Computer-use APIYesYesYes
SSHNoNoYes
Persistent diskNoNoYes
Pause/resumeNoNoYes
Automatic snapshotsYesNoYes
Fork/cloneNoNoYes
Live fork (no pause)NoNoYes
Memory forkNoNoNo
Custom image (Docker or snapshot)NoNot publishedYes
≥24 h sessionsYesNoYes
Idle auto-stopYesYesNo
Wake on requestNoNoNo
HTTPS preview URLsNoNoYes
Raw TCP inboundNoNot publishedYes
Public IPv4NoNoNo
Egress allowlistNoNoNo
Secret proxyNoNoYes
Secret proxy for any APINoNoYes
Preinstalled agentsNoNoYes
Agent harness APINoNoYes
MCP serverYesYesNo
GPUNoNoNo
WindowsNoNoNo
Arm64NoNoNo
Self-hostingYesNoNo
BYOCYesNoNo
Open sourceYesNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedNot publishedYes
Usage per sandbox (API)NoNoYes
Audit logsNot publishedNot publishedNo
SSOYesYesNo
SOC 2NoYesNo
HIPAAYesNoNo
EU data residencyNoNoYes
Zero data retentionNot publishedNot publishedYes

Performance

SteelNot measured
ZenrowsNot measured
bochka26.69 runs/s

There is no comparable measurement for Steel or Zenrows. Neither publishes the CPU or memory behind a browser session, and neither was in StarSling's hpc-sandbox-benchmarks run, where bochka did 26.69 runs per second at 4 vCPU / 8 GB. Steel says a session starts in under a second.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Steel and Zenrows have no published run in this suite yet, so there is no like-for-like number to compare.

Pricing in five scenarios

Each bill is priced from the providers' public price lists by the open Battleships engine, with the cheapest plan that runs the scenario.

ScenarioSteel, a monthZenrows, a monthbochka, a month
One coding agent, workdays
4 vCPU / 8 GB, 50 GB disk, 8 hours a day, 22 days a month, files kept between days
$250 · Scale · with limits$2,499 · Scale S5 (annual) · with limits$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$250 · Scale · with limits$2,499 · Scale S5 (annual) · with limits$26 · $20/mo
50 agents in parallel
50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside
$784 · Scale · with limits$2,499 · Scale S5 (annual) · with limits$317 · $20/mo × 3 seats
Sandboxes for your users
2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once
$510 · Scale · with limits$2,499 · Scale S5 (annual) · with limits$200 · $100/mo × 2 seats
1,000 short jobs at once
2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month
$950 · Scale · with limits$2,499 · Scale S5 (annual) · with limits$2,000 · $2000/mo · with limits

Steel: Steel bills browser hours by the minute, rounded up: $0.10 an hour on the free Launch plan and $0.08 on Scale, which costs $250 a month and includes $100 of usage. Proxy bandwidth, CAPTCHA solves and browser tools are billed on top.

Zenrows: Zenrows sells monthly credit plans shared by all its products. A browser session costs 5 credits a minute plus bandwidth at 25,000 credits per GB; plan credits expire at each renewal and top-ups roll over once.

Zenrows: Plans start at $20 a month, and the whole fee becomes usage credit spent per second while a sandbox runs. A stopped sandbox costs nothing and keeps its disk.

Limits in those scenarios

Neither Steel nor Zenrows fits any sandbox scenario on this page, because each sells a browser session with no shell, Docker, machine disk or published machine size. Session length bites hardest: Steel stops a session after 1 hour on Scale and only Enterprise goes to 24 hours, while Zenrows closes every session after at most 15 minutes, even on Scale S5. Steel's Scale plan also caps you at 100 browsers at once, and Zenrows' Scale S5 at 400. On bochka, the 1,000-jobs-at-once burst is the one that does not fit: bursts above 90 starts a minute are queued.

ScenarioSteelZenrowsbochka
One coding agent, workdays
  • Scale: sessions capped at 1 h
  • missing persistent disk
  • machine size not published
  • browser-session product, not a general sandbox
  • Scale S5 (annual): sessions capped at 0.25 h
  • missing persistent disk
  • machine size not published
  • browser-session product, not a general sandbox
None that bite
One agent that never stops
  • Scale: sessions capped at 1 h
  • missing persistent disk
  • machine size not published
  • browser-session product, not a general sandbox
  • Scale S5 (annual): sessions capped at 0.25 h
  • missing persistent disk
  • machine size not published
  • browser-session product, not a general sandbox
None that bite
50 agents in parallel
  • Scale: sessions capped at 1 h
  • missing persistent disk, Docker inside
  • machine size not published
  • browser-session product, not a general sandbox
  • Scale S5 (annual): sessions capped at 0.25 h
  • missing persistent disk, Docker inside
  • machine size not published
  • browser-session product, not a general sandbox
None that bite
Sandboxes for your users
  • Scale: max 100 concurrent
  • machine size not published
  • browser-session product, not a general sandbox
  • different kind of product: browser session
  • machine size not published
  • browser-session product, not a general sandbox
  • different kind of product: browser session
  • machine size per session not published
None that bite
1,000 short jobs at once
  • Scale: max 100 concurrent
  • machine size not published
  • browser-session product, not a general sandbox
  • different kind of product: browser session
  • Scale S5 (annual): max 400 concurrent
  • machine size not published
  • browser-session product, not a general sandbox
  • different kind of product: browser session
  • max 2,400 starts/day (needs ~6,667)
  • max 600 starts/hour (needs ~1,000)
  • bursts above 90 starts/min are queued (a burst of 333 takes ~4 min to start)

Which one should you use?

Use Steel when

your agent needs a browser for up to an hour at a time, with CAPTCHA solving, saved logins, human takeover and traces, or an open-source browser you can host yourself.

  • Longer sessions and saved state. Useful for agents that browse for a while: Scale sessions last 1 hour, and profiles and the Files API keep logins and files.
  • CAPTCHA solving and stealth. Useful when sites throw CAPTCHAs: Steel solves them on paid plans and offers a stealth browser on Enterprise.
  • Open source and self-hosted. Useful if browsers must run on your own machines: steel-browser is Apache-2.0, and Steel Outpost runs inside your network.

Use Zenrows when

you need to fetch or scrape protected pages from residential IPs in many countries, for a few minutes at a time, or want Fetch, Extract and Crawl APIs behind one credit balance.

  • Residential IPs in 190+ countries. Useful for protected sites: over 55 million residential IPs rotate on every request, and you can pick the country.
  • A full web data toolbox. Useful if you want data more than a browser: Fetch, Extract, Crawl and Batch share one credit balance with Browser Sessions.
  • Short visits on a free plan. Good for quick, spiky page visits: a session costs 5 credits a minute, and the free plan needs no card.

Where bochka fits

Steel and Zenrows both rent a browser, not a machine. If what you are really running is agents that browse and then also work, by saving files, running code, using Docker or staying logged in for hours, look at bochka: each agent gets a full Linux VM with Chromium, a desktop and a disk that stays.

A whole machine next to the browser

Neither Steel nor Zenrows gives the agent a shell, so installs, builds, Docker and its own code need a second machine you wire to the browser and keep alive. On bochka they share one VM with root, systemd and /dev/kvm.

Work that runs for hours

Steel's Scale sessions end after 1 hour and Zenrows' after 15 minutes, about 32 reconnects in an eight-hour shift, each restoring logins and page state. bochka has no session cap on paid plans, saves the disk every minute and can fork a running sandbox.

A desktop, open ports and agents inside

Steel's computer-use API drives only its browser and Zenrows has no desktop stream; neither takes inbound traffic. bochka streams a 60fps desktop, serves HTTPS on 50 ports and ships coding agents you drive from outside.

Use bochka when your agent browses as part of real work: staying logged in for hours, running code and Docker next to the browser, hosting what it builds, or being watched on a 60fps desktop. Compare it one to one: bochka vs Steel and bochka vs Zenrows.

Questions people ask

Is Steel cheaper than Zenrows?

It depends on the job. For browser-use agents Zenrows comes to $166 a month against $470 on Steel, and for startup-scale scraping $227 against $540. For one coding agent on workdays Steel comes to $250 a month on Scale against $2,499 on Zenrows' Scale S5 annual plan, though neither actually fits; bochka comes to $20 a month there.

Which is faster, Steel or Zenrows?

There is no comparable number. Neither publishes the CPU behind a session and neither was in StarSling's benchmark, where bochka did 26.69 runs per second at 4 vCPU / 8 GB. Steel says a session starts in under a second.

How long can a Steel or Zenrows session run?

Steel sessions run up to 15 minutes on Launch, 1 hour on Scale and 24 hours on Enterprise. Zenrows sessions run 1 to 15 minutes, 3 by default, on every plan. bochka has no session cap on paid plans.

Can Steel or Zenrows run Docker or a coding agent?

No. Both give you a browser you drive over CDP, with no shell, so there is nowhere to run Docker or the agent's own code. Their CLIs and MCP servers let an agent on your own machine use the browser, while a bochka sandbox is a full VM with Docker and coding agents preinstalled.

Which is better for scraping protected sites?

Zenrows routes through over 55 million rotating residential IPs in 190+ countries and adds anti-bot Fetch, Extract and Crawl APIs. Steel offers residential proxies, CAPTCHA solving on paid plans and a stealth browser on Enterprise, which ranks it higher for mass scraping. bochka uses EU data center IPs and solves no CAPTCHAs.

Can I self-host Steel or Zenrows?

Steel, yes: steel-browser is open source under Apache-2.0 and runs in Docker, and Steel Outpost runs inside your own network. Zenrows is a managed service only, and so is bochka.

Try bochka

Install the CLI, then run bochka new.

Product preview

More comparisons

Bochka product preview · Pricing, benchmarks and commands are illustrative. Sandbox provisioning is not connected.