Skip to content

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.txtPROBE 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.devSteel 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/agentsExpose 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-cliThe 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/overviewthe 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-browserPre-built Docker Image (combined API + UI)
  • [github] https://github.com/steel-dev/steel-browserUses 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-cliofficial 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-sdkThe 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-sdkThe 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/agentsExpose 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/agentsExpose a Steel browser to any MCP client
  • [claimed-docs] https://docs.steel.dev/integrations/claude-agent-sdkThe 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-sdkThe 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-cliThe 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-cliofficial CLI documented at https://docs.steel.dev/overview/steel-cli
  • [claimed-docs] https://docs.steel.devInstall 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.jsonPROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key
  • [claimed-docs] https://docs.steel.devExplore API endpoints for building on Steel.
  • [claimed-docs] https://docs.steel.dev/overview/steel-cliThe 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/agentkitThe 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/crewaiThe 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-sdkThe 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/42245573beautiful 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.devExplore API endpoints for managing Steel Credentials.
  • [claimed-docs] https://docs.steel.dev/overview/sessions-api/reusing-auth-contextReusing 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-browserUses 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-cliThe 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.jsonPROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key
  • [probe] https://docs.steel.dev/overview/steel-cliofficial CLI documented at https://docs.steel.dev/overview/steel-cli
  • [claimed-docs] https://docs.steel.dev/integrations/ai-sdkThe Steel integration runs each tool against a Steel cloud session (open, navigate, snapshot, extract, return typed results)
  • [claimed-docs] https://docs.steel.dev/integrations/crewaiThe 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-aiBuild 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-sdkThe 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-sdkThe 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/agentkitThe 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.devExplore API endpoints for managing Steel Captchas.
  • [claimed-docs] https://docs.steel.devExplore API endpoints for building on Steel.
  • [claimed-docs] https://docs.steel.devExplore API endpoints for managing Steel Credentials.
  • [claimed-docs] https://docs.steel.devExplore API Endpoints for managing Files on Steel.
  • [probe] https://docs.steel.dev/openapi.jsonPROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key
  • [community] https://hn.algolia.com/api/v1/items/42245573beautiful 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.jsonPROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key
  • [claimed-docs] https://docs.steel.devExplore API endpoints for building on Steel.
  • [claimed-docs] https://docs.steel.devExplore API endpoints for managing Steel Captchas.
  • [claimed-docs] https://docs.steel.devExplore API endpoints for managing Steel Credentials.
  • [claimed-docs] https://docs.steel.devExplore 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/overviewthe 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-lifecycleSteel 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-lifecycleSession Lifecycle | Steel Docs
  • [github] https://github.com/steel-dev/steel-browserPre-built Docker Image (combined API + UI)
  • [claimed-docs] https://docs.steel.dev/overview/steel-cliThe 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.jsonPROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key
  • [claimed-docs] https://docs.steel.devExplore 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/overviewthe 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.devSteel 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.devExplore API endpoints for building on Steel.
  • [claimed-docs] https://docs.steel.dev/overview/agent-traces/overviewAgent Traces: Observability for Browser Agents | Steel Docs
  • [claimed-docs] https://docs.steel.dev/overview/sessions-api/session-lifecycleSession Lifecycle | Steel Docs
  • [probe] https://docs.steel.dev/openapi.jsonPROBE 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-loopSteel'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-steelEmbed 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/overviewCopy the run as markdown, download JSON, or grab a ZIP with markdown plus screenshots.
  • [claimed-docs] https://docs.steel.dev/overview/agent-traces/overviewAgent Traces: Observability for Browser Agents | Steel Docs
  • [github] https://github.com/steel-dev/steel-browserPre-built Docker Image (combined API + UI)
  • [github] https://github.com/steel-dev/steel-browserSteel.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.devSteel 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-browserUses 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-browserPre-built Docker Image (combined API + UI)
  • [github] https://github.com/steel-dev/steel-browserSteel.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.devSteel 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.devSteel 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-browserPre-built Docker Image (combined API + UI)
  • [github] https://github.com/steel-dev/steel-browserSteel.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.devSteel 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.devSteel is an open source browser API that lets you control fleets of browsers in the cloud.
  • [community] https://hn.algolia.com/api/v1/items/42245573beautiful 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/overviewthe 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-cliThe 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-sdkThe 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/agentkitThe 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/crewaiThe 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-sdkThe 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-cliThe 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.devInstall 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/overviewthe 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-lifecycleSteel 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-cliThe 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-contextThis 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