{
  "data": {
    "a": {
      "slug": "selenium",
      "name": "Selenium",
      "vendor": "Selenium project (Software Freedom Conservancy)",
      "vendorUrl": "https://www.selenium.dev",
      "kind": "sdk",
      "category": "browser",
      "summary": "Selenium is the open-source browser automation project behind the W3C WebDriver standard, with official bindings for Java, Python, C#, Ruby and JavaScript and a self-hosted Grid server that runs browsers on other machines.",
      "url": "https://www.anchorterminal.com/tools/selenium",
      "markdownUrl": "https://www.anchorterminal.com/tools/selenium.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/selenium.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/selenium.json",
      "repo": "https://github.com/SeleniumHQ/selenium",
      "license": "Apache-2.0",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "selenium"
        },
        {
          "registry": "npm",
          "name": "selenium-webdriver"
        },
        {
          "registry": "maven",
          "name": "org.seleniumhq.selenium:selenium-java"
        },
        {
          "registry": "nuget",
          "name": "Selenium.WebDriver"
        },
        {
          "registry": "rubygems",
          "name": "selenium-webdriver"
        }
      ],
      "auth": "none",
      "authNotes": "No account or key for the bindings, which run on the owner's machine. Grid accepts sessions without authentication unless both `--username` and `--password` are set, and Nodes register with a shared `--registration-secret` when one is configured. Site logins live in the browser profile or cookies the script sets.",
      "pricing": "free",
      "pricingNotes": "Free and open source under Apache-2.0, with nothing to buy and no hosted service from the project. Grid is self-hosted. Commercial clouds that run Selenium sessions are separate companies (checked 2026-10-14).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt or the source (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 34542,
        "npmWeekly": 1807038,
        "pypiWeekly": 6884385,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://www.selenium.dev/documentation/",
      "llmsTxt": "https://www.selenium.dev/llms.txt",
      "capabilities": [
        "browser.control",
        "browser.debug"
      ],
      "tags": [
        "official",
        "local",
        "open-source",
        "browser",
        "sdk",
        "python",
        "java",
        "javascript",
        "dotnet",
        "ruby",
        "llms-txt",
        "no-auth",
        "webdriver"
      ],
      "lastRelease": "2026-10-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73.6,
        "grade": "BB",
        "agentReady": true,
        "rank": 90,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 94,
          "payments": 60,
          "reliability": 90,
          "schema": 89,
          "security": 43,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Selenium is stable, Apache-2.0 software on 4.51.0 with bindings in five languages, CI passing on trunk, an llms.txt and an agent guide added in September 2026. It has no MCP server of its own, Selenium Manager sends usage statistics by default, and Grid accepts unauthenticated sessions unless a username and password are set.",
        "bestFor": "Agents that write test or automation scripts in any of five languages, and teams with a Grid.",
        "strengths": [
          "Official bindings for Java, Python, C#, Ruby and JavaScript, released together, 4.51.0 on 9 October 2026",
          "llms.txt and a page on using AI coding agents with Selenium, last changed 28 September 2026",
          "Code samples in the docs are run in CI against current releases",
          "An error page per common exception, such as `StaleElementReferenceException`, gives causes and fixes",
          "The 15 most recent CI runs on trunk, 13 October 2026, all succeeded or were cancelled"
        ],
        "weaknesses": [
          "No MCP server from the project. The docs point to community servers and say they are third-party",
          "Selenium Manager sends anonymised usage statistics to Plausible once a day by default, until `SE_AVOID_STATS=true` is set",
          "Grid has no authentication unless `--username` and `--password` are both set",
          "The project says it does not follow semantic versioning, and removes deprecated APIs in minor releases",
          "No accessibility snapshot call, so agents read page source or query elements one by one"
        ],
        "agentNotes": [
          "Install with `pip install selenium` (Python 3.10 or later) and let Selenium Manager fetch drivers. Do not set driver paths",
          "Use `WebDriverWait` with expected conditions, never fixed sleeps, and do not mix implicit and explicit waits",
          "Set `SE_AVOID_STATS=true` to stop Selenium Manager sending usage statistics",
          "Point coding agents at https://www.selenium.dev/llms.txt. Most Selenium 2 and 3 era examples use removed APIs",
          "Set `--username` and `--password` before exposing a Grid beyond localhost. Check `http://localhost:4444/status` before creating sessions"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 73.6
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 94,
          "payments": 60,
          "reliability": 90,
          "schema": 89,
          "security": 43,
          "transparency": 80
        },
        "provenanceScore": 68
      },
      "connect": {
        "install": "pip install selenium",
        "http": "curl http://localhost:4444/status"
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/selenium"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "Software Freedom Conservancy",
        "domain": "selenium.dev",
        "domainRegistered": "2019-02-22",
        "domainNote": "NOTICE reads Copyright 2011-2026 Software Freedom Conservancy, which holds the project. RDAP gives selenium.dev a registration date of 22 February 2019. selenium.dev answers 404 for /.well-known/security.txt. Security reports go to security@seleniumhq.org.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "No terms or privacy document governs this software beyond the Apache-2.0 licence, so `terms` and `privacy` are left out. selenium.dev has no privacy page (/privacy/ answers 404). Selenium Manager's data collection is described in its documentation page.",
          "Each binding keeps its own changelog. The Python one is linked, and the downloads page links the others.",
          "selenium.dev's robots.txt names all user agents with no Disallow lines, so every page was read."
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/selenium.json"
    },
    "answer": "Selenium scores 73.6 (BB) on agent readiness against Steel's 70.4 (BB), and leads in 4 of 7 scored categories. Steel leads on agent ergonomics, security \u0026 auth and payments \u0026 pricing.",
    "b": {
      "slug": "steel",
      "name": "Steel",
      "vendor": "Nen Labs, Inc.",
      "vendorUrl": "https://steel.dev",
      "kind": "http-api",
      "category": "browser",
      "summary": "Steel runs cloud browser sessions for AI agents, controlled through a REST API, a CDP WebSocket, SDKs, a CLI and an official MCP server. Its browser runtime, steel-browser, is open source and can be self-hosted.",
      "url": "https://www.anchorterminal.com/tools/steel",
      "markdownUrl": "https://www.anchorterminal.com/tools/steel.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/steel.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/steel.json",
      "repo": "https://github.com/steel-dev/steel-browser",
      "license": "Proprietary cloud service under Steel's terms. steel-browser and the Node and Python SDKs are Apache-2.0. The MCP server and the CLI are MIT",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.steel.dev",
      "packages": [
        {
          "registry": "npm",
          "name": "steel-sdk"
        },
        {
          "registry": "pypi",
          "name": "steel-sdk"
        },
        {
          "registry": "npm",
          "name": "@steel-dev/cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve API key from the dashboard at app.steel.dev, sent in the `steel-api-key` header. Keys are named, shown once and revoked by deletion, and the dashboard shows when each was last used. A global key covers the whole organisation, and `POST /v1/api-keys` lets a global key create keys bound to one project. No per-permission scopes were found. CDP connections pass the key as the `apiKey` query parameter on `wss://connect.steel.dev`. The x402 endpoints need no key. A self-hosted steel-browser needs no key.",
      "pricing": "freemium",
      "pricingNotes": "Launch is $0 plus usage with $30 of one-time credit valid for 90 days, and the quickstart says no card is required. Browser time is $0.10 an hour on Launch and $0.08 on Scale ($250 a month with $100 of monthly credit), billed by the minute and rounded up. Proxy traffic is $10 or $6 a GB, CAPTCHA solves $3 or $1 per 1,000, and scrape, screenshot and PDF calls $5 per 1,000. CAPTCHA solving and managed proxies on Launch need $10 of paid balance. The same three calls cost $0.01 each by x402. Enterprise is priced through sales. Self-hosted steel-browser is free (https://docs.steel.dev/overview/pricinglimits, checked 2026-10-08).",
      "priceSummary": "$0.01 / call",
      "where": "both",
      "x402": {
        "level": "yes",
        "evidence": "x402 version 2 on https://x402.steel.dev for scrape, screenshot and PDF at $0.01 a call in USDC on Base or Solana, with no account or API key (https://docs.steel.dev/integrations/x402). An unpaid POST to /v1/scrape on 2026-10-08 returned 402 with a payment-required header for 10000 base units on eip155:8453 and Solana mainnet. The header names https://api.paysponge.com/v1/scrape as the resource, so a third party appears to run the payment layer. Browser sessions and api.steel.dev aren't covered.",
        "endpoints": [
          {
            "url": "https://x402.steel.dev/v1/scrape",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          },
          {
            "url": "https://x402.steel.dev/v1/screenshot",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          },
          {
            "url": "https://x402.steel.dev/v1/pdf",
            "priceUsd": 0.01,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 46988,
        "pypiWeekly": 63315,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.steel.dev",
      "llmsTxt": "https://docs.steel.dev/llms.txt",
      "openapi": "https://docs.steel.dev/openapi.json",
      "capabilities": [
        "browser.control",
        "browser.hosted",
        "browser.debug",
        "web.scrape",
        "web.fetch",
        "scraping.proxies",
        "scraping.anti-bot",
        "pdf.generate"
      ],
      "tags": [
        "official",
        "hosted",
        "self-hosted",
        "open-source",
        "freemium",
        "no-card",
        "x402",
        "openapi",
        "llms-txt",
        "mcp",
        "python",
        "typescript",
        "proxies",
        "status-page"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 160,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 82,
          "payments": 75,
          "reliability": 58,
          "schema": 86,
          "security": 56,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The hosted API has a public OpenAPI document, per-unit prices, $30 of starting credit and x402 payment for scrape, screenshot and PDF calls. The status page records three API or session-creation incidents of more than an hour in 90 days, and the documented CDP connection puts the API key in the URL.",
        "bestFor": "Agents that need a real cloud browser with persistent profiles, stored logins, CAPTCHA solving and a human takeover path, and teams that want an open-source runtime they can also self-host.",
        "strengths": [
          "OpenAPI 3.0.3 document with 75 operations, llms.txt and a Markdown twin of every docs page",
          "x402 at x402.steel.dev for scrape, screenshot and PDF at $0.01 a call in USDC on Base or Solana, with no account",
          "Per-unit prices published without login, and $30 of one-time credit on the Launch plan",
          "Official MCP server with 16 annotated tools, a three-tool scrape profile and page content fenced as untrusted",
          "steel-browser, the browser runtime, is Apache-2.0 and self-hostable with Docker"
        ],
        "weaknesses": [
          "Three incidents of more than an hour hit the API or session creation in the 90 days to 8 October 2026, the longest 5 hours 41 minutes",
          "The documented CDP connection passes the API key as `apiKey` in the `wss://connect.steel.dev` URL",
          "x402 covers the three one-shot endpoints only, so a browser session needs an account and a key",
          "The MCP server is not on npm or in the MCP registry, and `mcp.steel.dev` is not live per its README",
          "No deprecation policy or security.txt found, and the trust centre did not render for our reader"
        ],
        "agentNotes": [
          "Use `POST /v1/scrape` for pages you only need to read. It starts no session and costs $5 per 1,000 calls, or $0.01 a call by x402",
          "Release every session with `POST /v1/sessions/{id}/release` and set `inactivityTimeout`. Browser time bills by the minute, rounded up",
          "Build the CDP URL as `wss://connect.steel.dev?apiKey=\u003ckey\u003e\u0026sessionId=\u003cid\u003e` and keep it out of logs, because it carries the key",
          "Launch sessions end after 15 minutes at most, and `timeout` cannot be changed on a live session",
          "CAPTCHA solving and Steel's managed proxies on Launch need $10 of paid balance. Free credit does not count"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.4
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 82,
          "payments": 75,
          "reliability": 58,
          "schema": 86,
          "security": 56,
          "transparency": 52
        },
        "provenanceScore": 75
      },
      "connect": {
        "install": "npm install steel-sdk",
        "http": "curl -X POST https://api.steel.dev/v1/scrape -H \"steel-api-key: YOUR_KEY\" -H \"Content-Type: application/json\" -d '{\"url\": \"https://example.com\"}'",
        "claudeCode": "claude mcp add steel -e STEEL_API_KEY=your-steel-api-key -- npx -y github:steel-dev/steel-mcp-server",
        "config": {
          "mcpServers": {
            "steel": {
              "args": [
                "-y",
                "github:steel-dev/steel-mcp-server"
              ],
              "command": "npx",
              "env": {
                "STEEL_API_KEY": "\u003cyour-steel-api-key\u003e"
              }
            }
          }
        },
        "x402": "curl -i -X POST https://x402.steel.dev/v1/scrape -H \"Content-Type: application/json\" -d '{\"url\": \"https://example.com\", \"format\": [\"markdown\"]}'"
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/steel"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Browser, Launch plan",
          "unit": "browser-hour",
          "usd": 0.1,
          "note": "Billed by the minute, rounded up"
        },
        {
          "item": "Browser, Scale plan",
          "unit": "browser-hour",
          "usd": 0.08
        },
        {
          "item": "Proxy traffic, Launch",
          "unit": "gb",
          "usd": 10
        },
        {
          "item": "Proxy traffic, Scale",
          "unit": "gb",
          "usd": 6
        },
        {
          "item": "Scrape, screenshot or PDF",
          "unit": "1k-requests",
          "usd": 5
        },
        {
          "item": "Scrape, screenshot or PDF by x402",
          "unit": "call",
          "usd": 0.01,
          "note": "USDC on Base or Solana, no account"
        },
        {
          "item": "CAPTCHA solves, Launch",
          "unit": "1k-requests",
          "usd": 3
        },
        {
          "item": "CAPTCHA solves, Scale",
          "unit": "1k-requests",
          "usd": 1
        },
        {
          "item": "Scale plan",
          "unit": "month",
          "usd": 250,
          "note": "$100 of usage credit each month"
        },
        {
          "item": "Dedicated IP, Scale",
          "unit": "month",
          "usd": 5,
          "note": "Per IP"
        }
      ],
      "provenance": {
        "legalEntity": "Nen Labs, Inc.",
        "domain": "steel.dev",
        "domainRegistered": "2024-07-22",
        "endpointOnVendorDomain": true,
        "terms": "https://steel.dev/terms",
        "privacy": "https://steel.dev/privacy",
        "statusPage": "https://status.steel.dev",
        "changelog": "https://docs.steel.dev/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms (last updated 5 February 2025) and the privacy notice (last updated 5 February 2026) name Nen Labs, Inc., 9450 SW Gemini Dr, PMB 34667, Beaverton, OR 97008, United States, and the terms choose Delaware law.",
          "The docs Legal page links to Google Docs copies of the terms and privacy policy and not to steel.dev/terms and steel.dev/privacy. We read the steel.dev pages.",
          "The API answers at api.steel.dev, CDP at connect.steel.dev and x402 at x402.steel.dev. The x402 payment header names api.paysponge.com as the resource.",
          "steel.dev/.well-known/security.txt and docs.steel.dev/.well-known/security.txt both return 404. The site footer's Security link goes to a Vanta trust centre at trust.steel.dev.",
          "RDAP for steel.dev gives a registration date of 2024-07-22.",
          "Changelog entries are numbered and carry dates in page metadata. Number 038 is dated 2 October 2026."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/steel.json",
      "live": {
        "slug": "steel",
        "probe": {
          "target": "https://api.steel.dev",
          "method": "get",
          "lastAt": "2026-10-14T09:42:08.959877188Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 169,
          "authRequired": false,
          "uptime24h": 99.6,
          "uptime30d": 99.93,
          "p50ms24h": 407,
          "p95ms24h": 657,
          "samples24h": 248,
          "samples30d": 1432,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 247
            },
            {
              "date": "2026-10-14",
              "probes": 100,
              "ok": 100
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.steel.dev",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-14T08:53:58.14002454Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "steel-dev/steel-browser",
            "version": "v0.5.4-beta",
            "released": "2026-08-25",
            "seenAt": "2026-10-13T23:26:28.899089946Z"
          },
          {
            "registry": "npm",
            "name": "@steel-dev/cli",
            "version": "0.3.1",
            "seenAt": "2026-10-13T23:26:27.676611079Z"
          },
          {
            "registry": "npm",
            "name": "steel-sdk",
            "version": "0.18.0",
            "seenAt": "2026-10-13T23:26:26.70181555Z"
          },
          {
            "registry": "pypi",
            "name": "steel-sdk",
            "version": "0.19.0",
            "released": "2026-06-23",
            "seenAt": "2026-10-13T23:26:27.485350415Z"
          }
        ],
        "githubStars": 7796,
        "npmWeekly": 60124,
        "pypiWeekly": 63572,
        "securityTxt": {
          "url": "https://steel.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-13T15:45:42.019457222Z"
        },
        "llmsTxt": {
          "url": "https://docs.steel.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-13T14:12:37.580225551Z"
        },
        "domain": {
          "domain": "steel.dev",
          "registered": "2024-07-22",
          "source": "https://pubapi.registry.google/rdap/domain/steel.dev",
          "checkedAt": "2026-10-11T13:16:38.711198996Z"
        },
        "pages": [
          {
            "url": "https://docs.steel.dev/changelog",
            "kind": "changelog",
            "status": 404,
            "checkedAt": "2026-10-13T20:15:54.5043662Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://docs.steel.dev/overview/pricinglimits",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-13T20:15:56.692411481Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b8c6356ee458"
          },
          {
            "url": "https://steel.dev/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-13T20:23:45.705170908Z",
            "changedAt": "2026-10-10T19:10:17.238036303Z",
            "fingerprint": "ee281add72ba"
          },
          {
            "url": "https://steel.dev/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-13T20:23:47.872982526Z",
            "changedAt": "2026-10-10T19:10:19.561298803Z",
            "fingerprint": "949585da7064"
          }
        ],
        "updatedAt": "2026-10-14T09:42:08.959877188Z"
      }
    },
    "facts": [
      {
        "a": "SDK + MCP",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Selenium project (Software Freedom Conservancy)",
        "b": "Nen Labs, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.steel.dev",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "yes, from $0.01/call",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Proprietary cloud service under Steel's terms. steel-browser and the Node and Python SDKs are Apache-2.0. The MCP server and the CLI are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-09",
        "b": "2026-10-02",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2025-02-05",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-02-05",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "35k stars, 1.8M npm/wk, 6.9M PyPI/wk",
        "b": "47k npm/wk, 63k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Selenium scores 73.6 (BB) on agent readiness against Steel's 70.4 (BB), and leads in 4 of 7 scored categories. Steel leads on agent ergonomics, security \u0026 auth and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Selenium or Steel?"
      },
      {
        "answer": "No hosted endpoint is listed for Selenium. Steel has a hosted endpoint at https://api.steel.dev.",
        "question": "Can an agent call Selenium and Steel without installing anything?"
      },
      {
        "answer": "Yes. Selenium is open source (Apache-2.0). Steel is open source (Proprietary cloud service under Steel's terms. steel-browser and the Node and Python SDKs are Apache-2.0. The MCP server and the CLI are MIT).",
        "question": "Are Selenium and Steel open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 90 against 58",
          "Maintenance \u0026 community, 94 against 82",
          "Transparency \u0026 trust, 74 against 64"
        ],
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "Agents that write test or automation scripts in any of five languages, and teams with a Grid.",
        "slug": "selenium",
        "watchFor": "No MCP server from the project. The docs point to community servers and say they are third-party"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 79 against 70",
          "Security \u0026 auth, 56 against 43",
          "Payments \u0026 pricing, 75 against 60"
        ],
        "also": [
          "An agent can pay per call over x402, with no account",
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Agents that need a real cloud browser with persistent profiles, stored logins, CAPTCHA solving and a human takeover path, and teams that want an open-source runtime they can also self-host.",
        "slug": "steel",
        "watchFor": "Three incidents of more than an hour hit the API or session creation in the 90 days to 8 October 2026, the longest 5 hours 41 minutes"
      }
    ],
    "job": {
      "capability": "browser.control",
      "name": "Browser automation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-browser-vs-selenium.json",
        "title": "agent-browser vs Selenium",
        "url": "https://www.anchorterminal.com/compare/agent-browser-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-browser-vs-steel.json",
        "title": "agent-browser vs Steel",
        "url": "https://www.anchorterminal.com/compare/agent-browser-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-selenium.json",
        "title": "Airtop vs Selenium",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-steel.json",
        "title": "Airtop vs Steel",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anchor-browser-vs-selenium.json",
        "title": "Anchor Browser vs Selenium",
        "url": "https://www.anchorterminal.com/compare/anchor-browser-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anchor-browser-vs-steel.json",
        "title": "Anchor Browser vs Steel",
        "url": "https://www.anchorterminal.com/compare/anchor-browser-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browser-use-vs-selenium.json",
        "title": "Browser Use vs Selenium",
        "url": "https://www.anchorterminal.com/compare/browser-use-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browser-use-vs-steel.json",
        "title": "Browser Use vs Steel",
        "url": "https://www.anchorterminal.com/compare/browser-use-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserbase-vs-selenium.json",
        "title": "Browserbase vs Selenium",
        "url": "https://www.anchorterminal.com/compare/browserbase-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-selenium.json",
        "title": "Browserless vs Selenium",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-steel.json",
        "title": "Browserless vs Steel",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-selenium.json",
        "title": "Chrome DevTools MCP vs Selenium",
        "url": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-steel.json",
        "title": "Chrome DevTools MCP vs Steel",
        "url": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperbrowser-vs-selenium.json",
        "title": "Hyperbrowser vs Selenium",
        "url": "https://www.anchorterminal.com/compare/hyperbrowser-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperbrowser-vs-steel.json",
        "title": "Hyperbrowser vs Steel",
        "url": "https://www.anchorterminal.com/compare/hyperbrowser-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/notte-vs-selenium.json",
        "title": "Notte vs Selenium",
        "url": "https://www.anchorterminal.com/compare/notte-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/notte-vs-steel.json",
        "title": "Notte vs Steel",
        "url": "https://www.anchorterminal.com/compare/notte-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/playwright-mcp-vs-selenium.json",
        "title": "Playwright MCP vs Selenium",
        "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/playwright-mcp-vs-steel.json",
        "title": "Playwright MCP vs Steel",
        "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-selenium.json",
        "title": "Puppeteer (archived MCP reference server) vs Selenium",
        "url": "https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-steel.json",
        "title": "Puppeteer (archived MCP reference server) vs Steel",
        "url": "https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/puppeteer-vs-selenium.json",
        "title": "Puppeteer vs Selenium",
        "url": "https://www.anchorterminal.com/compare/puppeteer-vs-selenium"
      },
      {
        "json": "https://www.anchorterminal.com/compare/puppeteer-vs-steel.json",
        "title": "Puppeteer vs Steel",
        "url": "https://www.anchorterminal.com/compare/puppeteer-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/selenium-vs-skyvern.json",
        "title": "Selenium vs Skyvern",
        "url": "https://www.anchorterminal.com/compare/selenium-vs-skyvern"
      },
      {
        "json": "https://www.anchorterminal.com/compare/selenium-vs-tinyfish.json",
        "title": "Selenium vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/selenium-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/skyvern-vs-steel.json",
        "title": "Skyvern vs Steel",
        "url": "https://www.anchorterminal.com/compare/skyvern-vs-steel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/steel-vs-tinyfish.json",
        "title": "Steel vs TinyFish",
        "url": "https://www.anchorterminal.com/compare/steel-vs-tinyfish"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserbase-vs-steel.json",
        "title": "Browserbase vs Steel",
        "url": "https://www.anchorterminal.com/compare/browserbase-vs-steel"
      }
    ],
    "scores": [
      {
        "by": 32,
        "edge": "selenium",
        "key": "reliability",
        "name": "Reliability",
        "selenium": 90,
        "steel": 58,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 3,
        "edge": "selenium",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "selenium": 89,
        "steel": 86,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "steel",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "selenium": 70,
        "steel": 79,
        "weight": 13
      },
      {
        "by": 13,
        "edge": "steel",
        "key": "security",
        "name": "Security \u0026 auth",
        "selenium": 43,
        "steel": 56,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "steel",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "selenium": 60,
        "steel": 75,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "selenium",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "selenium": 94,
        "steel": 82,
        "weight": 7
      },
      {
        "by": 10,
        "edge": "selenium",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "selenium": 74,
        "steel": 64,
        "weight": 7
      }
    ],
    "summary": "Selenium scores 73.6 (BB) on agent readiness against Steel's 70.4 (BB), and leads in 4 of 7 scored categories. Steel leads on agent ergonomics, security \u0026 auth and payments \u0026 pricing. Both do browser automation. Steel accepts x402. Selenium doesn't.",
    "verdicts": {
      "selenium": "Selenium is stable, Apache-2.0 software on 4.51.0 with bindings in five languages, CI passing on trunk, an llms.txt and an agent guide added in September 2026. It has no MCP server of its own, Selenium Manager sends usage statistics by default, and Grid accepts unauthenticated sessions unless a username and password are set.",
      "steel": "The hosted API has a public OpenAPI document, per-unit prices, $30 of starting credit and x402 payment for scrape, screenshot and PDF calls. The status page records three API or session-creation incidents of more than an hour in 90 days, and the documented CDP connection puts the API key in the URL."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/selenium-vs-steel",
    "json": "https://www.anchorterminal.com/compare/selenium-vs-steel.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/selenium-vs-steel.md",
    "slim": "https://www.anchorterminal.com/compare/selenium-vs-steel.min.md"
  },
  "markdown": "Selenium scores 73.6 (BB) on agent readiness against Steel's 70.4 (BB), and leads in 4 of 7 scored categories. Steel leads on agent ergonomics, security \u0026 auth and payments \u0026 pricing. Both do browser automation. Steel accepts x402. Selenium doesn't.\n\n- Selenium: grade BB, 73.6/100, rank #90 of 1076. Markdown https://www.anchorterminal.com/tools/selenium.md · JSON https://www.anchorterminal.com/api/v1/tools/selenium.json\n- Steel: grade BB, 70.4/100, rank #160 of 1076. Markdown https://www.anchorterminal.com/tools/steel.md · JSON https://www.anchorterminal.com/api/v1/tools/steel.json\n- Best browser automation tools for AI agents: https://www.anchorterminal.com/best/browser/index.md\n- All 120 browser comparisons: https://www.anchorterminal.com/compare/browser/index.md\n\n## Which one, for what\n\n### Selenium (BB)\n\nGood for: Agents that write test or automation scripts in any of five languages, and teams with a Grid.\n\nAhead on:\n- Reliability, 90 against 58\n- Maintenance \u0026 community, 94 against 82\n- Transparency \u0026 trust, 74 against 64\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: No MCP server from the project. The docs point to community servers and say they are third-party\n\n### Steel (BB)\n\nGood for: Agents that need a real cloud browser with persistent profiles, stored logins, CAPTCHA solving and a human takeover path, and teams that want an open-source runtime they can also self-host.\n\nAhead on:\n- Agent ergonomics, 79 against 70\n- Security \u0026 auth, 56 against 43\n- Payments \u0026 pricing, 75 against 60\n\nAlso in its favour:\n- An agent can pay per call over x402, with no account\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: Three incidents of more than an hour hit the API or session creation in the 90 days to 8 October 2026, the longest 5 hours 41 minutes\n\n\n## Score by category\n\n| Category | Weight | Selenium | Steel | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 58 | Selenium +32 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 86 | Selenium +3 |\n| Agent ergonomics | 13% (16.2 this run) | 70 | 79 | Steel +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 43 | 56 | Steel +13 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 75 | Steel +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 94 | 82 | Selenium +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 64 | Selenium +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **73.6 · BB** | **70.4 · BB** | |\n\n## Facts side by side\n\n| Fact | Selenium | Steel |\n| --- | --- | --- |\n| Kind | SDK + MCP | HTTP API |\n| Vendor | Selenium project (Software Freedom Conservancy) | Nen Labs, Inc. |\n| Hosted endpoint | no (local only) | `https://api.steel.dev` |\n| Transports | HTTP | HTTP, stdio |\n| Auth | None | API key |\n| Pricing | Free | Freemium |\n| x402 | no | yes, from $0.01/call |\n| Licence | Apache-2.0 | Proprietary cloud service under Steel's terms. steel-browser and the Node and Python SDKs are Apache-2.0. The MCP server and the CLI are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-09 | 2026-10-02 |\n| Terms last updated | no document linked | 2025-02-05 |\n| Privacy policy last updated | no document linked | 2026-02-05 |\n| Customer content may train models |  | not found in the text |\n| Terms restrict automated access |  | yes |\n| Terms restrict benchmarking |  | yes |\n| Terms or service can change without notice |  | yes |\n| Arbitration or class-action waiver |  | yes |\n| Popularity | 35k stars, 1.8M npm/wk, 6.9M PyPI/wk | 47k npm/wk, 63k PyPI/wk |\n\n## Verdicts\n\n**Selenium.** Selenium is stable, Apache-2.0 software on 4.51.0 with bindings in five languages, CI passing on trunk, an llms.txt and an agent guide added in September 2026. It has no MCP server of its own, Selenium Manager sends usage statistics by default, and Grid accepts unauthenticated sessions unless a username and password are set.\n\n**Steel.** The hosted API has a public OpenAPI document, per-unit prices, $30 of starting credit and x402 payment for scrape, screenshot and PDF calls. The status page records three API or session-creation incidents of more than an hour in 90 days, and the documented CDP connection puts the API key in the URL.\n\n## Before you call either\n\n### Selenium\n\n1. Install with `pip install selenium` (Python 3.10 or later) and let Selenium Manager fetch drivers. Do not set driver paths\n2. Use `WebDriverWait` with expected conditions, never fixed sleeps, and do not mix implicit and explicit waits\n3. Set `SE_AVOID_STATS=true` to stop Selenium Manager sending usage statistics\n4. Point coding agents at https://www.selenium.dev/llms.txt. Most Selenium 2 and 3 era examples use removed APIs\n5. Set `--username` and `--password` before exposing a Grid beyond localhost. Check `http://localhost:4444/status` before creating sessions\n\n### Steel\n\n1. Use `POST /v1/scrape` for pages you only need to read. It starts no session and costs $5 per 1,000 calls, or $0.01 a call by x402\n2. Release every session with `POST /v1/sessions/{id}/release` and set `inactivityTimeout`. Browser time bills by the minute, rounded up\n3. Build the CDP URL as `wss://connect.steel.dev?apiKey=\u003ckey\u003e\u0026sessionId=\u003cid\u003e` and keep it out of logs, because it carries the key\n4. Launch sessions end after 15 minutes at most, and `timeout` cannot be changed on a live session\n5. CAPTCHA solving and Steel's managed proxies on Launch need $10 of paid balance. Free credit does not count\n\n## Questions\n\n### Which is better for AI agents, Selenium or Steel?\n\nSelenium scores 73.6 (BB) on agent readiness against Steel's 70.4 (BB), and leads in 4 of 7 scored categories. Steel leads on agent ergonomics, security \u0026 auth and payments \u0026 pricing.\n\n### Can an agent call Selenium and Steel without installing anything?\n\nNo hosted endpoint is listed for Selenium. Steel has a hosted endpoint at https://api.steel.dev.\n\n### Are Selenium and Steel open source?\n\nYes. Selenium is open source (Apache-2.0). Steel is open source (Proprietary cloud service under Steel's terms. steel-browser and the Node and Python SDKs are Apache-2.0. The MCP server and the CLI are MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/selenium-vs-steel.json, and with the fewest tokens: https://www.anchorterminal.com/compare/selenium-vs-steel.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"selenium\", \"b\": \"steel\"}`. From a terminal: `anchor compare selenium steel`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/selenium.json and https://www.anchorterminal.com/api/v1/tools/steel.json\n\n## Other comparisons with Selenium or Steel\n\n- [agent-browser vs Selenium](https://www.anchorterminal.com/compare/agent-browser-vs-selenium.md)\n- [agent-browser vs Steel](https://www.anchorterminal.com/compare/agent-browser-vs-steel.md)\n- [Airtop vs Selenium](https://www.anchorterminal.com/compare/airtop-vs-selenium.md)\n- [Airtop vs Steel](https://www.anchorterminal.com/compare/airtop-vs-steel.md)\n- [Anchor Browser vs Selenium](https://www.anchorterminal.com/compare/anchor-browser-vs-selenium.md)\n- [Anchor Browser vs Steel](https://www.anchorterminal.com/compare/anchor-browser-vs-steel.md)\n- [Browser Use vs Selenium](https://www.anchorterminal.com/compare/browser-use-vs-selenium.md)\n- [Browser Use vs Steel](https://www.anchorterminal.com/compare/browser-use-vs-steel.md)\n- [Browserbase vs Selenium](https://www.anchorterminal.com/compare/browserbase-vs-selenium.md)\n- [Browserless vs Selenium](https://www.anchorterminal.com/compare/browserless-vs-selenium.md)\n- [Browserless vs Steel](https://www.anchorterminal.com/compare/browserless-vs-steel.md)\n- [Chrome DevTools MCP vs Selenium](https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-selenium.md)\n- [Chrome DevTools MCP vs Steel](https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-steel.md)\n- [Hyperbrowser vs Selenium](https://www.anchorterminal.com/compare/hyperbrowser-vs-selenium.md)\n- [Hyperbrowser vs Steel](https://www.anchorterminal.com/compare/hyperbrowser-vs-steel.md)\n- [Notte vs Selenium](https://www.anchorterminal.com/compare/notte-vs-selenium.md)\n- [Notte vs Steel](https://www.anchorterminal.com/compare/notte-vs-steel.md)\n- [Playwright MCP vs Selenium](https://www.anchorterminal.com/compare/playwright-mcp-vs-selenium.md)\n- [Playwright MCP vs Steel](https://www.anchorterminal.com/compare/playwright-mcp-vs-steel.md)\n- [Puppeteer (archived MCP reference server) vs Selenium](https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-selenium.md)\n- [Puppeteer (archived MCP reference server) vs Steel](https://www.anchorterminal.com/compare/puppeteer-reference-server-archived-vs-steel.md)\n- [Puppeteer vs Selenium](https://www.anchorterminal.com/compare/puppeteer-vs-selenium.md)\n- [Puppeteer vs Steel](https://www.anchorterminal.com/compare/puppeteer-vs-steel.md)\n- [Selenium vs Skyvern](https://www.anchorterminal.com/compare/selenium-vs-skyvern.md)\n- [Selenium vs TinyFish](https://www.anchorterminal.com/compare/selenium-vs-tinyfish.md)\n- [Skyvern vs Steel](https://www.anchorterminal.com/compare/skyvern-vs-steel.md)\n- [Steel vs TinyFish](https://www.anchorterminal.com/compare/steel-vs-tinyfish.md)\n- [Browserbase vs Steel](https://www.anchorterminal.com/compare/browserbase-vs-steel.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-14",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Selenium vs Steel",
        "url": ""
      }
    ],
    "description": "Selenium scores 73.6 (BB) to Steel's 70.4 (BB) for browser automation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Selenium BB 73.6",
      "Steel BB 70.4",
      "scores"
    ],
    "h1": "Selenium vs Steel",
    "image": "https://www.anchorterminal.com/assets/og/compare-selenium-vs-steel.png",
    "path": "/compare/selenium-vs-steel",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Selenium vs Steel for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/selenium-vs-steel"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 780
  },
  "version": 1
}
