—
If you’ve been watching the browser automation space in 2026, Steel.dev is the open-source project that keeps coming up whenever engineers ask “why am I paying $99/mo for Browserbase when I could self-host this?” Steel gives you a REST API for launching, managing, and recycling Chromium sessions at scale — Apache 2.0 licensed, Docker-based, and built to slot into AI agent pipelines. this review covers what actually works, where it falls short, and who should reach for it.
What Steel.dev Is (and Isn’t)
Steel is browser infrastructure, not a scraping framework. it exposes a session management API over HTTP: you POST to spin up a session, connect via CDP or Playwright, run your automation, then DELETE to recycle the instance. the project lives at steel-dev/steel on GitHub and the architecture is intentionally thin — a session router sitting in front of Chromium workers, with Redis for state.
what it is not: a drop-in stealth browser. there’s no built-in fingerprint spoofing, no CAPTCHA solver, no residential proxy pool baked in. if you’ve been evaluating lightweight alternatives like Lightpanda Browser, which compiles to native AOT and skips JavaScript execution entirely for speed, Steel sits at the opposite end — full Chromium, full JS, full overhead, but maximum compatibility.
Getting Started: Docker Setup in Under 10 Minutes
the self-hosted path is a single docker-compose up. here’s a minimal session lifecycle:
# spin up a session
curl -X POST http://localhost:3000/v1/sessions \
-H "Content-Type: application/json" \
-d '{"timeout": 30000, "proxy": "http://user:pass@proxy.host:8080"}'
# response: {"id": "sess_abc123", "cdpUrl": "ws://localhost:9222/..."}from there you connect Playwright directly to cdpUrl:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp("ws://localhost:9222/...")
page = browser.contexts[0].pages[0]
page.goto("https://target.com")cleanup is a DELETE to /v1/sessions/sess_abc123. the API surface is small enough to read in an afternoon, which is genuinely refreshing compared to heavier platforms. numbered steps to go from zero to first session:
- clone the repo and copy
.env.exampleto.env - run
docker compose up -d(pulls ~1.2 GB) - confirm health at
http://localhost:3000/health - POST a session and grab the
cdpUrl - connect Playwright or any CDP client
Steel vs Browserbase vs Alternatives
the honest comparison most people actually need:
| Feature | Steel (self-hosted) | Steel Cloud | Browserbase | Multilogin |
|---|---|---|---|---|
| Pricing | free (infra cost) | $49/mo (10 concurrent) | $99/mo (5 concurrent) | $99+/mo |
| Self-host | yes | no | no | no |
| Cold session start | ~800ms | ~1.2s | ~1.8s | ~2s |
| Built-in stealth | no | no | partial | yes |
| CAPTCHA solving | no | no | yes (add-on) | no |
| Proxy bring-your-own | yes | yes | yes | yes |
| CDP support | yes | yes | yes | yes |
| Open source | Apache 2.0 | — | no | no |
Steel Cloud undercuts Browserbase by 50% and doubles the concurrent session limit at that price point. for managed use, that’s a real advantage. self-hosted cold starts are the fastest of the group at ~800ms, which matters when you’re spinning thousands of sessions per day in an AI pipeline.
proxy integration is bring-your-own. you pass the proxy string at session creation time, per the curl example above. if you need a reliable rotating pool, you’ll want to pair Steel with something purpose-built — the Proxy Pool Manager open-source guide covers how to build and manage that layer yourself, which works cleanly alongside Steel’s session API.
AI Agent Integration
Steel’s killer use case in 2026 is as the browser backend for LLM agent pipelines. if you’ve seen the Bytebot vs Skyvern vs Browser Use comparison, you’ll recognize the pattern: AI agents need reliable, recyclable browser sessions they can spin up without managing Chromium lifecycle themselves. Steel fills that gap without forcing you into a vendor’s managed cloud.
the pattern that works well in production:
- LangChain or CrewAI tool calls POST to Steel’s session API
- the agent receives a
cdpUrland drives the browser - on tool completion, the session is deleted and the worker slot is freed
- session timeouts (configurable, default 30s of inactivity) kill orphaned sessions automatically
the missing piece is stealth. Steel out of the box presents a stock Chromium fingerprint. for most internal tooling and lightly protected targets this is fine. for sites running Akamai, Cloudflare Bot Management, or DataDome at full sensitivity, you’ll need to layer in fingerprint patches — stealth-chromium extensions, custom user-agent rotation, and WebGL noise injection — before Steel sessions pass bot detection consistently.
Proxy and Network Considerations
because Steel has no built-in proxy pool, your proxy strategy is entirely external. residential rotating proxies are the standard choice for production scraping. networks like ProxyMesh offer clean HTTP/HTTPS endpoints that map directly to Steel’s per-session proxy parameter. if budget is tighter, the Geonode vs IPVanish vs StormProxies roundup covers several underrated options that work fine for moderate-volume pipelines.
a few things to watch in production:
- Steel workers don’t share proxy sessions across concurrent requests, so per-session proxy injection works cleanly
- if a proxy fails mid-session, the browser hangs until timeout — build a timeout wrapper around every
page.goto()call - for high-concurrency self-hosted setups, each Chromium worker consumes roughly 300-400 MB RAM under load; plan your instance sizing accordingly
Bottom Line
Steel.dev is the right call for engineering teams that want managed browser sessions without the Browserbase price tag, and especially for AI agent pipelines where session lifecycle management matters more than built-in stealth. self-hosted is genuinely production-ready. Steel Cloud at $49/mo is a fair managed option if you don’t want to run infra. the gaps — no fingerprint spoofing, no CAPTCHA solving, no proxy pool — are real, but all of them are solvable at the infrastructure layer. dataresearchtools.com will continue tracking Steel’s roadmap as the managed tier matures through 2026.