Skip to content

Rank #1 of 7 in Browser Automation for Agents

Steel logo

Steel

Open Source

Steel, Inc.

7.6k4.1k/yrnpm 23.7k/wk +52npm/wk -9.8kpypi/wk +5.9k

Access

Install

npmnpm install steel-sdk
pippip install steel-sdk
installercurl -sSf https://setup.steel.dev | sh

Vendor-official, but review any script before piping it to a shell.

Compare head-to-head

Alternatives to Steel

Showcase

Steel homepage screenshot
homepage · captured Sep 2026 · view live ↗
Steel docs screenshot
docs · captured Sep 2026 · view live ↗

Try itExperimental

See what an agent can do with Steel before you ever sign up. Pick a story: recorded sessions replay real probe-harness transcripts; sandboxed self-drive sessions are designed and gated (docs/TRY-IT.md).

$HOME=$(mktemp -d) sh -c 'curl -sSf https://setup.steel.dev | sh -s -- --non-interactive && ~/.steel/bin/steel --version'recorded session — replayed, not live
recorded 2026-09-05 · exit 0 · captured verbatim by our probe harness, secrets redacted

Verified integrations

No integration evidence found in our corpus for this product yet — that means none was found, never that it doesn’t integrate.

By theme — the product's score on each story themeBy theme

Action primitives — stories about action primitives in this arenaAction primitivesevidence →

Stories about action primitives in this arena

3.0/100

Agenticness — how well agents can access and operate the productAgenticnessevidence →

How well agents can access and operate the product

49.0/100

Auth session persistence — stories about auth session persistence in this arenaAuth session persistenceevidence →

Stories about auth session persistence in this arena

60.0/100

Automation depth — how much of the product can run unattendedAutomation depthevidence →

How much of the product can run unattended

6.9/100

Deployment modes — stories about deployment modes in this arenaDeployment modesevidence →

Stories about deployment modes in this arena

90.0/100

Framework model support — stories about framework model support in this arenaFramework model supportevidence →

Stories about framework model support in this arena

15.0/100

Nl task execution — stories about nl task execution in this arenaNl task executionevidence →

Stories about nl task execution in this arena

12.9/100

Openness — open source, data portability, and self-hosting storiesOpennessevidence →

Open source, data portability, and self-hosting stories

53.4/100

Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limitsevidence →

Free-tier ceilings, usage caps, and rate limits before you have to pay

0.0/100

Privacy posture — data-handling and privacy storiesPrivacy postureevidence →

Data-handling and privacy stories

10.7/100

Replay debugging — stories about replay debugging in this arenaReplay debuggingevidence →

Stories about replay debugging in this arena

75.0/100

Scale parallelism — running many jobs at once — concurrency, fleets, queueingScale parallelismevidence →

Running many jobs at once — concurrency, fleets, queueing

24.0/100

Stealth captcha — stories about stealth captcha in this arenaStealth captchaevidence →

Stories about stealth captcha in this arena

64.0/100

Structured extraction — stories about structured extraction in this arenaStructured extractionevidence →

Stories about structured extraction in this arena

0.0/100

Story verdicts — every judged story with its evidenceStory verdicts

What’s free: 16 free · 0 paid · 0 enterprise · 12 not stated in evidence

?

Sorted by importance (agentic first) (high → low) · 52/52 stories · click a row’s chevron for the rationale and evidence

Drive the product through a documented public API G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness3fullfree9/10T

Connect an agent via an official MCP server G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness3partial5/10C

Plug MCP servers into this product so it can use their tools G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness3n/a0/10

Delegate tasks to a built-in AI assistant inside the product G

Agentic features

ai-native userAgenticness — how well agents can access and operate the productAgenticness3n/auntestednone yet

Download a machine-readable API spec (OpenAPI or equivalent) G

Api quality

ai-native userAgenticness — how well agents can access and operate the productAgenticness2full9/10T

Point an agent at llms.txt or agent-oriented docs G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness2full9/10T

Run the product headlessly / in CI for automation G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness2fullfree9/10T

Build against official SDKs G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness2fullfree8/10T

Use an official CLI G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness2fullfree8/10T

Explore an interactive API reference with runnable examples G

Api quality

ai-native userAgenticness — how well agents can access and operate the productAgenticness2partial6/10T

Operate the product with natural-language commands G

Agentic features

ai-native userAgenticness — how well agents can access and operate the productAgenticness2partial±5/10C

Get AI-generated insights and suggestions from my data inside the product G

Agentic features

ai-native userAgenticness — how well agents can access and operate the productAgenticness2n/a0/10

Set up automations that run autonomously in the background G

Agentic features

ai-native userAgenticness — how well agents can access and operate the productAgenticness2none±0/10

Issue scoped/least-privilege API credentials for an agent G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness2noneuntestednone yet

Rely on versioned APIs with a documented deprecation policy G

Api quality

ai-native userAgenticness — how well agents can access and operate the productAgenticness2noneuntestednone yet

Subscribe to events via webhooks G

Agent access

ai-native userAgenticness — how well agents can access and operate the productAgenticness2noneuntestednone yet

Test against a sandbox environment without touching production data G

Api quality

ai-native userAgenticness — how well agents can access and operate the productAgenticness1fullfree7/10T

Self-host the core product G

ai-native userOpenness — open source, data portability, and self-hosting storiesOpenness3fullfree10/10T

Persist logged-in browser state in reusable profiles so agents skip the login wall on every subsequent run C

Profiles

developerAuth session persistence — stories about auth session persistence in this arenaAuth session persistence3fullfree8/10T

Export all of my data in open formats and leave G

ai-native userOpenness — open source, data portability, and self-hosting storiesOpenness3partialfree5/10T

Hand the product a natural-language goal and it completes a multi-step web task end to end — navigating, filling forms, and clicking through flows C

Tasks

developerNl task execution — stories about nl task execution in this arenaNl task execution3partialfree5/10T

Drive the page through DOM-understanding action primitives (act/click/type on described elements) that survive selector and layout changes C

Dom

developerAction primitives — stories about action primitives in this arenaAction primitives3none0/10

Extract typed, schema-validated data (Zod/Pydantic-style) from pages the agent visits, not just raw text C

Extraction

developerStructured extraction — stories about structured extraction in this arenaStructured extraction3none0/10

Define rules that trigger actions automatically on events G

ai-native userAutomation depth — how much of the product can run unattendedAutomation depth3noneuntestednone yet

Prevent my data from being used to train AI models G

ai-native userPrivacy posture — data-handling and privacy storiesPrivacy posture3noneuntestednone yet

Connect my existing Playwright, Puppeteer, or CDP automation code to the product's browsers instead of rewriting it C

Compat

developerAuth session persistence — stories about auth session persistence in this arenaAuth session persistence2fullfree9/10T

Run the agent against a local browser on my own machine for development, without any cloud account C

Local

developerDeployment modes — stories about deployment modes in this arenaDeployment modes2fullfree9/10T

Enable stealth fingerprinting and residential or geo-targeted proxies so legitimate automations aren't blocked as bots C

Stealth

automation-engineerStealth captcha — stories about stealth captcha in this arenaStealth captcha2full8/10X

Rely on a documented captcha stance — automatic solving, human fallback, or explicit non-support — instead of silent task failures C

Captcha

automation-engineerStealth captcha — stories about stealth captcha in this arenaStealth captcha2full8/10C

Watch a session live and take human control mid-run when the agent gets stuck C

Live

automation-engineerReplay debugging — stories about replay debugging in this arenaReplay debugging2fullfree8/10T

Debug a failed agent run from recorded replays — video, screenshots, step-by-step action timelines C

Replay

automation-engineerReplay debugging — stories about replay debugging in this arenaReplay debugging2full7/10C

Do everything through the API that I can do in the UI G

ai-native userOpenness — open source, data portability, and self-hosting storiesOpenness2partialfree6/10T

Read the product's source under an open license G

ai-native userOpenness — open source, data portability, and self-hosting storiesOpenness2partialfree6/10T

Run a fleet of concurrent browser sessions with documented concurrency limits and programmatic session management C

Fleets

automation-engineerScale parallelism — running many jobs at once — concurrency, fleets, queueingScale parallelism2partial6/10T

Plug the browser layer into agent frameworks (Claude Agent SDK, Vercel AI SDK, LangChain, CrewAI) through documented adapters C

Frameworks

developerFramework model support — stories about framework model support in this arenaFramework model support2partial5/10C

Choose where my data is stored (region/residency) G

ai-native userPrivacy posture — data-handling and privacy storiesPrivacy posture2partialfree4/10T

Control data retention and deletion G

ai-native userPrivacy posture — data-handling and privacy storiesPrivacy posture2partialfree4/10T

Perform bulk operations across many items at once G

ai-native userAutomation depth — how much of the product can run unattendedAutomation depth2partial4/10C

Compose repeatable multi-step workflows with loops, conditionals, and parameters instead of one-shot prompts C

Workflows

automation-engineerNl task execution — stories about nl task execution in this arenaNl task execution2none0/10

See transparent per-task or per-browser-hour pricing and documented rate/concurrency limits before committing G

Pricing

developerPricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits2none0/10

Store credentials in a vault and have the agent complete logins including TOTP/2FA challenges without exposing secrets to the model G

Credentials

automation-engineerAuth session persistence — stories about auth session persistence in this arenaAuth session persistence2none0/10

Submit a browser task over a hosted HTTP API and receive the result by polling or webhook, without managing any browser myself C

Tasks

ai agentNl task execution — stories about nl task execution in this arenaNl task execution2none0/10

Bring my own LLM provider — the framework is model-agnostic rather than locked to one vendor's models C

Models

developerFramework model support — stories about framework model support in this arenaFramework model support2noneuntestednone yet

Cache resolved actions or generated code so repeat runs replay deterministically at lower cost and latency than re-prompting the LLM C

Caching

developerAction primitives — stories about action primitives in this arenaAction primitives2noneuntestednone yet

Opt out of telemetry and usage tracking G

ai-native userPrivacy posture — data-handling and privacy storiesPrivacy posture2noneuntestednone yet

Schedule recurring jobs or workflows G

ai-native userAutomation depth — how much of the product can run unattendedAutomation depth2noneuntestednone yet

Switch to a vision or computer-use action mode that operates on screenshots for canvases and UIs the DOM path can't handle C

Vision

developerAction primitives — stories about action primitives in this arenaAction primitives2noneuntestednone yet

Preview candidate actions on the current page (observe/plan) before committing the agent to act C

Observe

developerAction primitives — stories about action primitives in this arenaAction primitives1partial4/10C

Get webhook notifications when tasks and sessions finish instead of polling for status C

Lifecycle

developerScale parallelism — running many jobs at once — concurrency, fleets, queueingScale parallelism1noneuntestednone yet

My agent can download files from and upload files to the sites it operates, with the artifacts retrievable afterwards C

Files

developerStructured extraction — stories about structured extraction in this arenaStructured extraction1noneuntestednone yet

Point to the vendor's published acceptable-use and anti-abuse posture governing what its stealth and automation features may be used for C

Posture

automation-engineerStealth captcha — stories about stealth captcha in this arenaStealth captcha1noneuntestednone yet

Version, review, and roll back my automations G

ai-native userAutomation depth — how much of the product can run unattendedAutomation depth1n/auntestednone yet

Opportunities — the stories that would move this product's scores, from its own judged verdictsOpportunitiestop 8 of 33 stories with headroom

What would move Steel’s scores — derived from its own judged verdicts, biggest headroom first. Each line quotes what the judge found missing; shipping it (or evidencing it publicly) is the fix.

  1. Automation depth — how much of the product can run unattendedDefine rules that trigger actions automatically on events

    nonemoves PA Scoreimpact 30

    Steel's evidence covers sessions, proxies, captcha solving, CLI, and agent traces, but nothing describes a rules engine or event-triggered automation (e.g., 'if X happens then do Y') that a user could configure declaratively.

  2. Action primitives — stories about action primitives in this arenaDrive the page through DOM-understanding action primitives (act/click/type on described elements) that survive selector and layout changes

    nonemoves PA Scoreimpact 30

    Steel's evidence shows only traditional CDP/Puppeteer/Selenium-based control and CLI commands like click/fill/type (steel-docs-8, steel-gh-1), which are selector-based automation primitives, not AI/DOM-understanding 'act on described element' primitives that resolve targets semantically and survive selector/layout changes.

  3. Privacy posture — data-handling and privacy storiesPrevent my data from being used to train AI models

    nonemoves PA Scoreimpact 30

    The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is "none", never "na".

  4. Structured extraction — stories about structured extraction in this arenaExtract typed, schema-validated data (Zod/Pydantic-style) from pages the agent visits, not just raw text

    nonemoves PA Scoreimpact 30

    Steel's docs/GitHub only show raw content extraction utilities (markdown, readability, screenshots, PDF conversion) and generic 'extract content' CLI commands, with no mention of Zod/Pydantic-style schema validation or typed structured outputs.

  5. Agenticness — how well agents can access and operate the productSet up automations that run autonomously in the background

    nonemoves Built-in AIimpact 30

    Steel provides on-demand browser sessions, CLI, SDK, and agent-trace tooling for agents to control browsers, but nothing in the evidence describes a scheduling/trigger mechanism or persistent background job runner that lets a user set up automations to run autonomously without invocation — sessions are explicitly spun up 'on demand' by an agent/script, not scheduled by Steel itself.

  6. Agenticness — how well agents can access and operate the productIssue scoped/least-privilege API credentials for an agent

    nonemoves agent-readyimpact 30

    No evidence anywhere in the pack of scoped or least-privilege API key/credential issuance (e.g., role-based keys, permission scopes, restricted tokens) for agents — only session isolation, proxies, and CLI features are documented, none of which address credential scoping.

  7. Agenticness — how well agents can access and operate the productSubscribe to events via webhooks

    nonemoves agent-readyimpact 30

    No evidence anywhere in the pack mentions webhooks or event subscriptions; Steel's documented surfaces are Sessions API, CLI, MCP tools, and agent traces, none of which describe a webhook/event notification mechanism.

  8. Agenticness — how well agents can access and operate the productRely on versioned APIs with a documented deprecation policy

    nonemoves API qualityimpact 30

    No evidence pack item mentions API versioning scheme or a documented deprecation policy; only an OpenAPI spec and general docs are shown, neither of which discuss version lifecycle or deprecation commitments.

Showing the top 8 of 33 — every none/partial verdict in the story verdicts table is headroom.

Think a verdict is wrong? Every verdicts-table row has a Flag link — see the methodology.

Coverage map — which docs area, API section, or community source covers which judged storiesCoverage map6 surfaces · 28 covered stories

Where the cited evidence behind each covered verdict came from — the same citations the verdicts table shows, no extra judging.

Overview docs20 stories

Probe proofs — replayable recordings from the probe harnessProbe proofs

Replayable recordings from our probe harness — see the Prove-It protocol to submit one.

$HOME=$(mktemp -d) sh -c 'curl -sSf https://setup.steel.dev | sh -s -- --non-interactive && ~/.steel/bin/steel --version'reproduced
$ HOME=$(mktemp -d) sh -c 'curl -sSf https://setup.steel.dev | sh -s -- --non-interactive && ~/.steel/bin/steel --version'
steel 0.4.4
proves: Use an official CLIrecorded 2026-09-05
$docker run -d --name pa-steel-probe -p 13000:3000 ghcr.io/steel-dev/steel-browser && curl localhost:13000/v1/health && curl -X POST localhost:13000/v1/sessions -d '{}' && curl localhost:13000/v1/sessionsreproduced
$ docker run -d --name pa-steel-probe -p 13000:3000 ghcr.io/steel-dev/steel-browser && curl localhost:13000/v1/health && curl -X POST localhost:13000/v1/sessions -d '{}' && curl localhost:13000/v1/sessions
879a09ecaf26dc4a81f7542ac82d984c771b310cf595800870cfc2cc6369c8ce
{"status":"ok"}
{"id":"3f017875-755c-40b1-9456-ef9d3a4bab70","createdAt":"2026-09-05T01:15:05.836Z","status":"live","duration":0,"eventCount":0,"timeout":0,"creditsUsed":0,"websocketUrl":"ws://0.0.0.0:3000/","debugUrl":"http://0.0.0.0:3000/v1/sessions/debug","debuggerUrl":"http://0.0.0.0:3000/v1/devtools/inspector.
{"sessions":[{"id":"3f017875-755c-40b1-9456-ef9d3a4bab70","createdAt":"2026-09-05T01:15:05.836Z","status":"live","duration":291,"eventCount":0,"timeout":0,"creditsUsed":0,"websocketUrl":"ws://0.0.0.0:
$mktemp -d && npm install steel-sdk && node -e "console.log('PA_PROBE_OK Steel export:', typeof require('steel-sdk').Steel)"reproduced
$ mktemp -d && npm install steel-sdk && node -e "console.log('PA_PROBE_OK Steel export:', typeof require('steel-sdk').Steel)"
\
added 37 packages in 256ms
\PA_PROBE_OK Steel export: function

Claims vs evidence — vendor claims reconciled against independent verdictsClaims vs evidence

8 of 11 testable claims verified · 0 contradictedintegrity 73/100

14 distinct capability claims found in Steel’s own claimed-docs/GitHub materials, reconciled against our judge’s independent verdicts.

8

Verified

3

Unverified

0

Contradicted

17

Undersold

Verified (8)
Unverified (3)
Undersold (17)
Claims outside our story set (3)

Real capability claims found in Steel’s own materials, but no story in this arena’s taxonomy covers them yet — that’s feedback on the taxonomy, not a mark against the product.

  • Session IDs can be auto-generated or supplied as a custom UUID before the browser session exists

    source ↗
  • Supports loading custom Chrome extensions into browser sessions

    source ↗
  • Provides browser tool APIs to convert pages to markdown, readability text, screenshots, or PDFs

    source ↗
Suggest a story for these →

Business model

open-sourcefree-tiersubscriptionusage-based

Apache-2.0 open-source browser API you can self-host with Docker; Steel Cloud offers a free hobby tier and paid plans metered on browser hours, concurrency, and proxy/captcha usage.

pricing ↗

Score trend

How this product’s scores have moved as evidence and verdicts are re-derived — a point per change, not per day.

PA Scoretracked since Sep 5 '26 — no movement recorded yet
Agent-readytracked since Sep 5 '26 — no movement recorded yet

Try Experimental

Run it in the microterminal →

Recorded agent sessions — and a live MCP handshake where the vendor ships one.

Flag

⚑ Flag a verdict

Think a verdict is wrong? Opens a prefilled GitHub issue — or use the ⚑ next to any verdict above.

Badge

Embed this product's score badge →

Hotlinked SVG — always shows the live current score.

For agents

Data

Agent surface uptime llms.txt 100% · openapi.json 100% (30d, checked every 6h since Sep 8 '26)