Browser Automation for Agents Arena
Browser Use vs Steel
Browser Use
Browser Use, Inc.
Steel wins · 8–21 (19 drawn)
Action primitives — stories about action primitives in this arenaAction primitives
Stories about action primitives in this arena
Caching
developerCache resolved actions or generated code so repeat runs replay deterministically at lower cost and latency than re-prompting the LLM
weight 2 · round drawnBrowser Usenone0/10No evidence of caching resolved actions or generated code for deterministic, lower-cost replay; the product is LLM-driven agent automation with sessions/runs but nothing about caching or replay without re-invoking the model. missing for 10: any mention of action/code caching, deterministic replay mechanism, or cost/latency savings from skipping re-prompting.
Steelnone0/10Steel's evidence covers session management, stealth, proxies, human-in-the-loop debugging, and agent traces, but nothing about caching resolved actions or generated code to enable deterministic, lower-cost replay without re-invoking the LLM. Agent traces (steel-docs-6/7) provide observability/export, not action-cache replay for cost savings.
Dom
developerDrive the page through DOM-understanding action primitives (act/click/type on described elements) that survive selector and layout changes
weight 3 · round to Browser UseBrowser Use's core agent is built around natural-language task instructions (e.g. "Find the top Hacker News story", "Fill in this job application") executed via an LLM-driven agent that perceives the DOM/page state and decides actions, which is the essence of DOM-understanding, layout-resilient automation — this is corroborated by GitHub task examples and community hands-on use (LinkedIn automation, resume filling). However, the evidence pack lacks explicit documentation of discrete act/click/type primitives with described-element targeting or any stated guarantee/mechanism for surviving selector/layout changes; it's inferred from the agent's general design rather than directly documented. missing for 10: explicit API/primitive-level documentation of click/type/act-on-described-element functions, and direct evidence/testing showing resilience to selector or layout changes rather than just general LLM-driven task completion.
- [github] “Task: "Fill in this job application with my resume and information."”
- [github] “Task: "Extract structured data about my followers and export it as a CSV."”
- [community] “If you run it locally, you can connect it to your real browser and user profile where you are already logged in. This works for me for Linke…”
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
Steelnone0/10Steel's own docs describe CLI-level click/fill/type and CDP/Puppeteer control (steel-gh-1, steel-docs-8), which is standard selector-based automation, not a DOM-understanding 'act on described element' primitive that survives layout/selector changes. Semantic action-taking is delegated to third-party integrations (Claude/OpenAI/Gemini Computer Use, Browser-Use) rather than being a native Steel capability.
- [claimed-docs] “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…”
- [github] “Uses Puppeteer and CDP for complete control over Chrome instances -- allowing you to connect using Puppeteer, Playwright, or Selenium.”
- [claimed-docs] “Use Gemini Computer Use with Steel Browser.”
- [claimed-docs] “Use Claude Computer Use with Steel Browser.”
- [claimed-docs] “The OpenAI Computer Use integration runs OpenAI's vision-based agent loop on a Steel browser session.”
- [claimed-docs] “Use Browser-Use to interact with a Steel browser.”
Observe
developerPreview candidate actions on the current page (observe/plan) before committing the agent to act
weight 1 · round drawnBrowser Usenone0/10Evidence shows live-preview URLs for human intervention during CAPTCHA/2FA and event polling for observability, but nothing about an explicit preview/plan step where candidate actions are surfaced for developer review before the agent commits to acting.
- [claimed-docs] “If the challenge remains, open the [live preview](/cloud/browser/live-preview) for human control.”
- [claimed-docs] “Ask the first run to stop at the 2FA screen, get its `live_view_url` from the [`browser.ready` event], and have the user enter the code. The…”
- [claimed-docs] “Poll ordered V4 events to monitor a run or build a custom UI.”
- [claimed-docs] “Ask the first run to stop at the 2FA screen, get its `live_view_url` from the [`browser.ready` event]”
Steelnone0/10Steel exposes session snapshot/extract/screenshot tools and a human-in-the-loop debug URL (steel-docs-5, steel-docs-39), but there is no evidence of an explicit preview/plan primitive that lets a developer see candidate actions on a page before committing the agent to execute them — it's an observability/handoff feature, not an action-preview mechanism.
- [claimed-docs] “Steel's debug URL feature allows you to implement human-in-the-loop workflows where users can directly interact with and control browser ses…”
- [claimed-docs] “The Steel integration runs each tool against a Steel cloud session (open, navigate, snapshot, extract, return typed results)”
- [github] “Browser Tools: Exposes APIs to quick convert pages to markdown, readability, screenshots, or PDFs.”
Vision
developerSwitch to a vision or computer-use action mode that operates on screenshots for canvases and UIs the DOM path can't handle
weight 2 · round to SteelBrowser Usenone0/10Browser Use's docs describe DOM-based agent actions, live preview/human handoff for CAPTCHA/2FA, and CDP-based control, but there is no evidence of a dedicated vision or computer-use mode that acts directly on screenshots for canvas/UI elements the DOM can't reach.
Steel documents dedicated integrations for OpenAI, Claude, and Gemini Computer Use that run vision-based agent loops (operating on screenshots) atop a Steel browser session, directly enabling a vision/computer-use mode alongside its DOM-based Sessions API and CLI actions. missing for 10: independent/hands-on corroboration of vision mode working on canvas-heavy UIs, and detail on switching seamlessly between DOM and vision modes within one session.
- [claimed-docs] “Use Gemini Computer Use with Steel Browser.”
- [claimed-docs] “Use Claude Computer Use with Steel Browser.”
- [claimed-docs] “The OpenAI Computer Use integration runs OpenAI's vision-based agent loop on a Steel browser session.”
- [claimed-docs] “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…”
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
Agent access
ai-native userPoint an agent at llms.txt or agent-oriented docs
weight 2 · round to SteelBrowser Use publishes a discoverable llms.txt at docs.browser-use.com/llms.txt confirmed live via probe (HTTP 200), which is exactly the agent-oriented docs entry point an AI-native user could point an agent at, and the broader docs site is structured/markdown-friendly for agent consumption. Missing for 10: no evidence of additional structured formats like llms-full.txt or explicit guidance encouraging agents to consume it, and no independent community confirmation of agents successfully using it.
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.browser-use.com/llms.txt # Browser Use > Documentation for Browser Use Cloud Agent and Browser API…”
Steel serves a live llms.txt file at docs.steel.dev/llms.txt (HTTP 200, confirmed via probe) summarizing its docs, which an agent can be pointed at directly, plus a full agent-oriented docs site with skills, MCP, and SDK integration guides. Missing for 10: no independent/community confirmation that agents actually consume the llms.txt file successfully in practice.
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.steel.dev/llms.txt # Steel Documentation > Steel is the open-source browser API for AI agents — ma…”
- [claimed-docs] “Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent p…”
- [claimed-docs] “Expose a Steel browser to any MCP client”
ai-native userRun the product headlessly / in CI for automation
weight 2 · round to SteelBrowser Use ships both an open-source Python library and a cloud API (client.runs.create) that are inherently script/automatable, implying headless/CI use, and gh-3 explicitly pitches automating the web 'from your own code, and with any LLM.' However, there is no explicit documentation of headless mode flags, Docker images, or CI pipeline examples/integration guides. Missing for 10: explicit headless-mode configuration docs, CI/CD pipeline examples (e.g., GitHub Actions), and independent confirmation of running unattended in CI.
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
- [github] “Want to automate the web at scale, from your own code, and with any LLM? Use the Python library”
- [claimed-docs] “For a local agent, use the [open-source library](/open-source/quickstart).”
- [claimed-docs] “Launch a browser, connect to its CDP URL, then stop it”
Steel is API-first and ships a CLI, Docker image (API+UI), and Sessions API that spins up isolated cloud browsers on demand, all designed to be driven programmatically with no GUI required — exactly the shape needed for CI/headless automation. It also supports standard automation clients (Puppeteer/Playwright/Selenium via CDP) which are routinely run headlessly in CI pipelines. Missing for 10: an explicit CI/CD example (e.g., GitHub Actions workflow) or independent report confirming real-world headless CI usage.
- [claimed-docs] “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…”
- [claimed-docs] “the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [github] “Pre-built Docker Image (combined API + UI)”
- [github] “Uses Puppeteer and CDP for complete control over Chrome instances -- allowing you to connect using Puppeteer, Playwright, or Selenium.”
- [probe] “official CLI documented at https://docs.steel.dev/overview/steel-cli”
ai-native userConnect an agent via an official MCP server
weight 3 · round to SteelBrowser Usedisputedcontradicted5/10Docs describe an official MCP server enabling Claude, Cursor, Windsurf or any MCP client to run Browser Use tasks (browser-use-docs-12, browser-use-probe-3), but a hands-on community report says the author had to switch tools because Browser Use 'doesn't support MCP integration' in Cursor (browser-use-comm-4), directly contradicting the documented claim. Missing for 10: independent corroboration that MCP connection actually works end-to-end, and resolution of the conflicting user report.
- [claimed-docs] “Run browser automation tasks from your AI coding assistant. Connect to Claude, Cursor, Windsurf, or any MCP client.”
- [probe] “official MCP server documented at https://docs.browser-use.com/cloud/guides/mcp-server”
- [community] “I want to use browser-use in Cursor but I am using another option because it doesn't support MCP integration which is the common language th…”
Steel is a browser-API platform (not itself an agent), so the axis applies, and its docs explicitly describe exposing a Steel browser as an MCP server/tool set ('Expose a Steel browser to any MCP client' and 'exposes a cloud browser as in-process MCP tools' for the Claude Agent SDK integration), letting external agents connect via MCP. Missing for 10: deeper standalone MCP-server setup docs/config reference, and independent/hands-on confirmation beyond a single cookbook and integration mention.
- [claimed-docs] “Expose a Steel browser to any MCP client”
- [claimed-docs] “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] “The Steel integration exposes a cloud browser as in-process MCP tools, so the SDK runs the agent loop and Steel handles the brow”
ai-native userUse an official CLI
weight 2 · round to SteelBrowser Usenone0/10The evidence pack documents a Python SDK, cloud API, MCP server, and web dashboard, but never mentions an official standalone CLI tool for Browser Use. Since a browser-automation product could plausibly ship a CLI, absence of any such evidence means this axis is unmet.
Steel ships an official CLI (documented at docs.steel.dev/overview/steel-cli) that lets users run full browser workflows from the terminal—start sessions, navigate, click/fill/type, extract content, and stop sessions—directly serving agentic/AI-native use cases. missing for 10: independent/hands-on community corroboration of the CLI itself, and detail on CLI scripting/composability beyond the basic workflow description.
- [claimed-docs] “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…”
- [probe] “official CLI documented at https://docs.steel.dev/overview/steel-cli”
- [claimed-docs] “Install Steel CLI and the steel-browser skill so your agent can control a browser.”
ai-native userDrive the product through a documented public API
weight 3 · round to SteelBrowser Use documents a public Cloud API (client.runs.create, sessions, events polling, structured output, CDP connection) across multiple docs pages, indicating a real programmatic interface beyond the UI. However, probes for a formal OpenAPI/swagger spec returned 404s, so there's no machine-readable API contract, only prose docs and SDK examples. Missing for 10: a published OpenAPI/spec artifact, independent third-party confirmation of API usage beyond vendor docs.
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
- [claimed-docs] “A **session** holds the agent’s conversation and can reuse its live browser. One session ID can contain multiple runs.”
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
- [claimed-docs] “Poll ordered V4 events to monitor a run or build a custom UI.”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.browser-use.com/openapi.json, https://docs.browser-use.com/swagger.json, https://docs.b…”
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.browser-use.com/llms.txt # Browser Use > Documentation for Browser Use Cloud Agent and Browser API…”
Steel exposes a fully documented public REST API (Sessions, CAPTCHA, Credentials, Files, Agent Traces) confirmed by a live openapi.json spec, plus an official CLI and SDK/agent-framework integrations (CrewAI, OpenAI Agents SDK, AI SDK, Claude Agent SDK, AgentKit, Pydantic AI) that let AI-native users drive it programmatically. Community comments corroborate the API/docs quality and usability. Missing for 10: independent hands-on benchmarking of the API's reliability/limits beyond docs and one HN thread.
- [probe] “PROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key”
- [claimed-docs] “Explore API endpoints for building on Steel.”
- [claimed-docs] “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…”
- [claimed-docs] “The Steel integration runs each agent's browser actions on a Steel cloud session, so AgentKit handles the orchestration and Steel handles th…”
- [claimed-docs] “The Steel integration exposes a Steel browser as a CrewAI tool, so your crew can search, navigate, fill forms, extract data, and validate re…”
- [claimed-docs] “The Steel integration runs each tool against a Steel cloud session, so you can stand up a typed browser agent that opens a session, navigate…”
- [community] “beautiful docs + api ref! what are you using? (cool that you're doing open-source browserbase also, excited to check this out)”
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · round drawnBrowser Usenone0/10No evidence of scoped or least-privilege API key/credential issuance (e.g., role-based tokens, permission scopes) for agents; docs mention API keys implicitly via client usage but no mention of scoping, restricted permissions, or credential management features. Community/GitHub evidence also silent on this.
Steelnone0/10The evidence pack shows a general API key/auth model (referenced implicitly by API usage) and a 'Credentials' endpoint, but that endpoint is for storing website login credentials for browser sessions (steel-docs-15, steel-docs-24), not for issuing scoped/least-privilege API keys to control agent access to Steel's own platform. No docs mention role-based access control, permission scopes, or restricted API key issuance for the Steel API itself.
- [claimed-docs] “Explore API endpoints for managing Steel Credentials.”
- [claimed-docs] “Reusing Context & Auth | Steel Docs”
ai-native userBuild against official SDKs
weight 2 · round drawnBrowser Use ships an official open-source Python library (github, docs-19) and a cloud client SDK with documented usage patterns (client.runs.create, sessions, events polling) shown in docs-1/4/5/14, giving AI-native devs a concrete first-party SDK to build against. Missing for 10: evidence of SDKs beyond Python (e.g. JS/TS), and no OpenAPI spec was found (probe-2 all 404) or independent third-party corroboration of SDK usage.
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
- [claimed-docs] “A **session** holds the agent’s conversation and can reuse its live browser. One session ID can contain multiple runs.”
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
- [claimed-docs] “For a local agent, use the [open-source library](/open-source/quickstart).”
- [github] “Want to automate the web at scale, from your own code, and with any LLM? Use the Python library”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.browser-use.com/openapi.json, https://docs.browser-use.com/swagger.json, https://docs.b…”
Steel exposes a documented REST API (OpenAPI spec, steel-probe-2), an official CLI (steel-docs-8, steel-probe-3), and native connectivity via Puppeteer/Playwright/Selenium (steel-gh-1), plus first-party integrations with major agent frameworks (AI SDK, CrewAI, OpenAI Agents SDK, Claude Agent SDK, Pydantic AI, AgentKit) that act as official SDK-level bindings for AI-native development. Missing for 10: explicit named client-library SDKs (e.g., dedicated Python/Node package docs) and independent/hands-on developer confirmation of SDK ergonomics beyond vendor docs.
- [github] “Uses Puppeteer and CDP for complete control over Chrome instances -- allowing you to connect using Puppeteer, Playwright, or Selenium.”
- [claimed-docs] “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…”
- [probe] “PROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key”
- [probe] “official CLI documented at https://docs.steel.dev/overview/steel-cli”
- [claimed-docs] “The Steel integration runs each tool against a Steel cloud session (open, navigate, snapshot, extract, return typed results)”
- [claimed-docs] “The Steel integration exposes a Steel browser as a CrewAI tool, so your crew can search, navigate, fill forms, extract data, and validate re…”
- [claimed-docs] “Build a Pydantic AI browser agent on Steel cloud browsers: provider-agnostic, typed Python agents with dependency injection and real web acc…”
- [claimed-docs] “The Steel integration runs each tool against a Steel cloud session, so you can stand up a typed browser agent that opens a session, navigate…”
- [claimed-docs] “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] “The Steel integration runs each agent's browser actions on a Steel cloud session, so AgentKit handles the orchestration and Steel handles th…”
ai-native userSubscribe to events via webhooks
weight 2 · round drawnBrowser Usenone0/10The docs describe an event system based on polling `runs.events()` with a cursor, not webhook subscriptions; no evidence anywhere in the pack mentions webhooks, callback URLs, or push notifications.
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
- [claimed-docs] “Poll ordered V4 events to monitor a run or build a custom UI.”
Agentic features
ai-native userSet up automations that run autonomously in the background
weight 2 · round drawnBrowser Use Cloud lets users kick off agent runs via API (client.runs.create) that execute asynchronously in a hosted browser, with session reuse and event polling to monitor progress without keeping a local process open, which supports a form of unattended background execution. However there is no documented scheduling, cron-like triggers, or webhook-based automation setup for recurring/background jobs, so it's unclear whether truly hands-off recurring automations are supported. Missing for 10: explicit scheduling/trigger mechanism, evidence of long-running unattended jobs beyond single API-invoked runs, and independent confirmation of background reliability.
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
- [claimed-docs] “A **session** holds the agent’s conversation and can reuse its live browser. One session ID can contain multiple runs.”
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
- [claimed-docs] “Poll ordered V4 events to monitor a run or build a custom UI.”
Steel provides infrastructure that agents can call programmatically (Sessions API, CLI, and integrations with agent frameworks like CrewAI, OpenAI Agents SDK, Claude Agent SDK) to run browser automations without human intervention, and sessions can be created on-demand for autonomous agent workflows. However, there is no evidence of a native scheduler, cron/trigger mechanism, or persistent background job runner within Steel itself — autonomy and 'background' execution depend entirely on the calling agent/framework, not a Steel-native automation scheduler. Missing for 10: native scheduling/triggers, evidence of long-running/persistent background jobs managed by Steel, and independent confirmation of autonomous unattended runs.
- [claimed-docs] “the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [claimed-docs] “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…”
- [claimed-docs] “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] “The Steel integration runs each agent's browser actions on a Steel cloud session, so AgentKit handles the orchestration and Steel handles th…”
- [claimed-docs] “The Steel integration exposes a Steel browser as a CrewAI tool, so your crew can search, navigate, fill forms, extract data, and validate re…”
- [claimed-docs] “The Steel integration runs each tool against a Steel cloud session, so you can stand up a typed browser agent that opens a session, navigate…”
ai-native userOperate the product with natural-language commands
weight 2 · round to Browser UseBrowser Use is fundamentally natural-language driven: tasks are issued as plain-English strings like "Find the top Hacker News story" or "Fill in this job application with my resume and information", with the agent interpreting and executing them autonomously, corroborated by GitHub examples and community hands-on use for LinkedIn automation. missing for 10: independent benchmark of instruction-following accuracy, and clearer docs on limits/failure modes of natural-language parsing.
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
- [github] “Task: "Fill in this job application with my resume and information."”
- [github] “Task: "Extract structured data about my followers and export it as a CSV."”
- [community] “If you run it locally, you can connect it to your real browser and user profile where you are already logged in. This works for me for Linke…”
Steelnone0/10Steel is a browser-automation infrastructure API for agents/developers, not itself an interface that accepts natural-language commands from a user; the CLI (steel-docs-8) is a scriptable command-line tool with structured commands, not NL input, and no evidence shows a chat/NL interface for operating Steel directly. missing for 10: any documented NL command interface, chatbot/assistant front-end, or evidence that end users type plain-English instructions to control Steel.
- [claimed-docs] “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…”
- [claimed-docs] “Install Steel CLI and the steel-browser skill so your agent can control a browser.”
Api quality
ai-native userExplore an interactive API reference with runnable examples
weight 2 · round to SteelBrowser Usenone0/10Docs show static code snippets (e.g., client.runs.create examples) but no evidence of an interactive, runnable API console/reference; explicit probes for OpenAPI/Swagger specs at standard paths all returned 404, indicating no interactive API explorer exists.
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.browser-use.com/openapi.json, https://docs.browser-use.com/swagger.json, https://docs.b…”
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.browser-use.com/llms.txt # Browser Use > Documentation for Browser Use Cloud Agent and Browser API…”
Steel documents dedicated API-reference pages ('Explore API endpoints for...') and exposes a live OpenAPI spec (openapi.json), and a community commenter independently praised the 'beautiful docs + api ref', suggesting a solid reference exists. However, there's no explicit evidence of interactive 'try it now' / runnable-example functionality within that reference (e.g., embedded request builders or live code execution) — missing for 10: confirmation of in-browser runnable/try-it examples, independent hands-on demonstration of executing calls directly from the docs.
- [claimed-docs] “Explore API endpoints for managing Steel Captchas.”
- [claimed-docs] “Explore API endpoints for building on Steel.”
- [claimed-docs] “Explore API endpoints for managing Steel Credentials.”
- [claimed-docs] “Explore API Endpoints for managing Files on Steel.”
- [probe] “PROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key”
- [community] “beautiful docs + api ref! what are you using? (cool that you're doing open-source browserbase also, excited to check this out)”
ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)
weight 2 · round to SteelBrowser Usenone0/10A direct probe for OpenAPI/swagger spec files returned 404 on all candidate paths, and no documentation references a downloadable machine-readable API spec despite having a REST/cloud API.
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.browser-use.com/openapi.json, https://docs.browser-use.com/swagger.json, https://docs.b…”
Steel exposes a live, machine-readable OpenAPI spec confirmed via probe (HTTP 200 with valid 'openapi' key), and docs reference extensive API endpoint documentation (steel-docs-13 through steel-docs-16) built on this spec. Missing for 10: no independent/community confirmation of the OpenAPI spec's completeness or third-party tooling built against it.
- [probe] “PROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key”
- [claimed-docs] “Explore API endpoints for building on Steel.”
- [claimed-docs] “Explore API endpoints for managing Steel Captchas.”
- [claimed-docs] “Explore API endpoints for managing Steel Credentials.”
- [claimed-docs] “Explore API Endpoints for managing Files on Steel.”
ai-native userTest against a sandbox environment without touching production data
weight 1 · round to SteelBrowser Usenone0/10The evidence describes cloud browser sessions, live preview, and CDP connections, but nothing indicates a dedicated sandbox/staging mode that isolates test runs from production data or real accounts. Users are shown reusing real logged-in profiles (browser-use-comm-5) rather than isolated test environments, and no docs mention a sandbox distinct from production.
- [claimed-docs] “A **session** holds the agent’s conversation and can reuse its live browser. One session ID can contain multiple runs.”
- [claimed-docs] “Log in once, save the profile, then reuse it to start future browsers already logged in.”
- [community] “If you run it locally, you can connect it to your real browser and user profile where you are already logged in. This works for me for Linke…”
Steel's Sessions API explicitly provisions isolated browser instances, each with its own state, cookies, and storage, letting an agent test without affecting other sessions or shared/production data, and session lifecycle docs show sessions can be created/torn down independently (steel-docs-1, steel-docs-10, steel-docs-33). Self-hosted Docker image and CLI further support standing up isolated test environments (steel-gh-4, steel-docs-8). Missing for 10: independent/hands-on verification that isolation holds in practice, and no explicit framing of 'sandbox vs production' terminology in the docs.
- [claimed-docs] “the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [claimed-docs] “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] “Session Lifecycle | Steel Docs”
- [github] “Pre-built Docker Image (combined API + UI)”
- [claimed-docs] “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…”
ai-native userRely on versioned APIs with a documented deprecation policy
weight 2 · round drawnBrowser Usenone0/10Evidence shows an API version label ("V4") in docs, but there is no documented deprecation policy, versioning changelog, or API stability guarantees anywhere in the pack; the OpenAPI spec probe also 404s, indicating no formal API contract is published.
- [claimed-docs] “V4 returns `run.result` as a string. Ask for JSON only, then validate it client-side”
- [claimed-docs] “Automatic CAPTCHA solving is enabled by default for API V4 Agent runs and standalone Cloud Browser sessions.”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.browser-use.com/openapi.json, https://docs.browser-use.com/swagger.json, https://docs.b…”
Steelnone0/10Evidence shows an OpenAPI spec and extensive API documentation, but nothing addresses API versioning scheme or a documented deprecation policy. missing for 10: versioning scheme documentation, deprecation policy, changelog/migration guides for breaking changes.
- [probe] “PROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key”
- [claimed-docs] “Explore API endpoints for building on Steel.”
Auth session persistence — stories about auth session persistence in this arenaAuth session persistence
Stories about auth session persistence in this arena
Compat
developerConnect my existing Playwright, Puppeteer, or CDP automation code to the product's browsers instead of rewriting it
weight 2 · round to SteelDocs explicitly describe connecting existing Playwright/Puppeteer/CDP code to Browser Use's browsers via CDP URL, with a documented choice between Browser Use driving or the developer's own code connecting directly over CDP (docs-2, docs-18), and community reports confirm connecting to a real local Chrome profile via CDP for existing automation. missing for 10: independent hands-on validation specifically with Playwright/Puppeteer libraries (not just CDP raw), and more detail on session/auth persistence when using external code.
- [claimed-docs] “Launch a browser, connect to its CDP URL, then stop it”
- [claimed-docs] “Choose whether Browser Use drives the browser or your Playwright/Puppeteer code connects directly over CDP.”
- [claimed-docs] “A **session** holds the agent’s conversation and can reuse its live browser. One session ID can contain multiple runs.”
- [community] “If you run it locally, you can connect it to your real browser and user profile where you are already logged in. This works for me for Linke…”
GitHub docs explicitly state Steel exposes CDP endpoints that let developers connect using Puppeteer, Playwright, or Selenium, meaning existing automation code can target Steel's browsers with minimal rewrite, and the Sessions API/session lifecycle docs support this connection model. Missing for 10: independent hands-on developer reports confirming drop-in compatibility and more detail on any required code changes beyond endpoint swapping.
- [github] “Uses Puppeteer and CDP for complete control over Chrome instances -- allowing you to connect using Puppeteer, Playwright, or Selenium.”
- [claimed-docs] “the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [claimed-docs] “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] “Session Lifecycle | Steel Docs”
Credentials
automation-engineerStore credentials in a vault and have the agent complete logins including TOTP/2FA challenges without exposing secrets to the model
weight 2 · round to Browser UseBrowser Use supports saved/reused login profiles (docs-10) and a documented 2FA workflow where the run pauses at the challenge and a human enters the code via live view (docs-11/16), but there is no vault/secrets-manager integration for storing credentials and injecting them without model exposure, and TOTP is handled via human-in-the-loop rather than automated secret injection. missing for 10: a credential vault/secrets-manager integration, evidence that passwords/TOTP secrets are injected without ever passing through the model context, fully automated TOTP handling without human intervention, independent confirmation of the 2FA flow working in practice.
- [claimed-docs] “Log in once, save the profile, then reuse it to start future browsers already logged in.”
- [claimed-docs] “Ask the first run to stop at the 2FA screen, get its `live_view_url` from the [`browser.ready` event], and have the user enter the code. The…”
- [claimed-docs] “Ask the first run to stop at the 2FA screen, get its `live_view_url` from the [`browser.ready` event]”
Steel documents a 'Credentials' API endpoint and separate 'Reusing Auth Context' feature for persisting authenticated sessions/cookies across runs, which addresses avoiding repeated logins, but there is no evidence describing a credential vault workflow, TOTP/2FA handling, or explicit guarantees that secrets are withheld from the model during login. missing for 10: dedicated vault/secrets-manager docs, TOTP/2FA challenge handling, explicit model-isolation guarantee for credentials, independent corroboration.
- [claimed-docs] “Explore API endpoints for managing Steel Credentials.”
- [claimed-docs] “This is particularly useful for maintaining authenticated states across multiple sessions, helping your AI agents access protected resources…”
- [claimed-docs] “Reusing Context & Auth | Steel Docs”
Profiles
developerPersist logged-in browser state in reusable profiles so agents skip the login wall on every subsequent run
weight 3 · round drawnDocs explicitly describe saving a login profile once and reusing it to start future browsers already logged in, plus a 2FA guide for handling the initial login flow, and community evidence confirms local profile reuse works for logged-in automation (e.g., LinkedIn). missing for 10: independent/hands-on corroboration specifically of the cloud profile-reuse feature (only local profile reuse is community-validated) and no detail on profile storage/security guarantees.
- [claimed-docs] “Log in once, save the profile, then reuse it to start future browsers already logged in.”
- [claimed-docs] “Ask the first run to stop at the 2FA screen, get its `live_view_url` from the [`browser.ready` event], and have the user enter the code. The…”
- [claimed-docs] “Ask the first run to stop at the 2FA screen, get its `live_view_url` from the [`browser.ready` event]”
- [community] “If you run it locally, you can connect it to your real browser and user profile where you are already logged in. This works for me for Linke…”
Steel's docs explicitly describe reusing auth context/persistent profiles across sessions so agents can access protected resources without repeating login flows, backed by a dedicated docs page and general session state/cookie persistence via the Sessions API. Missing for 10: independent/hands-on developer confirmation that reused profiles reliably skip login walls in practice, and more detail on profile creation/management UX.
- [claimed-docs] “This is particularly useful for maintaining authenticated states across multiple sessions, helping your AI agents access protected resources…”
- [claimed-docs] “Reusing Context & Auth | Steel Docs”
- [claimed-docs] “the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [claimed-docs] “Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent p…”
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
ai-native userPerform bulk operations across many items at once
weight 2 · round to SteelThe library is pitched for automating the web 'at scale' from custom code (gh-3) and cloud sessions can hold multiple runs, hinting at multi-task orchestration, but there is no explicit documentation of a batch/bulk API, parallel run submission, or looping over many items as a first-class feature. Missing for 10: dedicated bulk/batch endpoint or SDK pattern, concurrency limits/guidance, and hands-on evidence of running many items in one operation.
- [github] “Want to automate the web at scale, from your own code, and with any LLM? Use the Python library”
- [claimed-docs] “A **session** holds the agent’s conversation and can reuse its live browser. One session ID can contain multiple runs.”
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
Steel supports spinning up many isolated browser sessions concurrently (Sessions API, CLI, SDK integrations) which enables running many browser tasks in parallel, but there is no explicit documentation of a bulk/batch operations API (e.g., batch session creation, bulk item processing, or queue-based multi-item automation) — the evidence only shows single-session workflows orchestrated one at a time via various agent frameworks. missing for 10: explicit bulk/batch API or documented pattern for orchestrating many items at once, concurrency limits/guidance, and any hands-on evidence of large-scale parallel session usage.
- [claimed-docs] “the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [claimed-docs] “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] “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…”
- [claimed-docs] “This is particularly useful for maintaining authenticated states across multiple sessions, helping your AI agents access protected resources…”
ai-native userDefine rules that trigger actions automatically on events
weight 3 · round drawnBrowser Usenone0/10Browser Use's evidence covers on-demand task runs, sessions, observability polling, CAPTCHA/stealth, and MCP integration, but nothing describes user-defined rules or triggers that fire actions automatically on external events (e.g., webhooks, schedules, conditional triggers). The product is presented as an agent you invoke to perform a task, not an event-driven automation/rules engine.
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
- [claimed-docs] “A **session** holds the agent’s conversation and can reuse its live browser. One session ID can contain multiple runs.”
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
- [claimed-docs] “Run browser automation tasks from your AI coding assistant. Connect to Claude, Cursor, Windsurf, or any MCP client.”
- [github] “Want to automate the web at scale, from your own code, and with any LLM? Use the Python library”
ai-native userSchedule recurring jobs or workflows
weight 2 · round drawnBrowser Usenone0/10The evidence pack covers runs, sessions, observability, stealth/proxy/CAPTCHA handling, auth profiles, and MCP integration, but nowhere mentions cron-like scheduling, recurring triggers, or workflow automation over time. No docs or community evidence describe a scheduler or recurring-job feature.
Deployment modes — stories about deployment modes in this arenaDeployment modes
Stories about deployment modes in this arena
Local
developerRun the agent against a local browser on my own machine for development, without any cloud account
weight 2 · round to Browser UseBrowser Use ships an open-source Python library explicitly positioned for local, code-driven automation ('For a local agent, use the open-source library'; 'automate the web at scale, from your own code, and with any LLM'), and community reports confirm running it locally against a real local Chrome browser/profile without a cloud account. missing for 10: no explicit walkthrough showing zero network/account calls during local runs, and no independent benchmark of purely offline/local operation.
- [claimed-docs] “For a local agent, use the [open-source library](/open-source/quickstart).”
- [github] “Want to automate the web at scale, from your own code, and with any LLM? Use the Python library”
- [community] “If you run it locally, you can connect it to your real browser and user profile where you are already logged in. This works for me for Linke…”
- [claimed-docs] “Launch a browser, connect to its CDP URL, then stop it”
Steel is explicitly open-source with a pre-built Docker image combining the API and UI, letting a developer self-host the browser locally, and it exposes CDP so Puppeteer/Playwright/Selenium can connect directly to a local instance without any cloud account (steel-gh-4, steel-gh-1, steel-gh-5). This directly satisfies running an agent against a local browser for development. Missing for 10: a dedicated 'local dev quickstart' doc walking through docker-compose setup and confirmation that no cloud sign-in/telemetry is required, plus independent hands-on confirmation of local-only usage.
- [github] “Pre-built Docker Image (combined API + UI)”
- [github] “Uses Puppeteer and CDP for complete control over Chrome instances -- allowing you to connect using Puppeteer, Playwright, or Selenium.”
- [github] “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 autom…”
Framework model support — stories about framework model support in this arenaFramework model support
Stories about framework model support in this arena
Frameworks
developerPlug the browser layer into agent frameworks (Claude Agent SDK, Vercel AI SDK, LangChain, CrewAI) through documented adapters
weight 2 · round to SteelBrowser Usenone0/10Evidence documents an MCP server for connecting to Claude, Cursor, or Windsurf, and a Python library for custom code, but there is no mention of documented adapters for Claude Agent SDK, Vercel AI SDK, LangChain, or CrewAI specifically.
- [claimed-docs] “Run browser automation tasks from your AI coding assistant. Connect to Claude, Cursor, Windsurf, or any MCP client.”
- [probe] “official MCP server documented at https://docs.browser-use.com/cloud/guides/mcp-server”
- [github] “Want to automate the web at scale, from your own code, and with any LLM? Use the Python library”
Steel documents dedicated integration guides for Claude Agent SDK, Vercel AI SDK, LangChain-adjacent (CrewAI), and other frameworks, each describing how Steel's cloud browser plugs in as a tool/MCP server for the agent loop (steel-docs-9/43, steel-docs-39, steel-docs-40, plus AgentKit, OpenAI Agents SDK, Pydantic AI). Missing for 10: explicit LangChain-named adapter page (only CrewAI/AgentKit/AI SDK/Claude named) and independent/hands-on confirmation beyond vendor docs.
- [claimed-docs] “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] “The Steel integration runs each tool against a Steel cloud session (open, navigate, snapshot, extract, return typed results)”
- [claimed-docs] “The Steel integration exposes a Steel browser as a CrewAI tool, so your crew can search, navigate, fill forms, extract data, and validate re…”
- [claimed-docs] “The Steel integration runs each agent's browser actions on a Steel cloud session, so AgentKit handles the orchestration and Steel handles th…”
- [claimed-docs] “The Steel integration runs each tool against a Steel cloud session, so you can stand up a typed browser agent that opens a session, navigate…”
- [claimed-docs] “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] “Expose a Steel browser to any MCP client”
Models
developerBring my own LLM provider — the framework is model-agnostic rather than locked to one vendor's models
weight 2 · round to Browser UseGitHub docs explicitly market the library as usable with any LLM ('Use the Python library ... with any LLM'), and independent community testing corroborates this by reporting successful use with Gemini models rather than being locked to one vendor. Missing for 10: a dedicated docs page enumerating specific supported providers/configuration examples and broader independent confirmation across multiple providers beyond Gemini.
- [github] “Want to automate the web at scale, from your own code, and with any LLM? Use the Python library”
- [community] “From the first glance, browser-use is compatible with more models, and has (much) more github stars. Coincidentally I played with it over th…”
Steel documents integrations across many LLM/agent ecosystems — OpenAI Computer Use, Claude Computer Use, Gemini Computer Use, Browser-Use, CrewAI, Pydantic AI (explicitly 'provider-agnostic'), OpenAI Agents SDK, AI SDK, Claude Agent SDK — showing it is not locked to a single vendor's models and can be paired with whichever LLM the developer chooses. Missing for 10: an explicit first-party 'model-agnostic' positioning statement and independent/community corroboration of using Steel with a non-default LLM provider.
- [claimed-docs] “Use Gemini Computer Use with Steel Browser.”
- [claimed-docs] “Use Claude Computer Use with Steel Browser.”
- [claimed-docs] “The OpenAI Computer Use integration runs OpenAI's vision-based agent loop on a Steel browser session.”
- [claimed-docs] “Use Browser-Use to interact with a Steel browser.”
- [claimed-docs] “Build a Pydantic AI browser agent on Steel cloud browsers: provider-agnostic, typed Python agents with dependency injection and real web acc…”
- [claimed-docs] “The Steel integration runs each agent's browser actions on a Steel cloud session, so AgentKit handles the orchestration and Steel handles th…”
- [claimed-docs] “The Steel integration runs each tool against a Steel cloud session (open, navigate, snapshot, extract, return typed results)”
- [claimed-docs] “The Steel integration runs each tool against a Steel cloud session, so you can stand up a typed browser agent that opens a session, navigate…”
- [claimed-docs] “The Steel integration exposes a cloud browser as in-process MCP tools, so the SDK runs the agent loop and Steel handles the brow”
Nl task execution — stories about nl task execution in this arenaNl task execution
Stories about nl task execution in this arena
Tasks
ai agentSubmit a browser task over a hosted HTTP API and receive the result by polling or webhook, without managing any browser myself
weight 2 · round to Browser UseDocs show a hosted Cloud API (client.runs.create) that creates runs, supports polling via runs.events() with cursors, and returns structured results without the caller managing browser infrastructure (stealth, proxies, CAPTCHA solving handled server-side). Missing for 10: no explicit webhook callback mechanism is documented (only polling is shown), and no public OpenAPI spec was found to confirm full REST surface.
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
- [claimed-docs] “V4 returns `run.result` as a string. Ask for JSON only, then validate it client-side”
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
- [claimed-docs] “Poll ordered V4 events to monitor a run or build a custom UI.”
- [claimed-docs] “Every cloud browser session runs in a hardened Chromium fork with stealth enabled by default — no configuration needed.”
- [claimed-docs] “Residential proxies are enabled by default across 195+ countries.”
- [claimed-docs] “Every Browser Use Cloud browser enables automatic CAPTCHA solving.”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.browser-use.com/openapi.json, https://docs.browser-use.com/swagger.json, https://docs.b…”
Steel's Sessions API lets an agent spin up a hosted, isolated browser via HTTP without managing browser infrastructure (steel-docs-1, steel-docs-33), and its agent-trace/timeline features (steel-docs-6, steel-docs-27, steel-docs-29) could support polling for run results. But there is no evidence of a discrete 'submit task, get result via polling/webhook' primitive — the model shown is that the agent (or a partner SDK like AgentKit/CrewAI) still drives actions step-by-step over CDP/Puppeteer/Playwright or the CLI (steel-gh-1, steel-docs-8), not a single task-submission endpoint. Missing for 10: an explicit task/job endpoint, webhook-based completion notification, and confirmation that the calling agent need not issue any browser actions itself.
- [claimed-docs] “the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [claimed-docs] “Session Lifecycle | Steel Docs”
- [claimed-docs] “It turns the run into a timeline of agent activity, so you can see what happened without scrubbing through the whole recording.”
- [claimed-docs] “Agent Traces: Observability for Browser Agents | Steel Docs”
- [claimed-docs] “Agent Traces API | Steel Docs”
- [github] “Uses Puppeteer and CDP for complete control over Chrome instances -- allowing you to connect using Puppeteer, Playwright, or Selenium.”
- [claimed-docs] “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…”
developerHand the product a natural-language goal and it completes a multi-step web task end to end — navigating, filling forms, and clicking through flows
weight 3 · round to Browser UseDocs and GitHub examples show natural-language goals (e.g., "Find the top Hacker News story", "Fill in this job application") driving an agent that navigates, logs in, handles 2FA/CAPTCHA, and completes multi-step flows end-to-end via both cloud API and open-source library; community reports corroborate real-world use (e.g., LinkedIn automation). Missing for 10: independent third-party benchmark of complex multi-step task success rates and more robust evidence of reliability at scale beyond anecdotal community reports.
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
- [github] “Task: "Fill in this job application with my resume and information."”
- [github] “Task: "Extract structured data about my followers and export it as a CSV."”
- [claimed-docs] “Log in once, save the profile, then reuse it to start future browsers already logged in.”
- [claimed-docs] “Ask the first run to stop at the 2FA screen, get its `live_view_url` from the [`browser.ready` event], and have the user enter the code. The…”
- [claimed-docs] “Every Browser Use Cloud browser enables automatic CAPTCHA solving.”
- [community] “If you run it locally, you can connect it to your real browser and user profile where you are already logged in. This works for me for Linke…”
- [github] “Want to automate the web at scale, from your own code, and with any LLM? Use the Python library”
Steel provides the browser infrastructure (sessions, navigation, click/fill/extract via CLI or API) and integrates with third-party agent loops (Claude/OpenAI Computer Use, browser-use, CrewAI, OpenAI Agents SDK) that can take a natural-language goal and drive multi-step web flows end-to-end, but Steel itself explicitly delegates the 'agent loop'/reasoning to these other SDKs rather than natively interpreting NL goals itself (e.g. 'the SDK runs the agent loop and Steel handles the browser'). The CLI supports scripted end-to-end browser workflows but not NL-goal parsing on its own. missing for 10: a native Steel agent loop that itself parses an NL goal and autonomously plans/executes steps without pairing with an external agent SDK; independent hands-on evidence of a full NL-to-task run succeeding.
- [claimed-docs] “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…”
- [claimed-docs] “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] “The OpenAI Computer Use integration runs OpenAI's vision-based agent loop on a Steel browser session.”
- [claimed-docs] “Use Browser-Use to interact with a Steel browser.”
- [claimed-docs] “The Steel integration exposes a Steel browser as a CrewAI tool, so your crew can search, navigate, fill forms, extract data, and validate re…”
- [claimed-docs] “The Steel integration runs each tool against a Steel cloud session, so you can stand up a typed browser agent that opens a session, navigate…”
- [claimed-docs] “Use Gemini Computer Use with Steel Browser.”
- [claimed-docs] “Use Claude Computer Use with Steel Browser.”
Workflows
automation-engineerCompose repeatable multi-step workflows with loops, conditionals, and parameters instead of one-shot prompts
weight 2 · round drawnBrowser Usenone0/10Evidence shows Browser Use runs are essentially single natural-language task strings within a session/run model (create run, poll events, reuse session) with no documented constructs for loops, conditionals, or parameterized workflow templates; the Python library is described as scriptable but no workflow-composition API (branching, iteration, variables) is shown.
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
- [claimed-docs] “A **session** holds the agent’s conversation and can reuse its live browser. One session ID can contain multiple runs.”
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
- [github] “Want to automate the web at scale, from your own code, and with any LLM? Use the Python library”
Steelnone0/10Steel's CLI and Sessions API support running sequential browser steps (navigate, click, extract, stop) via terminal or SDK, but nothing in the evidence describes composing workflows with loops, conditionals, or parameterized reusable flows — that logic is left to whichever orchestrating agent framework (CrewAI, AgentKit, etc.) sits on top of Steel. Missing for 10: any documentation of control-flow constructs (loops/branches), workflow parameters, or a workflow builder/editor within Steel itself.
- [claimed-docs] “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…”
- [claimed-docs] “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] “The Steel integration runs each agent's browser actions on a Steel cloud session, so AgentKit handles the orchestration and Steel handles th…”
- [claimed-docs] “The Steel integration exposes a Steel browser as a CrewAI tool, so your crew can search, navigate, fill forms, extract data, and validate re…”
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
ai-native userDo everything through the API that I can do in the UI
weight 2 · round to SteelDocs show the API (client.runs.create, sessions, events polling, structured output, live_view_url for 2FA/CAPTCHA handoff, stealth/proxy defaults) mirrors most cloud UI capabilities, and there's an official MCP server for coding-agent access, suggesting broad but not explicitly confirmed feature parity with the dashboard/UI. However there's no discoverable OpenAPI/formal API spec (404s on all candidate paths) and no explicit vendor statement that 100% of UI functionality is API-reachable; missing for 10: a canonical API reference/OpenAPI spec, and explicit parity documentation confirming every UI action (e.g., live preview manual takeover) is independently scriptable via API rather than requiring the UI.
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
- [claimed-docs] “A **session** holds the agent’s conversation and can reuse its live browser. One session ID can contain multiple runs.”
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
- [claimed-docs] “If the challenge remains, open the [live preview](/cloud/browser/live-preview) for human control.”
- [claimed-docs] “Ask the first run to stop at the 2FA screen, get its `live_view_url` from the [`browser.ready` event], and have the user enter the code. The…”
- [claimed-docs] “Run browser automation tasks from your AI coding assistant. Connect to Claude, Cursor, Windsurf, or any MCP client.”
- [probe] “PROBE openapi: all candidate paths 404 (https://docs.browser-use.com/openapi.json, https://docs.browser-use.com/swagger.json, https://docs.b…”
- [probe] “official MCP server documented at https://docs.browser-use.com/cloud/guides/mcp-server”
Steel is API-first (Sessions API, CAPTCHA, proxies, agent traces, credentials, files all documented as API endpoints with an OpenAPI spec), and the UI features (debug URL, embed sessions, human-in-the-loop) are explicitly built to expose live sessions that are themselves API-created, suggesting strong parity. However, there's no explicit statement or independent confirmation that every UI-only feature (e.g., dashboard analytics, skill management, billing/team settings) has a documented API equivalent. missing for 10: explicit doc mapping UI dashboard features 1:1 to API endpoints, independent/hands-on confirmation of full parity, and detail on any UI-only settings lacking API access.
- [claimed-docs] “the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [claimed-docs] “Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent p…”
- [claimed-docs] “Explore API endpoints for building on Steel.”
- [claimed-docs] “Agent Traces: Observability for Browser Agents | Steel Docs”
- [claimed-docs] “Session Lifecycle | Steel Docs”
- [probe] “PROBE openapi: HTTP 200 at https://docs.steel.dev/openapi.json — contains "openapi" key”
- [claimed-docs] “Steel's debug URL feature allows you to implement human-in-the-loop workflows where users can directly interact with and control browser ses…”
- [claimed-docs] “Embed Sessions](/overview/sessions-api/embed-sessions)”
ai-native userExport all of my data in open formats and leave
weight 3 · round to SteelBrowser Usenone0/10The evidence pack describes agent runs, sessions, CAPTCHA handling, and pricing, but nothing documents an account/data export feature (e.g., downloading all run history, sessions, or stored data in an open format) that would let a user leave the platform with their data intact; the open-source library allows self-hosting but that's a separate capability from exporting existing cloud account data.
Steel documents exporting agent trace/session run data in open formats (markdown, JSON, ZIP with screenshots) and is itself open-source/self-hostable via Docker, giving users a path to leave the managed cloud. However there is no documentation of exporting other data types (credentials, files, session history/metadata, account data) in open formats, nor any explicit 'export everything and leave' workflow. missing for 10: full-account data export (credentials, files, session records) in open formats, documented data-portability/deletion workflow, independent confirmation of successful export/migration.
- [claimed-docs] “Copy the run as markdown, download JSON, or grab a ZIP with markdown plus screenshots.”
- [claimed-docs] “Agent Traces: Observability for Browser Agents | Steel Docs”
- [github] “Pre-built Docker Image (combined API + UI)”
- [github] “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 autom…”
- [claimed-docs] “Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent p…”
ai-native userRead the product's source under an open license
weight 2 · round to SteelThe GitHub repo (browser-use/browser-use) and docs reference an 'open-source library' with a public quickstart, indicating the core Python library's source is publicly viewable, but no evidence explicitly states an open-source license (e.g., MIT/Apache) or shows license text. missing for 10: explicit license file/declaration, confirmation of license type, evidence of full source (vs. cloud API) being open.
- [github] “Want to automate the web at scale, from your own code, and with any LLM? Use the Python library”
- [claimed-docs] “For a local agent, use the [open-source library](/open-source/quickstart).”
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.browser-use.com/llms.txt # Browser Use > Documentation for Browser Use Cloud Agent and Browser API…”
Steel is explicitly described as an open-source browser API with a public GitHub repository (steel-dev/steel-browser) containing the source code, docs, and Docker image, confirming readable open-source code. Missing for 10: explicit statement of the license type (e.g., MIT/Apache) in the evidence pack and independent confirmation of license terms.
- [github] “Uses Puppeteer and CDP for complete control over Chrome instances -- allowing you to connect using Puppeteer, Playwright, or Selenium.”
- [github] “Pre-built Docker Image (combined API + UI)”
- [github] “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 autom…”
- [claimed-docs] “Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent p…”
- [claimed-docs] “Steel is an open source browser API that lets you control fleets of browsers in the cloud.”
ai-native userSelf-host the core product
weight 3 · round to SteelBrowser Use ships an open-source Python library (github.com/browser-use/browser-use) that runs locally and independently of the Cloud API, explicitly positioned as the option for self-hosted/local agents ("For a local agent, use the open-source library"), and community reports confirm running it locally connected to a real browser/profile. missing for 10: no first-party self-hosting guide covering infra/deployment (e.g. Docker, scaling), and no independent audit of parity between self-hosted and cloud feature sets (stealth, CAPTCHA solving, proxies are cloud-only per docs).
- [claimed-docs] “For a local agent, use the [open-source library](/open-source/quickstart).”
- [github] “Want to automate the web at scale, from your own code, and with any LLM? Use the Python library”
- [community] “If you run it locally, you can connect it to your real browser and user profile where you are already logged in. This works for me for Linke…”
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.browser-use.com/llms.txt # Browser Use > Documentation for Browser Use Cloud Agent and Browser API…”
Steel is explicitly open-source (steel-dev/steel-browser repo) and ships a pre-built combined API+UI Docker image, letting an AI-native user self-host the core product; community comments corroborate its open-source nature. Missing for 10: detailed self-host deployment/config docs (scaling, storage, auth setup) beyond the single Docker image mention, and no independent hands-on report of a successful self-hosted deployment.
- [github] “Pre-built Docker Image (combined API + UI)”
- [github] “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 autom…”
- [claimed-docs] “Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent p…”
- [claimed-docs] “Steel is an open source browser API that lets you control fleets of browsers in the cloud.”
- [community] “beautiful docs + api ref! what are you using? (cool that you're doing open-source browserbase also, excited to check this out)”
Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits
Free-tier ceilings, usage caps, and rate limits before you have to pay
Pricing
developerSee transparent per-task or per-browser-hour pricing and documented rate/concurrency limits before committing
weight 2 · round to Browser UsePricing page shows credits-based model ($5+ credits, no subscription, one-time $15 signup credit) but there is no documented per-task or per-browser-hour cost breakdown, and no documented rate/concurrency limits anywhere in the evidence. missing for 10: explicit per-task/per-browser-hour cost figures, documented rate limits, documented concurrency limits, any independent confirmation of pricing transparency.
- [claimed-docs] “One-time $15 credit for eligible Google, GitHub or Microsoft signups ... No card required”
- [claimed-docs] “Credits from $5. No subscription. No expiry.”
Steeldisputedcontradicted3/10There is a pricing page implied but no documented rate/concurrency limits in the evidence pack, and community evidence directly contradicts pricing transparency: a user reports the pricing page shows $59 while the docs show $99 for the developer tier, indicating inconsistent/undocumented pricing rather than clear transparent pricing. missing for 10: documented per-task or per-browser-hour rate card, documented concurrency/rate limits, resolution of the pricing discrepancy, independent confirmation of consistent current pricing.
- [community] “Looking interesting, will definitely give it a go. Btw, there is inconsistency between pricing page and pricing on docs. Pricing page for de…”
- [claimed-docs] “Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent p…”
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
ai-native userChoose where my data is stored (region/residency)
weight 2 · round drawnBrowser Usenone0/10No evidence pack material addresses data residency, region selection, or storage location controls for cloud runs/sessions; the open-source library option avoids the cloud entirely but that's not the same as choosable region/residency within the product. missing for 10: any mention of data center regions, residency options, or storage location controls.
Steelnone0/10No evidence in the pack mentions data residency, region selection, or geographic hosting options for Steel's cloud browser sessions; docs cover proxies, sessions, stealth, and integrations but never data storage location controls. Missing for 10: any mention of region selection, data residency options, or geographic data storage controls.
ai-native userPrevent my data from being used to train AI models
weight 3 · round drawnBrowser Usenone0/10No evidence in the pack addresses data usage for AI model training, opt-out policies, or privacy/data-retention commitments for Browser Use Cloud or the open-source library.
ai-native userControl data retention and deletion
weight 2 · round drawnBrowser Usenone0/10No evidence of data retention controls, deletion APIs, or privacy/data-lifecycle policy documentation anywhere in the pack; only session/profile reuse and credit pricing are mentioned. missing for 10: retention policy documentation, data deletion API/UI, export/erasure controls, any privacy compliance statement.
ai-native userOpt out of telemetry and usage tracking
weight 2 · round drawnBrowser Usenone0/10No evidence in the pack mentions telemetry, usage data collection, or any opt-out/privacy setting for Browser Use; the documentation and community items cover unrelated features like stealth browsing, CAPTCHA solving, and MCP integration.
Replay debugging — stories about replay debugging in this arenaReplay debugging
Stories about replay debugging in this arena
Live
automation-engineerWatch a session live and take human control mid-run when the agent gets stuck
weight 2 · round to SteelDocs describe a live_view_url/live preview that lets a human take control mid-run for cases like CAPTCHAs or 2FA, and events can be polled to monitor a run, which supports live-watch-and-intervene workflows. However, this is scoped to specific triggers (CAPTCHA/2FA) rather than a general 'agent gets stuck, operator takes over anytime' workflow, and there's no independent/hands-on evidence confirming smooth mid-run handoff in practice. missing for 10: general-purpose stuck-detection/handoff beyond CAPTCHA/2FA scenarios, independent hands-on confirmation of live takeover working reliably, clear UI/replay-debugging tooling details.
- [claimed-docs] “If the challenge remains, open the [live preview](/cloud/browser/live-preview) for human control.”
- [claimed-docs] “Ask the first run to stop at the 2FA screen, get its `live_view_url` from the [`browser.ready` event], and have the user enter the code. The…”
- [claimed-docs] “Ask the first run to stop at the 2FA screen, get its `live_view_url` from the [`browser.ready` event]”
- [claimed-docs] “Poll ordered V4 events to monitor a run or build a custom UI.”
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
Steel's debug URL / human-in-the-loop feature explicitly enables watching a live session and taking direct control when an agent gets stuck, and embed-sessions support live viewing in an app context. Missing for 10: independent/hands-on verification of the live handoff experience and no detail on how control reverts to the agent after human intervention.
- [claimed-docs] “Steel's debug URL feature allows you to implement human-in-the-loop workflows where users can directly interact with and control browser ses…”
- [claimed-docs] “Implement Human-in-the-Loop Controls | Steel Docs”
- [claimed-docs] “Embed Sessions](/overview/sessions-api/embed-sessions)”
Replay
automation-engineerDebug a failed agent run from recorded replays — video, screenshots, step-by-step action timelines
weight 2 · round to SteelDocs describe an observability/events stream (runs.events()) for monitoring a run and a live_view_url for real-time human intervention, which could support building a step timeline, but there is no explicit mention of recorded video or screenshot capture for post-hoc replay debugging of failed runs. Missing for 10: documented video recording of sessions, screenshot capture per action, and a dedicated replay/timeline UI for past runs.
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
- [claimed-docs] “Poll ordered V4 events to monitor a run or build a custom UI.”
- [claimed-docs] “Ask the first run to stop at the 2FA screen, get its `live_view_url` from the [`browser.ready` event], and have the user enter the code. The…”
- [claimed-docs] “Ask the first run to stop at the 2FA screen, get its `live_view_url` from the [`browser.ready` event]”
Steel's Agent Traces feature explicitly turns a run into a step-by-step timeline of agent activity, and lets you export the run as markdown, JSON, or a ZIP with markdown plus screenshots, directly supporting replay debugging; session replays and debug URLs (live session view) are also documented. Missing for 10: independent/hands-on corroboration of the replay/timeline UI actually working, and explicit detail on 'video' replay format beyond the general 'session replays' tagline.
- [claimed-docs] “It turns the run into a timeline of agent activity, so you can see what happened without scrubbing through the whole recording.”
- [claimed-docs] “Copy the run as markdown, download JSON, or grab a ZIP with markdown plus screenshots.”
- [claimed-docs] “Agent Traces: Observability for Browser Agents | Steel Docs”
- [claimed-docs] “Timeline and exports | Steel Docs”
- [claimed-docs] “Agent Traces API | Steel Docs”
- [claimed-docs] “Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent p…”
- [claimed-docs] “Steel's debug URL feature allows you to implement human-in-the-loop workflows where users can directly interact with and control browser ses…”
Scale parallelism — running many jobs at once — concurrency, fleets, queueingScale parallelism
Running many jobs at once — concurrency, fleets, queueing
Fleets
automation-engineerRun a fleet of concurrent browser sessions with documented concurrency limits and programmatic session management
weight 2 · round to SteelDocs show programmatic session/run creation (client.runs.create, session IDs holding multiple runs) and event polling for observability, implying some ability to manage sessions programmatically, but there is no documented concurrency limit, no fleet/parallel-session guidance, and no scaling architecture described. missing for 10: documented concurrency limits, guidance/examples for running multiple concurrent sessions at scale, rate-limit or quota specs, and independent evidence of parallel session management working in practice.
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
- [claimed-docs] “A **session** holds the agent’s conversation and can reuse its live browser. One session ID can contain multiple runs.”
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
- [claimed-docs] “Poll ordered V4 events to monitor a run or build a custom UI.”
- [github] “Want to automate the web at scale, from your own code, and with any LLM? Use the Python library”
Steel's Sessions API supports spinning up isolated on-demand browser sessions with programmatic lifecycle management (create, custom session IDs, session lifecycle docs) and a CLI/SDK for scripting sessions, which supports parallel automation use cases. However, there is no documented concurrency limit, fleet-level quota, or explicit guidance on running many sessions concurrently (rate limits, max parallel sessions per plan, autoscaling behavior) in the evidence provided. missing for 10: documented concurrency/session limits per plan, explicit fleet-scale orchestration guidance, benchmarks or independent confirmation of concurrent session handling at scale.
- [claimed-docs] “the Sessions API lets your agents spin up isolated browser instances on demand. Each session maintains its own state, cookies, and storage”
- [claimed-docs] “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] “Session Lifecycle | Steel Docs”
- [claimed-docs] “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…”
- [github] “Uses Puppeteer and CDP for complete control over Chrome instances -- allowing you to connect using Puppeteer, Playwright, or Selenium.”
Lifecycle
developerGet webhook notifications when tasks and sessions finish instead of polling for status
weight 1 · round drawnBrowser Usenone0/10Docs explicitly describe polling patterns for run status (runs.events() with cursor, polling ordered V4 events) but no webhook or callback-based notification mechanism is mentioned anywhere in the evidence pack.
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
- [claimed-docs] “Poll ordered V4 events to monitor a run or build a custom UI.”
Stealth captcha — stories about stealth captcha in this arenaStealth captcha
Stories about stealth captcha in this arena
Captcha
automation-engineerRely on a documented captcha stance — automatic solving, human fallback, or explicit non-support — instead of silent task failures
weight 2 · round drawnBrowser Use documents a clear captcha stance: automatic CAPTCHA solving is enabled by default for cloud Agent runs and standalone Cloud Browser sessions, with an explicit human-fallback path via the live preview if the challenge persists. This directly matches the story's requirement of a documented stance rather than silent failure. Missing for 10: independent/hands-on verification of captcha-solving success rates and explicit behavior/limits for the self-hosted open-source library (docs focus on Cloud).
- [claimed-docs] “Every Browser Use Cloud browser enables automatic CAPTCHA solving.”
- [claimed-docs] “If the challenge remains, open the [live preview](/cloud/browser/live-preview) for human control.”
- [claimed-docs] “Automatic CAPTCHA solving is enabled by default for API V4 Agent runs and standalone Cloud Browser sessions.”
Steel documents an explicit CAPTCHA stance: automatic solving is built into the stealth mode (one flag covers detection/solving/verification) with a dedicated captcha-solving doc and API endpoints, plus human-in-the-loop debug URLs for manual takeover as fallback, avoiding silent failures. Missing for 10: independent/hands-on confirmation that captcha solving actually succeeds in practice and clearer documentation of failure/error signaling when solving fails.
- [claimed-docs] “One flag covers detection, solving, and verification for the whole session”
- [claimed-docs] “What Is a CAPTCHA Solver? Automatic CAPTCHA Solving API | Steel Docs”
- [claimed-docs] “Explore API endpoints for managing Steel Captchas.”
- [claimed-docs] “Steel's debug URL feature allows you to implement human-in-the-loop workflows where users can directly interact with and control browser ses…”
- [claimed-docs] “Implement Human-in-the-Loop Controls | Steel Docs”
- [claimed-docs] “Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent p…”
Posture
automation-engineerPoint to the vendor's published acceptable-use and anti-abuse posture governing what its stealth and automation features may be used for
weight 1 · round drawnBrowser Usenone0/10The evidence pack documents stealth, proxy, and CAPTCHA-solving features in detail, but there is no published acceptable-use policy, terms of service, or anti-abuse statement governing what these stealth/automation features may or may not be used for; community discussion even raises security/abuse concerns without any vendor policy response cited.
Steelnone0/10The evidence pack contains extensive documentation of Steel's stealth, captcha-solving, and proxy features, but no published acceptable-use policy, anti-abuse guidelines, or terms governing what these features may legally/ethically be used for. No AUP, ToS excerpt, or abuse-prevention statement is cited anywhere in the pack.
Stealth
automation-engineerEnable stealth fingerprinting and residential or geo-targeted proxies so legitimate automations aren't blocked as bots
weight 2 · round to SteelDocs explicitly state cloud browsers run in a hardened Chromium fork with stealth enabled by default and residential proxies across 195+ countries, directly matching the story's stealth+proxy ask, with automatic CAPTCHA solving as a complementary layer. Missing for 10: explicit control/documentation for selecting a specific geo-target rather than automatic 195+ country rotation, and independent/hands-on evidence confirming bot-detection evasion actually works in practice.
- [claimed-docs] “Every cloud browser session runs in a hardened Chromium fork with stealth enabled by default — no configuration needed.”
- [claimed-docs] “Residential proxies are enabled by default across 195+ countries.”
- [claimed-docs] “Every Browser Use Cloud browser enables automatic CAPTCHA solving.”
- [claimed-docs] “Automatic CAPTCHA solving is enabled by default for API V4 Agent runs and standalone Cloud Browser sessions.”
Steel's docs explicitly describe stealth mode (bot-detection evasion + CAPTCHA solving in one flag) and both Managed Residential Proxies and Bring-Your-Own-Proxy options, directly matching the story; a community comment corroborates that custom proxies work. Missing for 10: explicit geo-targeting/country-selection documentation and independent hands-on verification that stealth actually reduces bot-blocking in production.
- [claimed-docs] “One flag covers detection, solving, and verification for the whole session”
- [claimed-docs] “Steel offers two powerful ways to use proxies: our built-in **Managed Residential Proxies** or connecting to your own proxy provider with ou…”
- [claimed-docs] “Steel is the open-source browser API for AI agents — managed cloud browsers with stealth, residential proxies, CAPTCHA solving, persistent p…”
- [community] “It appears you can set your own proxies to not use their cloud.”
Structured extraction — stories about structured extraction in this arenaStructured extraction
Stories about structured extraction in this arena
Extraction
developerExtract typed, schema-validated data (Zod/Pydantic-style) from pages the agent visits, not just raw text
weight 3 · round drawnDocs mention structured output but V4 returns `run.result` as a plain string with a recommendation to 'ask for JSON only, then validate it client-side' — there's no native Zod/Pydantic schema binding or first-party typed-schema extraction feature shown. This is a workaround rather than a built-in schema-validated extraction pipeline. missing for 10: no evidence of a documented schema/type-binding API (e.g., passing a Pydantic/Zod schema directly to the agent), no SDK-level validation helpers, no independent/hands-on confirmation that structured JSON output reliably conforms to a given schema.
- [claimed-docs] “V4 returns `run.result` as a string. Ask for JSON only, then validate it client-side”
- [github] “Task: "Extract structured data about my followers and export it as a CSV."”
Steel doesn't natively expose a Zod/Pydantic-style schema-validated extraction API, but several ecosystem integrations reference typed extraction — the AI SDK integration explicitly does 'extract, return typed results' and the Pydantic AI integration builds 'typed Python agents' on Steel sessions, implying schema validation is handled by those frameworks atop Steel's browser access rather than by Steel itself. Missing for 10: first-party Steel API/SDK documentation showing a defined schema (Zod or Pydantic model) passed directly to a Steel extraction endpoint, and independent confirmation that this pattern works reliably.
- [claimed-docs] “The Steel integration runs each tool against a Steel cloud session (open, navigate, snapshot, extract, return typed results)”
- [claimed-docs] “Build a Pydantic AI browser agent on Steel cloud browsers: provider-agnostic, typed Python agents with dependency injection and real web acc…”
- [claimed-docs] “The Steel integration runs each tool against a Steel cloud session, so you can stand up a typed browser agent that opens a session, navigate…”
- [github] “Browser Tools: Exposes APIs to quick convert pages to markdown, readability, screenshots, or PDFs.”
Files
developerMy agent can download files from and upload files to the sites it operates, with the artifacts retrievable afterwards
weight 1 · round to SteelBrowser Usenone0/10The evidence pack has no documentation of file upload/download handling or of artifacts being stored and retrievable after a run — GH task examples merely reference a resume being filled in and CSV export, but no confirmation these are handled as retrievable files via any API or session mechanism. Missing for 10: explicit file upload API/tooling, download/save-to-cloud-storage feature, and an artifact retrieval endpoint or docs section.
Steel documents a Files API endpoint for managing files on Steel sessions (steel-docs-16), plus agent traces that can be downloaded as JSON/ZIP/markdown artifacts (steel-docs-7), suggesting some upload/download and artifact retrieval capability. However, there's no detailed documentation of the file upload/download workflow itself (e.g., how an agent uploads a file to a site form or downloads a file from a page and retrieves it via API), no code examples, and no independent verification of this working end-to-end. missing for 10: detailed docs/examples of agent-initiated file upload to sites and file download from sites, confirmation of artifact retrieval workflow, independent/hands-on corroboration.
- [claimed-docs] “Explore API Endpoints for managing Files on Steel.”
- [claimed-docs] “Copy the run as markdown, download JSON, or grab a ZIP with markdown plus screenshots.”
- [claimed-docs] “It turns the run into a timeline of agent activity, so you can see what happened without scrubbing through the whole recording.”
Not comparable on these axes
ai-native userPlug MCP servers into this product so it can use their tools
weight 3 · not comparableBrowser Usen/aBrowser Use is itself an agent/automation product; evidence (browser-use-docs-12) shows it ships as an MCP *server* that other clients (Claude, Cursor, Windsurf) connect to, not as an MCP *client* that consumes external MCP servers' tools. Per the agent-role exception, this client-side 'plug in MCP servers' story is out of scope for a product that is itself an agent unless it explicitly runs as an MCP client, which no evidence shows.
- [claimed-docs] “Run browser automation tasks from your AI coding assistant. Connect to Claude, Cursor, Windsurf, or any MCP client.”
- [probe] “official MCP server documented at https://docs.browser-use.com/cloud/guides/mcp-server”
Steeln/aSteel is a browser-automation infrastructure/tool provider — all its MCP-related evidence describes Steel being exposed AS an MCP server/tool for other agents to consume (steel-docs-9, steel-docs-43, steel-docs-46), not Steel acting as an MCP client that plugs in external MCP servers to gain their tools. Since Steel isn't itself an agent orchestrating tool use, the 'plug MCP servers into this product' client-side story is a category mismatch for this product's role.
- [claimed-docs] “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] “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] “Expose a Steel browser to any MCP client”
ai-native userGet AI-generated insights and suggestions from my data inside the product
weight 2 · not comparableBrowser Use's agent can extract and return structured data/results from web tasks (e.g., extracting follower data to CSV, structured JSON output), which counts as AI-generated output from data it gathers, but there is no evidence of proactive 'insights and suggestions' generated from a user's own stored data inside a product dashboard — it's task-driven extraction, not analytics-style suggestion generation. missing for 10: dedicated insights/suggestions surface, evidence of proactive recommendations, analysis of user's own historical data corpus rather than ad-hoc scraped web data.
- [github] “Task: "Extract structured data about my followers and export it as a CSV."”
- [claimed-docs] “V4 returns `run.result` as a string. Ask for JSON only, then validate it client-side”
- [claimed-docs] “run = client.runs.create("Find the top Hacker News story")”
Steeln/aSteel is a browser automation/session infrastructure API for AI agents, not a data product that generates insights or suggestions from user data; its features (sessions, proxies, CAPTCHA solving, traces) are infrastructure and observability tooling, not AI-generated analytical insights, so this story is a category mismatch.
ai-native userDelegate tasks to a built-in AI assistant inside the product
weight 3 · not comparableBrowser Usen/aBrowser Use is itself an agent/automation product (the AI acting inside the browser), not a host application that delegates to a separate built-in assistant — this is the agent-role exception where the axis does not apply. It ships as a library/cloud API/MCP server for developers to build agents with, not as an end-user app containing an embedded assistant.
Steeln/aSteel is browser automation infrastructure (an API/SDK) that other AI agents and frameworks call into — it is consumed by agents, not itself a product with an end-user chat interface or built-in assistant persona to delegate tasks to. This axis targets consumer/IDE-style products with an internal assistant, which doesn't fit Steel's category.
ai-native userVersion, review, and roll back my automations
weight 1 · not comparableBrowser Usenone0/10Browser Use documents runs, sessions, event polling, and observability, but there is no evidence of versioning automation definitions, reviewing changes, or rolling back to prior versions of a task/automation. Missing for 10: version history/diffing of automations, review/approval workflow, rollback mechanism.
- [claimed-docs] “A **session** holds the agent’s conversation and can reuse its live browser. One session ID can contain multiple runs.”
- [claimed-docs] “Poll `runs.events()` with the previous cursor to receive only new events”
- [claimed-docs] “Poll ordered V4 events to monitor a run or build a custom UI.”