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 boat: 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 boat: 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 workload | Steel: price rank | Zenrows: price rank | boat: 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 boat'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; boat 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 boat 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, boat 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 boat 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 boat 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 it | Can't run it | Can't run it |
| macOS agents 5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month | Can't run it | Can't run it | Can't run it |
Key features
| Feature | Steel | Zenrows | boat |
|---|---|---|---|
| Kind of product | Cloud browser sessions over an API, built for AI agents | Web data APIs (Fetch, Extract, Crawl, Batch) plus remote Chrome Browser Sessions | A full Linux VM per sandbox, with a desktop and Chromium inside |
| Isolation | Each session is a headful Chromium in a VM, per the docs; VM type not named | Remote Chrome session; isolation technology not published | A full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Session length | 15 minutes on Launch, 1 hour on Scale, up to 24 hours on Enterprise | 1 to 15 minutes, 3 by default, then the session closes | No session cap on paid plans |
| Browsers at once | 10 on Launch, 100 on Scale, 1,000+ on Enterprise | 5 on Free up to 400 on Scale S5; custom on Enterprise | Set by start rate: the $2,000 plan starts 90 sandboxes a minute and 2,400 a day |
| Files after a session | Files 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 documented | The disk persists, with snapshots every minute and on stop; a stopped sandbox costs nothing |
| Shell, Docker and nested virtualization | No shell; CDP and a REST API only | No shell; browser control over CDP only | SSH, root, systemd, Docker and /dev/kvm on every machine |
| Browser control | Puppeteer, Playwright or Selenium over CDP, plus a computer-use input API and mobile mode | Puppeteer or Playwright over CDP; viewport, user agent and some device settings are blocked | Chromium on your own VM: install any tool or extension and change any setting |
| Watching the agent | Embeddable live view with human takeover, and readable traces | No desktop stream; screenshots and page actions through CDP or MCP tools | 60fps desktop stream with Chromium and computer use, embeddable in your app |
| Outbound IPs | Datacenter by default; managed residential proxies, dedicated IPs on Scale, or bring your own proxy | Over 55 million residential IPs in 190+ countries, rotating on every request, with country targeting | EU data center IPs; bring your own proxy if you need others |
| CAPTCHAs and bot detection | CAPTCHA solving on paid plans; a stealth browser on Enterprise | Anti-bot bypass on its APIs; Browser Sessions cannot solve CAPTCHAs, the Fetch API has anti-CAPTCHA features | None built in; you run your own tools |
| Agent tooling | A CLI, skills, an MCP server and a credentials vault that signs in for the agent | Hosted or local MCP server with scrape, extract, crawl, batch and browser tools | Claude Code, Codex, OpenCode and more preinstalled, driven from outside with a prompt, steer and events API |
| Reaching the machine | No inbound ports; a CDP websocket and a live view URL | None; you connect out to a shared Zenrows endpoint | HTTPS URLs for up to 50 ports, token-protected; raw TCP |
| Self-hosting | Open-source steel-browser (Apache-2.0) in Docker, and Steel Outpost inside your own network | Managed service only | Managed cloud only |
| Where it runs | us-east only; proxy location sets the visible IP | Based in Spain, primarily hosted on DigitalOcean; no region to choose | EU only (Germany, Finland, France), with EU data residency |
Every feature Battleships tracks (43)
| Feature | Steel | Zenrows | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | No | Yes |
| Docker inside | No | No | Yes |
| Nested virtualization | No | No | Yes |
| Root | No | Not published | Yes |
| Systemd | No | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | Yes | Yes | Yes |
| Computer-use API | Yes | Yes | Yes |
| SSH | No | No | Yes |
| Persistent disk | No | No | Yes |
| Pause/resume | No | No | Yes |
| Automatic snapshots | Yes | No | Yes |
| Fork/clone | No | No | Yes |
| Live fork (no pause) | No | No | Yes |
| Memory fork | No | No | No |
| Custom image (Docker or snapshot) | No | Not published | Yes |
| ≥24 h sessions | Yes | No | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | No | No | No |
| HTTPS preview URLs | No | No | Yes |
| Raw TCP inbound | No | Not published | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | No | No | No |
| Secret proxy | No | No | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | No | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | Yes | Yes | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | Yes | No | No |
| BYOC | Yes | No | No |
| Open source | Yes | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Not published | Not published | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Not published | Not published | No |
| SSO | Yes | Yes | No |
| SOC 2 | No | Yes | No |
| HIPAA | Yes | No | No |
| EU data residency | No | No | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
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 boat 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.
| Scenario | Steel, a month | Zenrows, a month | boat, 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 boat, the 1,000-jobs-at-once burst is the one that does not fit: bursts above 90 starts a minute are queued.
| Scenario | Steel | Zenrows | boat |
|---|---|---|---|
| One coding agent, workdays |
|
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel |
|
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
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 boat 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 boat: 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 boat 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. boat 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. boat streams a 60fps desktop, serves HTTPS on 50 ports and ships coding agents you drive from outside.
Use boat 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: boat vs Steel and boat 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; boat 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 boat 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. boat 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 boat 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. boat 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 boat.
Try boat
Install the CLI, then run boat new.
7-day free trial