How Steel’s scores are calculated
The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.
verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10
PA Score41/100
Agent-ready 59.4 × 0.30 = 17.82
API quality 44.3 × 0.20 = 8.86
Openness 55.6 × 0.20 = 11.12
Built-in AI 15.0 × 0.15 = 2.25
Automation 6.9 × 0.15 = 1.03
(17.82 + 8.86 + 11.12 + 2.25 + 1.03) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 41.08 ÷ 1.00 = 41.1
Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.
Agent-ready59.4/100×0.30 of the PA blend
Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.
Point an agent at llms.txt or agent-oriented docsweight 2
2 (weight) × 9 (quality) × 1.0 (full) = 18.0 of 20 max
- [probe] https://docs.steel.dev/llms.txt“PROBE llms.txt: HTTP 200 at https://docs.steel.dev/llms.txt # Steel Documentation > Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, > res”
- [claimed-docs] https://docs.steel.dev“Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent profiles, session replays, and agent observability.”
- [claimed-docs] https://docs.steel.dev/cookbook/topics/agents“Expose a Steel browser to any MCP client”
Run the product headlessly / in CI for automationweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://docs.steel.dev/overview/steel-cli“The Steel CLI lets you run full browser workflows from the terminal, end-to-end. You can start a browser session, navigate pages, click/fill/type, extract content, and stop the session”
- [claimed-docs] https://docs.steel.dev/overview/sessions-api/overview“the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [github] https://github.com/steel-dev/steel-browser“Pre-built Docker Image (combined API + UI)”
- [github] https://github.com/steel-dev/steel-browser“Uses Puppeteer and CDP for complete control over Chrome instances -- allowing you to connect using Puppeteer, Playwright, or Selenium.”
- [probe] https://docs.steel.dev/overview/steel-cli“official CLI documented at https://docs.steel.dev/overview/steel-cli”
Plug MCP servers into this product so it can use their toolsweight 3
n/a — not applicable to this product: excluded from numerator and denominator
- [claimed-docs] https://docs.steel.dev/integrations/claude-agent-sdk“The Steel integration exposes a cloud browser as in-process MCP tools, so the SDK runs the agent loop and Steel handles the browser.”
- [claimed-docs] https://docs.steel.dev/integrations/claude-agent-sdk“The Steel integration exposes a cloud browser as in-process MCP tools, so the SDK runs the agent loop and Steel handles the brow”
- [claimed-docs] https://docs.steel.dev/cookbook/topics/agents“Expose a Steel browser to any MCP client”
Connect an agent via an official MCP serverweight 3
3 (weight) × 6 (quality) × 1.0 (full) = 18.0 of 30 max
- [claimed-docs] https://docs.steel.dev/cookbook/topics/agents“Expose a Steel browser to any MCP client”
- [claimed-docs] https://docs.steel.dev/integrations/claude-agent-sdk“The Steel integration exposes a cloud browser as in-process MCP tools, so the SDK runs the agent loop and Steel handles the browser.”
- [claimed-docs] https://docs.steel.dev/integrations/claude-agent-sdk“The Steel integration exposes a cloud browser as in-process MCP tools, so the SDK runs the agent loop and Steel handles the brow”
Use an official CLIweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [claimed-docs] https://docs.steel.dev/overview/steel-cli“The Steel CLI lets you run full browser workflows from the terminal, end-to-end. You can start a browser session, navigate pages, click/fill/type, extract content, and stop the session”
- [probe] https://docs.steel.dev/overview/steel-cli“official CLI documented at https://docs.steel.dev/overview/steel-cli”
- [claimed-docs] https://docs.steel.dev“Install Steel CLI and the steel-browser skill so your agent can control a browser.”
Drive the product through a documented public APIweight 3
3 (weight) × 9 (quality) × 1.0 (full) = 27.0 of 30 max
- [probe] https://docs.steel.dev/openapi.json“PROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key”
- [claimed-docs] https://docs.steel.dev“Explore API endpoints for building on Steel.”
- [claimed-docs] https://docs.steel.dev/overview/steel-cli“The Steel CLI lets you run full browser workflows from the terminal, end-to-end. You can start a browser session, navigate pages, click/fill/type, extract content, and stop the session”
- [claimed-docs] https://docs.steel.dev/integrations/agentkit“The Steel integration runs each agent's browser actions on a Steel cloud session, so AgentKit handles the orchestration and Steel handles the browser.”
- [claimed-docs] https://docs.steel.dev/integrations/crewai“The Steel integration exposes a Steel browser as a CrewAI tool, so your crew can search, navigate, fill forms, extract data, and validate results across collaborating agents.”
- [claimed-docs] https://docs.steel.dev/integrations/openai-agents-sdk“The Steel integration runs each tool against a Steel cloud session, so you can stand up a typed browser agent that opens a session, navigates, extracts data, and returns”
- [community] https://hn.algolia.com/api/v1/items/42245573“beautiful docs + api ref! what are you using? (cool that you're doing open-source browserbase also, excited to check this out)”
Issue scoped/least-privilege API credentials for an agentweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://docs.steel.dev“Explore API endpoints for managing Steel Credentials.”
- [claimed-docs] https://docs.steel.dev/overview/sessions-api/reusing-auth-context“Reusing Context & Auth | Steel Docs”
Build against official SDKsweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [github] https://github.com/steel-dev/steel-browser“Uses Puppeteer and CDP for complete control over Chrome instances -- allowing you to connect using Puppeteer, Playwright, or Selenium.”
- [claimed-docs] https://docs.steel.dev/overview/steel-cli“The Steel CLI lets you run full browser workflows from the terminal, end-to-end. You can start a browser session, navigate pages, click/fill/type, extract content, and stop the session”
- [probe] https://docs.steel.dev/openapi.json“PROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key”
- [probe] https://docs.steel.dev/overview/steel-cli“official CLI documented at https://docs.steel.dev/overview/steel-cli”
- [claimed-docs] https://docs.steel.dev/integrations/ai-sdk“The Steel integration runs each tool against a Steel cloud session (open, navigate, snapshot, extract, return typed results)”
- [claimed-docs] https://docs.steel.dev/integrations/crewai“The Steel integration exposes a Steel browser as a CrewAI tool, so your crew can search, navigate, fill forms, extract data, and validate results across collaborating agents.”
- [claimed-docs] https://docs.steel.dev/integrations/pydantic-ai“Build a Pydantic AI browser agent on Steel cloud browsers: provider-agnostic, typed Python agents with dependency injection and real web access.”
- [claimed-docs] https://docs.steel.dev/integrations/openai-agents-sdk“The Steel integration runs each tool against a Steel cloud session, so you can stand up a typed browser agent that opens a session, navigates, extracts data, and returns”
- [claimed-docs] https://docs.steel.dev/integrations/claude-agent-sdk“The Steel integration exposes a cloud browser as in-process MCP tools, so the SDK runs the agent loop and Steel handles the brow”
- [claimed-docs] https://docs.steel.dev/integrations/agentkit“The Steel integration runs each agent's browser actions on a Steel cloud session, so AgentKit handles the orchestration and Steel handles the browser.”
Subscribe to events via webhooksweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Agent-ready = 107.0 ÷ 180 × 100 = 59.4
API quality44.3/100×0.20 of the PA blend
The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.
Explore an interactive API reference with runnable examplesweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://docs.steel.dev“Explore API endpoints for managing Steel Captchas.”
- [claimed-docs] https://docs.steel.dev“Explore API endpoints for building on Steel.”
- [claimed-docs] https://docs.steel.dev“Explore API endpoints for managing Steel Credentials.”
- [claimed-docs] https://docs.steel.dev“Explore API Endpoints for managing Files on Steel.”
- [probe] https://docs.steel.dev/openapi.json“PROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key”
- [community] https://hn.algolia.com/api/v1/items/42245573“beautiful docs + api ref! what are you using? (cool that you're doing open-source browserbase also, excited to check this out)”
Download a machine-readable API spec (OpenAPI or equivalent)weight 2
2 (weight) × 9 (quality) × 1.0 (full) = 18.0 of 20 max
- [probe] https://docs.steel.dev/openapi.json“PROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key”
- [claimed-docs] https://docs.steel.dev“Explore API endpoints for building on Steel.”
- [claimed-docs] https://docs.steel.dev“Explore API endpoints for managing Steel Captchas.”
- [claimed-docs] https://docs.steel.dev“Explore API endpoints for managing Steel Credentials.”
- [claimed-docs] https://docs.steel.dev“Explore API Endpoints for managing Files on Steel.”
Test against a sandbox environment without touching production dataweight 1
1 (weight) × 7 (quality) × 1.0 (full) = 7.0 of 10 max
- [claimed-docs] https://docs.steel.dev/overview/sessions-api/overview“the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [claimed-docs] https://docs.steel.dev/overview/sessions-api/session-lifecycle“Steel generates a session ID for you, but `create` also accepts one. Pass your own UUID when the ID has to exist before the browser does”
- [claimed-docs] https://docs.steel.dev/overview/sessions-api/session-lifecycle“Session Lifecycle | Steel Docs”
- [github] https://github.com/steel-dev/steel-browser“Pre-built Docker Image (combined API + UI)”
- [claimed-docs] https://docs.steel.dev/overview/steel-cli“The Steel CLI lets you run full browser workflows from the terminal, end-to-end. You can start a browser session, navigate pages, click/fill/type, extract content, and stop the session”
Rely on versioned APIs with a documented deprecation policyweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://docs.steel.dev/openapi.json“PROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key”
- [claimed-docs] https://docs.steel.dev“Explore API endpoints for building on Steel.”
API quality = 31.0 ÷ 70 × 100 = 44.3
Openness55.6/100×0.20 of the PA blend
Can you leave, inspect, or self-host — data export, open source, portability.
Do everything through the API that I can do in the UIweight 2
2 (weight) × 7 (quality) × 0.6 (partial) = 8.4 of 20 max
- [claimed-docs] https://docs.steel.dev/overview/sessions-api/overview“the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [claimed-docs] https://docs.steel.dev“Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent profiles, session replays, and agent observability.”
- [claimed-docs] https://docs.steel.dev“Explore API endpoints for building on Steel.”
- [claimed-docs] https://docs.steel.dev/overview/agent-traces/overview“Agent Traces: Observability for Browser Agents | Steel Docs”
- [claimed-docs] https://docs.steel.dev/overview/sessions-api/session-lifecycle“Session Lifecycle | Steel Docs”
- [probe] https://docs.steel.dev/openapi.json“PROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key”
- [claimed-docs] https://docs.steel.dev/overview/sessions-api/human-in-the-loop“Steel's debug URL feature allows you to implement human-in-the-loop workflows where users can directly interact with and control browser sessions.”
- [claimed-docs] https://docs.steel.dev/overview/intro-to-steel“Embed Sessions](/overview/sessions-api/embed-sessions)”
Export all of my data in open formats and leaveweight 3
3 (weight) × 4 (quality) × 0.6 (partial) = 7.2 of 30 max
- [claimed-docs] https://docs.steel.dev/overview/agent-traces/overview“Copy the run as markdown, download JSON, or grab a ZIP with markdown plus screenshots.”
- [claimed-docs] https://docs.steel.dev/overview/agent-traces/overview“Agent Traces: Observability for Browser Agents | Steel Docs”
- [github] https://github.com/steel-dev/steel-browser“Pre-built Docker Image (combined API + UI)”
- [github] https://github.com/steel-dev/steel-browser“Steel.dev is an open-source browser API that makes it easy to build AI apps and agents that interact with the web. Instead of building automation infrastructure from scratch, you can focus o”
- [claimed-docs] https://docs.steel.dev“Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent profiles, session replays, and agent observability.”
Read the product's source under an open licenseweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [github] https://github.com/steel-dev/steel-browser“Uses Puppeteer and CDP for complete control over Chrome instances -- allowing you to connect using Puppeteer, Playwright, or Selenium.”
- [github] https://github.com/steel-dev/steel-browser“Pre-built Docker Image (combined API + UI)”
- [github] https://github.com/steel-dev/steel-browser“Steel.dev is an open-source browser API that makes it easy to build AI apps and agents that interact with the web. Instead of building automation infrastructure from scratch, you can focus o”
- [claimed-docs] https://docs.steel.dev“Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent profiles, session replays, and agent observability.”
- [claimed-docs] https://steel.dev“Steel is an open source browser API that lets you control fleets of browsers in the cloud.”
Self-host the core productweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [github] https://github.com/steel-dev/steel-browser“Pre-built Docker Image (combined API + UI)”
- [github] https://github.com/steel-dev/steel-browser“Steel.dev is an open-source browser API that makes it easy to build AI apps and agents that interact with the web. Instead of building automation infrastructure from scratch, you can focus o”
- [claimed-docs] https://docs.steel.dev“Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent profiles, session replays, and agent observability.”
- [claimed-docs] https://steel.dev“Steel is an open source browser API that lets you control fleets of browsers in the cloud.”
- [community] https://hn.algolia.com/api/v1/items/42245573“beautiful docs + api ref! what are you using? (cool that you're doing open-source browserbase also, excited to check this out)”
Openness = 55.6 ÷ 100 × 100 = 55.6
Built-in AI15.0/100×0.15 of the PA blend
Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.
Get AI-generated insights and suggestions from my data inside the productweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Set up automations that run autonomously in the backgroundweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://docs.steel.dev/overview/sessions-api/overview“the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [claimed-docs] https://docs.steel.dev/overview/steel-cli“The Steel CLI lets you run full browser workflows from the terminal, end-to-end. You can start a browser session, navigate pages, click/fill/type, extract content, and stop the session”
- [claimed-docs] https://docs.steel.dev/integrations/claude-agent-sdk“The Steel integration exposes a cloud browser as in-process MCP tools, so the SDK runs the agent loop and Steel handles the browser.”
- [claimed-docs] https://docs.steel.dev/integrations/agentkit“The Steel integration runs each agent's browser actions on a Steel cloud session, so AgentKit handles the orchestration and Steel handles the browser.”
- [claimed-docs] https://docs.steel.dev/integrations/crewai“The Steel integration exposes a Steel browser as a CrewAI tool, so your crew can search, navigate, fill forms, extract data, and validate results across collaborating agents.”
- [claimed-docs] https://docs.steel.dev/integrations/openai-agents-sdk“The Steel integration runs each tool against a Steel cloud session, so you can stand up a typed browser agent that opens a session, navigates, extracts data, and returns”
Delegate tasks to a built-in AI assistant inside the productweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Operate the product with natural-language commandsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://docs.steel.dev/overview/steel-cli“The Steel CLI lets you run full browser workflows from the terminal, end-to-end. You can start a browser session, navigate pages, click/fill/type, extract content, and stop the session”
- [claimed-docs] https://docs.steel.dev“Install Steel CLI and the steel-browser skill so your agent can control a browser.”
Built-in AI = 6.0 ÷ 40 × 100 = 15.0
Automation6.9/100×0.15 of the PA blend
Depth of automation primitives — rules, scheduling, bulk operations, webhooks.
Perform bulk operations across many items at onceweight 2
2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max
- [claimed-docs] https://docs.steel.dev/overview/sessions-api/overview“the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [claimed-docs] https://docs.steel.dev/overview/sessions-api/session-lifecycle“Steel generates a session ID for you, but `create` also accepts one. Pass your own UUID when the ID has to exist before the browser does”
- [claimed-docs] https://docs.steel.dev/overview/steel-cli“The Steel CLI lets you run full browser workflows from the terminal, end-to-end. You can start a browser session, navigate pages, click/fill/type, extract content, and stop the session”
- [claimed-docs] https://docs.steel.dev/overview/sessions-api/reusing-auth-context“This is particularly useful for maintaining authenticated states across multiple sessions, helping your AI agents access protected resources efficiently without repeatedly handling login processes”
Define rules that trigger actions automatically on eventsweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Schedule recurring jobs or workflowsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Version, review, and roll back my automationsweight 1
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Automation = 4.8 ÷ 70 × 100 = 6.9