{
  "data": {
    "a": {
      "slug": "browserless",
      "name": "Browserless",
      "vendor": "browserless.io, Inc.",
      "vendorUrl": "https://www.browserless.io",
      "kind": "http-api",
      "category": "browser",
      "summary": "Browserless runs hosted headless browsers that agents drive over CDP, Playwright, REST endpoints, BrowserQL or its official MCP server. The same software can be self-hosted from a Docker image.",
      "url": "https://www.anchorterminal.com/tools/browserless",
      "markdownUrl": "https://www.anchorterminal.com/tools/browserless.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/browserless.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/browserless.json",
      "repo": "https://github.com/browserless/browserless",
      "license": "SSPL 1.0 or a commercial licence for the core server and the MCP server. The BAP TypeScript SDK is MIT. BrowserQL, stealth and other cloud additions are proprietary",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://production-sfo.browserless.io",
      "packages": [
        {
          "registry": "npm",
          "name": "@browserless.io/mcp"
        },
        {
          "registry": "npm",
          "name": "@browserless.io/bap-ts"
        },
        {
          "registry": "npm",
          "name": "@browserless.io/browserless"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve API token from the account dashboard after signing up in a browser. REST, BrowserQL and WebSocket routes take it as `?token=` in the URL. The hosted MCP server accepts OAuth sign-in with a Browserless account, an `Authorization: Bearer` header, or `?token=` for URL-only clients. An account holds up to 20 named tokens, each shown once and revocable on its own. Cloud tokens have no scopes. The admin, developer and viewer token roles apply to self-hosted Enterprise containers only.",
      "pricing": "freemium",
      "pricingNotes": "Free with 1,000 units a month, 2 concurrent browsers and 2-minute sessions, no card. A unit is up to 30 seconds of browser time. Prototyping is $35 a month ($25 billed annually) with 20,000 units, then $0.0020 a unit. Starter is $200 ($140) with 180,000 units, then $0.0017. Scale is $500 ($350) with 500,000 units, then $0.0015. Enterprise and self-hosting licences are priced by sales. An agent can start on the free plan once a person has signed up (https://www.browserless.io/pricing, checked 2026-10-08).",
      "priceSummary": "$0.002 / credit",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs (llms-full.txt), the OpenAPI document or the pricing page (checked 2026-10-08). The Stripe Link checkout tools are for an agent paying a merchant, not for paying Browserless.",
        "endpoints": []
      },
      "toolCount": 14,
      "popularity": {
        "githubStars": 13786,
        "npmWeekly": 3484,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.browserless.io",
      "llmsTxt": "https://docs.browserless.io/llms.txt",
      "openapi": "https://www.browserless.io/swagger.json",
      "capabilities": [
        "browser.control",
        "browser.hosted",
        "browser.debug",
        "scraping.js-render",
        "scraping.anti-bot",
        "scraping.proxies",
        "web.scrape",
        "web.crawl",
        "web.search",
        "pdf.generate"
      ],
      "tags": [
        "official",
        "hosted",
        "self-hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "typescript",
        "source-available",
        "commercial-licence",
        "proxies",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 128,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 82,
          "payments": 40,
          "reliability": 82,
          "schema": 89,
          "security": 53,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "An OpenAPI document, llms.txt and a 14-tool MCP server with annotations on every tool make the service easy for an agent to read, and the free plan needs no card. The API token travels in the URL query string by default, cloud tokens carry no scopes, and no machine payment route exists.",
        "bestFor": "Agents that need a real browser in the cloud with stealth, proxies and CAPTCHA solving, and teams that want the option of running the same server themselves.",
        "strengths": [
          "OpenAPI 3.0.0 document with 87 paths, llms.txt, llms-full.txt and Markdown twins of the docs",
          "Hosted MCP server at mcp.browserless.io with 14 documented tools, each carrying read-only and destructive annotations",
          "Free plan with 1,000 units a month and no card, with per-unit overage prices published for paid plans",
          "Up to 20 named API tokens per account, each revocable on its own, plus request logs filterable by key",
          "MCP server released 32 times between 10 July and 5 October 2026, with a dated changelog in the repository"
        ],
        "weaknesses": [
          "REST and WebSocket routes take the API token as `?token=` in the URL, which the docs give as the standard method",
          "Cloud tokens have no scopes or roles. Token roles exist only on self-hosted Enterprise containers",
          "No x402, MPP or L402, and an account needs a person to sign up in a browser",
          "No prompt-injection guidance found in the docs or in the MCP agent prompt",
          "The terms allow the service to be changed or discontinued without notice, and the subprocessor list is on request only"
        ],
        "agentNotes": [
          "Send the token as `Authorization: Bearer` to the MCP server. On REST and WebSocket routes it goes in `?token=`, so keep those URLs out of logs",
          "Close sessions as soon as the work is done. Browser time bills one unit per 30 seconds, rounded up, idle or not",
          "For multi-step work with `browserless_agent`, set `keepSessionAlive: true` on the first call and pass the returned `sessionId` after that. Sessions are one-shot by default since server 1.33.0",
          "On 429, back off and retry. It means the plan's concurrency limit or queue is full, usually from sessions left open",
          "Match the path to the protocol. Use `/chromium` for CDP clients and `/chromium/playwright` only for `playwright.connect()`"
        ],
        "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": 78,
          "maintenance": 82,
          "payments": 40,
          "reliability": 82,
          "schema": 89,
          "security": 53,
          "transparency": 47
        },
        "provenanceScore": 77
      },
      "connect": {
        "install": "npx -y @browserless.io/mcp",
        "http": "curl -X POST \"https://production-sfo.browserless.io/screenshot?token=YOUR_API_TOKEN_HERE\" -H \"Content-Type: application/json\" -d '{\"url\": \"https://scraping-sandbox.netlify.app/dashboard\"}' -o response.png",
        "claudeCode": "claude mcp add --transport http browserless https://mcp.browserless.io/mcp --header \"Authorization: Bearer YOUR_API_TOKEN_HERE\"",
        "config": {
          "mcpServers": {
            "browserless": {
              "headers": {
                "Authorization": "Bearer YOUR_API_TOKEN_HERE"
              },
              "type": "http",
              "url": "https://mcp.browserless.io/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/browserless"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Unit overage, Prototyping plan",
          "unit": "credit",
          "usd": 0.002,
          "note": "One unit is up to 30 seconds of browser time"
        },
        {
          "item": "Unit overage, Starter plan",
          "unit": "credit",
          "usd": 0.0017
        },
        {
          "item": "Unit overage, Scale plan",
          "unit": "credit",
          "usd": 0.0015
        },
        {
          "item": "Browser time at the overage rate, Prototyping plan",
          "unit": "browser-hour",
          "usd": 0.24,
          "note": "Our arithmetic, 120 units at $0.0020"
        },
        {
          "item": "Browser time at the overage rate, Starter plan",
          "unit": "browser-hour",
          "usd": 0.204,
          "note": "Our arithmetic, 120 units at $0.0017"
        },
        {
          "item": "Browser time at the overage rate, Scale plan",
          "unit": "browser-hour",
          "usd": 0.18,
          "note": "Our arithmetic, 120 units at $0.0015"
        },
        {
          "item": "Prototyping plan",
          "unit": "month",
          "usd": 35,
          "note": "20,000 units, $25 a month billed annually"
        },
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 200,
          "note": "180,000 units, $140 a month billed annually"
        },
        {
          "item": "Scale plan",
          "unit": "month",
          "usd": 500,
          "note": "500,000 units, $350 a month billed annually"
        }
      ],
      "provenance": {
        "legalEntity": "browserless.io, Inc.",
        "domain": "browserless.io",
        "domainRegistered": "2017-09-06",
        "endpointOnVendorDomain": true,
        "terms": "https://www.browserless.io/terms-of-service",
        "privacy": "https://www.browserless.io/privacy-policy",
        "statusPage": "https://status.browserless.io",
        "changelog": "https://www.browserless.io/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service name browserless.io, Inc., 23207 NE 192nd Ct, Battle Ground, WA 98604, United States. Neither the terms nor the privacy policy carries a date.",
          "www.browserless.io/.well-known/security.txt and docs.browserless.io/.well-known/security.txt both return 404. The trust centre sends vulnerability reports to security@browserless.io.",
          "RDAP for browserless.io gives a registration date of 2017-09-06.",
          "The API answers at production-sfo, production-lon and production-ams.browserless.io and the MCP server at mcp.browserless.io. The OAuth metadata at data.browserless.io names a supabase.co issuer."
        ],
        "score": 77
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/browserless.json",
      "live": {
        "slug": "browserless",
        "probe": {
          "target": "https://production-sfo.browserless.io",
          "method": "get",
          "lastAt": "2026-10-08T18:20:26.934936827Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 434,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 440,
          "p95ms24h": 507,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.browserless.io",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T17:50:26.655559117Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "browserless/browserless",
            "version": "v2.57.0",
            "released": "2026-09-30",
            "seenAt": "2026-10-08T16:04:11.420407881Z"
          },
          {
            "registry": "npm",
            "name": "@browserless.io/bap-ts",
            "version": "2.0.0",
            "seenAt": "2026-10-08T16:04:09.167089658Z"
          },
          {
            "registry": "npm",
            "name": "@browserless.io/browserless",
            "version": "2.57.0",
            "seenAt": "2026-10-08T16:04:09.383268902Z"
          },
          {
            "registry": "npm",
            "name": "@browserless.io/mcp",
            "version": "1.36.0",
            "seenAt": "2026-10-08T16:04:05.40282872Z"
          }
        ],
        "githubStars": 13789,
        "npmWeekly": 3484,
        "securityTxt": {
          "url": "https://browserless.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:39.246027784Z"
        },
        "updatedAt": "2026-10-08T18:20:26.934936827Z"
      }
    },
    "answer": "Browserless scores 70.4 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 2 of 7 scored categories. Playwright MCP leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "slug": "playwright-mcp",
      "name": "Playwright MCP",
      "vendor": "Microsoft",
      "vendorUrl": "https://playwright.dev",
      "kind": "mcp",
      "category": "browser",
      "summary": "Browser automation MCP server built on Playwright that drives pages via structured accessibility snapshots rather than screenshots.",
      "url": "https://www.anchorterminal.com/tools/playwright-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/playwright-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/playwright-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/playwright-mcp.json",
      "repo": "https://github.com/microsoft/playwright-mcp",
      "license": "Apache-2.0",
      "transports": [
        "stdio",
        "streamable-http",
        "sse"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@playwright/mcp"
        }
      ],
      "auth": "none",
      "authNotes": "No authentication; local process. Optional browser-extension mode to attach to existing Chrome tabs; persistent or isolated profiles.",
      "pricing": "free",
      "pricingNotes": "Open source; no hosted service.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No payments. Local open-source server.",
        "endpoints": []
      },
      "toolCount": 72,
      "popularity": {
        "githubStars": 36800,
        "npmWeekly": 5320150,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://github.com/microsoft/playwright-mcp#readme",
      "registryName": "io.github.microsoft/playwright-mcp",
      "capabilities": [
        "browser.control"
      ],
      "tags": [
        "official",
        "local",
        "open-source",
        "browser",
        "no-auth"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.6,
        "grade": "B",
        "agentReady": false,
        "rank": 189,
        "ranked": true,
        "rankOf": 629,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 84,
          "payments": 60,
          "reliability": 57,
          "schema": 70,
          "security": 57,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Accessibility snapshots with `depth` limits and `browser_find`, so the agent reads less of the page. `browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off.",
        "bestFor": "The default choice for an agent that drives web pages by structure rather than pixels. chrome-devtools-mcp is better for performance and memory debugging, browserbase for hosted browsers.",
        "strengths": [
          "Accessibility snapshots with `depth` limits and `browser_find`, so the agent reads less of the page",
          "25 tools by default, with network, storage, devtools, vision, PDF and testing behind `--caps`",
          "`readOnlyHint`, `destructiveHint` and `openWorldHint` on every tool",
          "File access confined to workspace roots by default, and `--secrets` masks values in responses",
          "Six releases since 3 July 2026, published to the MCP registry from CI"
        ],
        "weaknesses": [
          "`browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off",
          "No authentication on the HTTP transport, and `--isolated` is off by default",
          "Still 0.0.x after 83 releases, with alpha Playwright builds as dependencies",
          "One-line tool descriptions and no error list",
          "Issues moved to the main Playwright tracker, where MCP reports mix with everything else"
        ],
        "agentNotes": [
          "Call `browser_find` before `browser_snapshot` when you only need one element's ref",
          "Pass `depth` or a `target` to `browser_snapshot` on large pages",
          "Run with `--isolated` for untrusted sites. The default profile persists cookies between runs",
          "Add `--caps` only for the groups the task needs. Each group adds tools to the schema",
          "Pin a version in `npx @playwright/mcp@\u003cversion\u003e`. 0.0.x releases can rename tools"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.6
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 84,
          "payments": 60,
          "reliability": 57,
          "schema": 70,
          "security": 57,
          "transparency": 75
        },
        "provenanceScore": 68
      },
      "connect": {
        "claudeCode": "claude mcp add playwright -- npx -y @playwright/mcp@latest --isolated",
        "config": {
          "mcpServers": {
            "playwright": {
              "args": [
                "-y",
                "@playwright/mcp@latest",
                "--isolated"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/browser.control",
        "tool": "https://letme.dev/playwright-mcp"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "azure-mcp",
        "azure-translator",
        "microsoft-graph-calendar",
        "dynamics-365-sales",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph"
      ],
      "area": "developer",
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "playwright.dev",
        "domainRegistered": "2019-09-18",
        "domainNote": "playwright.dev is Microsoft's documentation domain for Playwright. The licence names Microsoft Corporation.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/microsoft/playwright-mcp/releases",
        "securityTxt": "none",
        "checked": "2026-09-26",
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/playwright-mcp.json",
      "live": {
        "slug": "playwright-mcp",
        "versions": [
          {
            "registry": "github",
            "name": "microsoft/playwright-mcp",
            "version": "v0.0.83",
            "released": "2026-09-28",
            "seenAt": "2026-10-08T16:25:38.60261262Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.microsoft/playwright-mcp",
            "version": "0.0.82",
            "seenAt": "2026-10-08T02:42:52.272076636Z"
          },
          {
            "registry": "npm",
            "name": "@playwright/mcp",
            "version": "0.0.83",
            "seenAt": "2026-10-08T16:25:36.646336319Z"
          }
        ],
        "githubStars": 37930,
        "npmWeekly": 8987267,
        "securityTxt": {
          "url": "https://playwright.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:56.716588343Z"
        },
        "domain": {
          "domain": "playwright.dev",
          "registered": "2019-09-18",
          "source": "https://pubapi.registry.google/rdap/domain/playwright.dev",
          "checkedAt": "2026-10-04T13:09:32.042470742Z"
        },
        "updatedAt": "2026-10-08T16:25:38.60261262Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "browserless.io, Inc.",
        "b": "Microsoft",
        "name": "Vendor"
      },
      {
        "a": "https://production-sfo.browserless.io",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "stdio, Streamable HTTP, SSE (legacy)",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "SSPL 1.0 or a commercial licence for the core server and the MCP server. The BAP TypeScript SDK is MIT. BrowserQL, stealth and other cloud additions are proprietary",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "14",
        "b": "72",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.microsoft/playwright-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-05",
        "b": "2026-09-28",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "14k stars, 3.5k npm/wk",
        "b": "37k stars, 5.3M npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Browserless scores 70.4 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 2 of 7 scored categories. Playwright MCP leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Browserless or Playwright MCP?"
      },
      {
        "answer": "Browserless takes an API key or an OAuth sign-in. Playwright MCP needs no key.",
        "question": "Do Browserless and Playwright MCP need an API key?"
      },
      {
        "answer": "Browserless has a hosted endpoint at https://production-sfo.browserless.io. Playwright MCP runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Browserless and Playwright MCP without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Browserless. Playwright MCP is open source (Apache-2.0).",
        "question": "Are Browserless and Playwright MCP open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 82 against 57",
          "Schema \u0026 documentation, 89 against 70"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "A hosted endpoint, with nothing to install",
          "Free to start without a card"
        ],
        "goodFor": "Agents that need a real browser in the cloud with stealth, proxies and CAPTCHA solving, and teams that want the option of running the same server themselves.",
        "slug": "browserless",
        "watchFor": "REST and WebSocket routes take the API token as `?token=` in the URL, which the docs give as the standard method"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 84 against 78",
          "Payments \u0026 pricing, 60 against 40",
          "Transparency \u0026 trust, 72 against 62"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "The default choice for an agent that drives web pages by structure rather than pixels. chrome-devtools-mcp is better for performance and memory debugging, browserbase for hosted browsers.",
        "slug": "playwright-mcp",
        "watchFor": "`browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off"
      }
    ],
    "job": {
      "capability": "browser.control",
      "name": "Browser automation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-browserless.json",
        "title": "Airtop vs Browserless",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-browserless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/airtop-vs-playwright-mcp.json",
        "title": "Airtop vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/airtop-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anchor-browser-vs-browserless.json",
        "title": "Anchor Browser vs Browserless",
        "url": "https://www.anchorterminal.com/compare/anchor-browser-vs-browserless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anchor-browser-vs-playwright-mcp.json",
        "title": "Anchor Browser vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/anchor-browser-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browser-use-vs-browserless.json",
        "title": "Browser Use vs Browserless",
        "url": "https://www.anchorterminal.com/compare/browser-use-vs-browserless"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browser-use-vs-playwright-mcp.json",
        "title": "Browser Use vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/browser-use-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserbase-vs-playwright-mcp.json",
        "title": "Browserbase vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/browserbase-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-chrome-devtools-mcp.json",
        "title": "Browserless vs Chrome DevTools MCP",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-chrome-devtools-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-hyperbrowser.json",
        "title": "Browserless vs Hyperbrowser",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-hyperbrowser"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-notte.json",
        "title": "Browserless vs Notte",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-notte"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-puppeteer-reference-server-archived.json",
        "title": "Browserless vs Puppeteer (archived MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-puppeteer-reference-server-archived"
      },
      {
        "json": "https://www.anchorterminal.com/compare/browserless-vs-skyvern.json",
        "title": "Browserless vs Skyvern",
        "url": "https://www.anchorterminal.com/compare/browserless-vs-skyvern"
      },
      {
        "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-playwright-mcp.json",
        "title": "Chrome DevTools MCP vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperbrowser-vs-playwright-mcp.json",
        "title": "Hyperbrowser vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/hyperbrowser-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/notte-vs-playwright-mcp.json",
        "title": "Notte vs Playwright MCP",
        "url": "https://www.anchorterminal.com/compare/notte-vs-playwright-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer-reference-server-archived.json",
        "title": "Playwright MCP vs Puppeteer (archived MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer-reference-server-archived"
      },
      {
        "json": "https://www.anchorterminal.com/compare/playwright-mcp-vs-skyvern.json",
        "title": "Playwright MCP vs Skyvern",
        "url": "https://www.anchorterminal.com/compare/playwright-mcp-vs-skyvern"
      },
      {
        "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/browserbase-vs-browserless.json",
        "title": "Browserbase vs Browserless",
        "url": "https://www.anchorterminal.com/compare/browserbase-vs-browserless"
      }
    ],
    "scores": [
      {
        "browserless": 82,
        "by": 25,
        "edge": "browserless",
        "key": "reliability",
        "name": "Reliability",
        "playwright-mcp": 57,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "browserless": 89,
        "by": 19,
        "edge": "browserless",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "playwright-mcp": 70,
        "weight": 13
      },
      {
        "browserless": 78,
        "by": 6,
        "edge": "playwright-mcp",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "playwright-mcp": 84,
        "weight": 13
      },
      {
        "browserless": 53,
        "by": 4,
        "edge": "playwright-mcp",
        "key": "security",
        "name": "Security \u0026 auth",
        "playwright-mcp": 57,
        "weight": 14
      },
      {
        "browserless": 40,
        "by": 20,
        "edge": "playwright-mcp",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "playwright-mcp": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "browserless": 82,
        "by": 2,
        "edge": "playwright-mcp",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "playwright-mcp": 84,
        "weight": 7
      },
      {
        "browserless": 62,
        "by": 10,
        "edge": "playwright-mcp",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "playwright-mcp": 72,
        "weight": 7
      }
    ],
    "summary": "Browserless scores 70.4 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 2 of 7 scored categories. Playwright MCP leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust. Both do browser automation.",
    "verdicts": {
      "browserless": "An OpenAPI document, llms.txt and a 14-tool MCP server with annotations on every tool make the service easy for an agent to read, and the free plan needs no card. The API token travels in the URL query string by default, cloud tokens carry no scopes, and no machine payment route exists.",
      "playwright-mcp": "Accessibility snapshots with `depth` limits and `browser_find`, so the agent reads less of the page. `browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp",
    "json": "https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp.md",
    "slim": "https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp.min.md"
  },
  "markdown": "Browserless scores 70.4 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 2 of 7 scored categories. Playwright MCP leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust. Both do browser automation.\n\n- Browserless: grade BB, 70.4/100, rank #128 of 629. Markdown https://www.anchorterminal.com/tools/browserless.md · JSON https://www.anchorterminal.com/api/v1/tools/browserless.json\n- Playwright MCP: grade B, 67.6/100, rank #189 of 629. Markdown https://www.anchorterminal.com/tools/playwright-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/playwright-mcp.json\n\n## Which one, for what\n\n### Browserless (BB)\n\nGood for: Agents that need a real browser in the cloud with stealth, proxies and CAPTCHA solving, and teams that want the option of running the same server themselves.\n\nAhead on:\n- Reliability, 82 against 57\n- Schema \u0026 documentation, 89 against 70\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- A hosted endpoint, with nothing to install\n- Free to start without a card\n\nWatch for: REST and WebSocket routes take the API token as `?token=` in the URL, which the docs give as the standard method\n\n### Playwright MCP (B)\n\nGood for: The default choice for an agent that drives web pages by structure rather than pixels. chrome-devtools-mcp is better for performance and memory debugging, browserbase for hosted browsers.\n\nAhead on:\n- Agent ergonomics, 84 against 78\n- Payments \u0026 pricing, 60 against 40\n- Transparency \u0026 trust, 72 against 62\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: `browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off\n\n\n## Score by category\n\n| Category | Weight | Browserless | Playwright MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 82 | 57 | Browserless +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 70 | Browserless +19 |\n| Agent ergonomics | 13% (16.2 this run) | 78 | 84 | Playwright MCP +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 53 | 57 | Playwright MCP +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 60 | Playwright MCP +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 84 | Playwright MCP +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 72 | Playwright MCP +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **70.4 · BB** | **67.6 · B** | |\n\n## Facts side by side\n\n| Fact | Browserless | Playwright MCP |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | browserless.io, Inc. | Microsoft |\n| Hosted endpoint | `https://production-sfo.browserless.io` | no (local only) |\n| Transports | HTTP, Streamable HTTP, stdio | stdio, Streamable HTTP, SSE (legacy) |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | SSPL 1.0 or a commercial licence for the core server and the MCP server. The BAP TypeScript SDK is MIT. BrowserQL, stealth and other cloud additions are proprietary | Apache-2.0 |\n| Tools exposed | 14 | 72 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | no |\n| MCP registry | not listed | `io.github.microsoft/playwright-mcp` |\n| Last release | 2026-10-05 | 2026-09-28 |\n| Terms last updated | no date given | no document linked |\n| Privacy policy last updated | no date given | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | yes |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | yes |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 14k stars, 3.5k npm/wk | 37k stars, 5.3M npm/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## Verdicts\n\n**Browserless.** An OpenAPI document, llms.txt and a 14-tool MCP server with annotations on every tool make the service easy for an agent to read, and the free plan needs no card. The API token travels in the URL query string by default, cloud tokens carry no scopes, and no machine payment route exists.\n\n**Playwright MCP.** Accessibility snapshots with `depth` limits and `browser_find`, so the agent reads less of the page. `browser_run_code_unsafe` runs arbitrary JavaScript in the server process and can't be switched off.\n\n## Before you call either\n\n### Browserless\n\n1. Send the token as `Authorization: Bearer` to the MCP server. On REST and WebSocket routes it goes in `?token=`, so keep those URLs out of logs\n2. Close sessions as soon as the work is done. Browser time bills one unit per 30 seconds, rounded up, idle or not\n3. For multi-step work with `browserless_agent`, set `keepSessionAlive: true` on the first call and pass the returned `sessionId` after that. Sessions are one-shot by default since server 1.33.0\n4. On 429, back off and retry. It means the plan's concurrency limit or queue is full, usually from sessions left open\n5. Match the path to the protocol. Use `/chromium` for CDP clients and `/chromium/playwright` only for `playwright.connect()`\n\n### Playwright MCP\n\n1. Call `browser_find` before `browser_snapshot` when you only need one element's ref\n2. Pass `depth` or a `target` to `browser_snapshot` on large pages\n3. Run with `--isolated` for untrusted sites. The default profile persists cookies between runs\n4. Add `--caps` only for the groups the task needs. Each group adds tools to the schema\n5. Pin a version in `npx @playwright/mcp@\u003cversion\u003e`. 0.0.x releases can rename tools\n\n## Questions\n\n### Which is better for AI agents, Browserless or Playwright MCP?\n\nBrowserless scores 70.4 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 2 of 7 scored categories. Playwright MCP leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust.\n\n### Do Browserless and Playwright MCP need an API key?\n\nBrowserless takes an API key or an OAuth sign-in. Playwright MCP needs no key.\n\n### Can an agent call Browserless and Playwright MCP without installing anything?\n\nBrowserless has a hosted endpoint at https://production-sfo.browserless.io. Playwright MCP runs on your own machine, with no hosted endpoint listed.\n\n### Are Browserless and Playwright MCP open source?\n\nNo open-source release is listed for Browserless. Playwright MCP is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"browserless\", \"b\": \"playwright-mcp\"}`. From a terminal: `anchor compare browserless playwright-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/browserless.json and https://www.anchorterminal.com/api/v1/tools/playwright-mcp.json\n\n## Other comparisons with Browserless or Playwright MCP\n\n- [Airtop vs Browserless](https://www.anchorterminal.com/compare/airtop-vs-browserless.md)\n- [Airtop vs Playwright MCP](https://www.anchorterminal.com/compare/airtop-vs-playwright-mcp.md)\n- [Anchor Browser vs Browserless](https://www.anchorterminal.com/compare/anchor-browser-vs-browserless.md)\n- [Anchor Browser vs Playwright MCP](https://www.anchorterminal.com/compare/anchor-browser-vs-playwright-mcp.md)\n- [Browser Use vs Browserless](https://www.anchorterminal.com/compare/browser-use-vs-browserless.md)\n- [Browser Use vs Playwright MCP](https://www.anchorterminal.com/compare/browser-use-vs-playwright-mcp.md)\n- [Browserbase vs Playwright MCP](https://www.anchorterminal.com/compare/browserbase-vs-playwright-mcp.md)\n- [Browserless vs Chrome DevTools MCP](https://www.anchorterminal.com/compare/browserless-vs-chrome-devtools-mcp.md)\n- [Browserless vs Hyperbrowser](https://www.anchorterminal.com/compare/browserless-vs-hyperbrowser.md)\n- [Browserless vs Notte](https://www.anchorterminal.com/compare/browserless-vs-notte.md)\n- [Browserless vs Puppeteer (archived MCP reference server)](https://www.anchorterminal.com/compare/browserless-vs-puppeteer-reference-server-archived.md)\n- [Browserless vs Skyvern](https://www.anchorterminal.com/compare/browserless-vs-skyvern.md)\n- [Browserless vs Steel](https://www.anchorterminal.com/compare/browserless-vs-steel.md)\n- [Chrome DevTools MCP vs Playwright MCP](https://www.anchorterminal.com/compare/chrome-devtools-mcp-vs-playwright-mcp.md)\n- [Hyperbrowser vs Playwright MCP](https://www.anchorterminal.com/compare/hyperbrowser-vs-playwright-mcp.md)\n- [Notte vs Playwright MCP](https://www.anchorterminal.com/compare/notte-vs-playwright-mcp.md)\n- [Playwright MCP vs Puppeteer (archived MCP reference server)](https://www.anchorterminal.com/compare/playwright-mcp-vs-puppeteer-reference-server-archived.md)\n- [Playwright MCP vs Skyvern](https://www.anchorterminal.com/compare/playwright-mcp-vs-skyvern.md)\n- [Playwright MCP vs Steel](https://www.anchorterminal.com/compare/playwright-mcp-vs-steel.md)\n- [Browserbase vs Browserless](https://www.anchorterminal.com/compare/browserbase-vs-browserless.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "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": "Browserless vs Playwright MCP",
        "url": ""
      }
    ],
    "description": "Browserless scores 70.4 (BB) on agent readiness against Playwright MCP's 67.6 (B), and leads in 2 of 7 scored categories. Playwright MCP leads on agent ergonomics, payments \u0026 pricing and transparency \u0026 trust. Both do browser automation. Category scores, facts, verdicts and agent…",
    "facts": [
      "Browserless BB 70.4",
      "Playwright MCP B 67.6",
      "scores"
    ],
    "h1": "Browserless vs Playwright MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-browserless-vs-playwright-mcp.png",
    "path": "/compare/browserless-vs-playwright-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Browserless vs Playwright MCP for AI agents, BB 70.4 vs B 67.6",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/browserless-vs-playwright-mcp"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 830
  },
  "version": 1
}
