Vibeleaderboard
Index / tool
Visit steel.dev
Category
Developer Tools
Rank
No. 990Tools index
Listed in
#12 Control a browser
Pricing
Open Source
Platform
web
Type
TOOL
Builder
steel-dev
Added
Aug 12, 2026

About

Steel is an open-source browser API and sandbox for agents and applications that interact with the web. It manages sessions, proxies, anti-detection, extensions, and page extraction while supporting Puppeteer, Playwright, Selenium, hosted use, and self-hosting.

What it does

Steel turns browser work into two practical workflows. Sessions preserve cookies, local storage, and browser state for multi-step automation. Quick actions handle simpler jobs such as scraping a page, taking a screenshot, or producing a PDF. A bundled interface lets operators inspect and debug active sessions.

Why it's ranked here

Steel covers both lightweight extraction and stateful browser control without forcing one abstraction onto every task. Its strongest case is operational breadth: typed SDKs, direct browser connections, WebDriver compatibility, debugging tools, and container deployment. The public beta label and incomplete Selenium feature parity make the maturity story mixed.

What's good

Session isolation keeps cookies and storage separated, while automatic cleanup handles browser lifecycles. Custom proxies, dimensions, extensions, fingerprints, and ad blocking make sessions configurable. The plugin model exposes browser and page lifecycle events, with error isolation intended to stop one plugin from crashing the system. Quick actions return markdown, readable content, screenshots, or PDFs.

Tradeoffs

The project requires Node.js 22 or newer and a Chrome installation when run directly. Selenium sessions do not support every feature available through Chrome DevTools Protocol sessions. The documentation labels Steel public beta. Horizontal scaling, load balancing, distributed storage, metrics, and several testing layers are described as future or planned work rather than current capabilities.

How to use it well

Use Steel when an agent needs repeatable browser state, direct automation control, or quick page extraction behind one service. Start with quick actions for read-only jobs, then move to sessions when cookies, navigation, uploads, or extensions matter. It does not yet present itself as a complete distributed browser fleet platform, so plan separate infrastructure for cross-instance scheduling and shared storage.

Technical notes+

The root package.json defines a private TypeScript ESM npm workspace spanning api, ui, and repl, requires Node >=22, and delegates tests to the API workspace. api/src/env.ts validates runtime configuration with Zod, including Chrome, CDP, proxy, logging, fingerprint, sandbox, and user-data settings. ui/openapi-ts.config.ts generates a fetch client from an OpenAPI input, while ui/src/App.tsx configures that client from validated UI environment values. ui/vite.config.ts proxies HTTP and WebSocket traffic to the local API. api/vitest.config.ts discovers src/**/*.test.ts with a 30-second timeout.

Observed

License
Apache-2.0
Primary language
TypeScript
Packaging
Private npm workspace with api, ui, and repl packages; Node.js 22 or newer required
Install surface
Pre-built Docker image, Docker Compose, direct npm setup, Railway deployment, and Render deployment
Interfaces
REST API, local Swagger documentation, Node and Python SDKs, CDP connections, Selenium WebDriver compatibility, and a web UI
Platform support
Local setup documents Linux, macOS, and Windows, with WSL2 recommended for Windows development

Read from README.md, package.json, docs/README.md, docs/ARCHITECTURE.md, docs/TROUBLESHOOTING.md, docs/DEVELOPMENT_SETUP.md, docs/PLUGIN_DEVELOPMENT.md, ui/vite.config.ts, api/vitest.config.ts, ui/postcss.config.js, ui/tailwind.config.js, ui/openapi-ts.config.ts, ui/src/env.ts, ui/src/App.tsx, api/src/env.ts.

Tags

browser-automationbrowser-apiai-agentsplaywrightweb-scraping

Tech Stack

Node.jsDocker

Media

Steel

Comments (0)

No comments yet

Indexed by a proprietary survey. Corrections welcome.