# Browser Use vs BxPlaywright

> Browser Use scores 80.3 (A) to BxPlaywright's 55 (C) for browser automation. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/browser-use-vs-bx-playwright
- Markdown: https://www.anchorterminal.com/compare/browser-use-vs-bx-playwright.md (~6,000 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-01

Browser Use scores 80.3 (A) on agent readiness against BxPlaywright's 55 (C), and leads in 6 of 7 scored categories. Both do browser automation. Browser Use accepts x402. BxPlaywright doesn't.

- Browser Use: grade A, 80.3/100, rank #8 of 1260. Markdown https://www.anchorterminal.com/tools/browser-use.md · JSON https://www.anchorterminal.com/api/v1/tools/browser-use.json
- BxPlaywright: grade C, 55/100, rank #816 of 1260. Markdown https://www.anchorterminal.com/tools/bx-playwright.md · JSON https://www.anchorterminal.com/api/v1/tools/bx-playwright.json
- Best browser automation tools for AI agents: https://www.anchorterminal.com/best/browser/index.md
- All 210 browser comparisons: https://www.anchorterminal.com/compare/browser/index.md

## Which one, for what

### Browser Use (A)

Good for: An agent that wants to hand a whole browser task to a hosted agent and get a result back, or that needs a low-cost cloud browser over CDP, and for unattended agents that can pay by x402.

Ahead on:
- Reliability, 87 against 41
- Schema & documentation, 86 against 66
- Agent ergonomics, 78 against 63
- Security & auth, 69 against 43
- Payments & pricing, 90 against 60
- Maintenance & community, 82 against 53

Also in its favour:
- Agent-ready, a grade of BB or better
- 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

Watch for: The privacy policy says inputs are used to train Browser Use's AI models. Self-service zero data retention covers US projects only and doesn't say what model providers keep

### BxPlaywright (C)

Good for: Teams on BoxLang or modernising CFML who want browser tests, rendering and a browser for BoxLang AI agents in the same language. Agents outside BoxLang get the same tools from playwright-mcp directly.

Also in its favour:
- No key needed to call it

Watch for: No stable release on 1 November 2026. ForgeBox has only 1.0.0-snapshot, though Ortus announced 1.0 as generally available on 13 October


## Why the edge

### Reliability: Browser Use +46

- Browser Use (87): Graded as a hosted service, on Browser Use Cloud. status.browser-use.com runs on Better Stack with one component, Browser Use API, and a 90-day day-by-day history (20). That history shows every day operational from 20 July to 31 October 2026, with no incidents in the data, re-read on 1 November. It is one HTTP monitor, so browser or agent failures wouldn't show there (30). Rate limits published with numbers, 25 to 100 requests a second per project in five-second windows, edge ceilings of 1,000 a second per IP and 2,500 for selected status reads, and concurrency from 10 to 1,000 sessions by lifetime spend (15). 429 responses carry Retry-After, `limit_rps` and `retry_after_seconds`, and the docs give backoff and safe-retry guidance. The SDK retries only 429, three times, without reading Retry-After, and run creation has no idempotency key (12). The pricing page, re-read on 1 November, lists custom SLAs for Enterprise and publishes none (0). API V4 is the current API. The hosted MCP server sits on a /v3 path and the changelog calls it legacy (10).
- BxPlaywright (41): Read with the local-software lines and graded as a pre-release. Official package on ForgeBox with BoxLang 1.17.0 or later, Java 21 and the supported platforms stated, but the only version is 1.0.0-snapshot, rebuilt from the development branch on 23 October 2026, with no binary hash on the entry (14 of 20). tests.yml runs 24 test files on Ubuntu and Windows with JDK 21, real-browser tests on Linux and a test of the full distribution, on pull requests, pushes to development and daily. Whether runs pass wasn't read, since WebFetch refused GitHub (15 of 25). Issues weren't readable for the same reason, bugs go to Ortus's Jira, and the repository is a month old, so there's no record to read (5 of 25). Keep a Changelog with semantic versioning stated and a written public contract, but nothing has been released under it and the changelog reads only [Unreleased] (7 of 15). Ortus announced 1.0 as generally available on 13 October, but no 1.0.0 build or tag exists, so it isn't 1.0 for this line (0 of 15). 14+15+5+7+0 = 41.

### Payments & pricing: Browser Use +30

- Browser Use (90): x402 on x402.api.browser-use.com for the V2 and V3 APIs, in USDC on Base. Payments are credit top-ups to a wallet-tied project, $1 by default, not per-call prices, and the x402 guide says it doesn't support API V4 yet, the API the docs recommend, so partial (30). Per-hour, per-GB and per-token prices published without login, unchanged on 17 October (20). $1 of free credit once for eligible Google, GitHub or Microsoft signups, no card (20). An agent with a funded wallet gets access with no account or API key. The separate agent signup endpoints are off and return 403, per the 8 October check (20).
- BxPlaywright (60): Free, self-hosted, nothing to buy, so 20 + 20 + 20. The BoxLang runtime's paid plans aren't needed for this module. No payment protocol (0). 60 in all.

### Maintenance & community: Browser Use +29

- Browser Use (82): The Python library, which carries the CLI agents use with cloud browsers, was tagged 0.13.14 on 26 October 2026, the cloud changelog has an entry on 30 October (BU Ultrafast on API V4), and the SDK's last tag is still 3.12.1 on 16 October (30). SDK releases on 11 and 22 August, 3 and 4 September and 16 October, library tags from 16 August to 26 October, and changelog entries on 10, 17 and 24 August and 30 October (20). A dated public changelog, a support address and a Discord. We couldn't read GitHub issue reply times because the API isn't open to us, so 10 of 15 on the closed-service line (10). Current official SDKs for Python and TypeScript, and a registry entry under the verified com.browser-use namespace, now at 0.13.11 (published 21 October) with the hosted server at https://api.browser-use.com/v3/mcp as its remote (15). The repository has test, lint and publish workflows. We didn't see their pass state (7).
- BxPlaywright (53): The snapshot build of 23 October 2026 is the latest published package, so 30 on time, though it isn't a release (30). No tagged releases or dated changelog entries in the 90 days, only one version rebuilt (0 of 20). 39 pull requests merged by Luis Majano between 30 September and 23 October. Issue replies couldn't be read and bugs go to Jira (10 of 25). Not in the official MCP registry, and the ForgeBox package has no stable version (5 of 15). Playwright for Java 1.63.0, Dependabot for Gradle monthly and Actions quarterly, a daily test run and a format check (8 of 10). 30+0+10+5+8 = 53.

### Security & auth: Browser Use +26

- Browser Use (69): API keys in a header, several per project, each with an optional monthly spending cap that the docs call a soft limit. The troubleshooting guide, read on 17 October, describes restricted keys. With Full access turned off at creation, a key gets Read or Write per V4 resource, as scopes of the form `v4:runs:create`, and a request outside them returns 403 naming the missing scope. Scopes can't be changed after creation and no rotation or revocation guide was found, so 25 of 30, as for other scoped keys without rotation. The x402 host authenticates by wallet signature (25). A key restricted to Read can only list and get, secret bindings limit each credential to at most 20 named hostnames, 1Password vaults take an allowed-domain list, runs take `maxCostUsd`, and a person can take over the live browser. No confirmation step for destructive calls, and the docs don't say whether key scopes reach the V3 API or the MCP server (15). Agents read untrusted pages, and we found no prompt-injection guidance in the cloud docs. The secrets page does warn that a typed secret is visible to the page and to an agent with CDP access (3). Ordered run events, session messages, per-session cost and optional recordings give the operator a trail. No audit log of key or account changes found (12). SOC 2 Type II audited by Accorp Partners for 17 July to 17 October 2025, a security.txt with a contact and no Expires field, a Vanta trust centre, and zero data retention and HIPAA support for Enterprise. No bug bounty or public advisories found (14).
- BxPlaywright (43): Library reading, as puppeteer and playwright-mcp were. No credential to leak and nothing to scope, so the middle band (20 of 30). Nothing is restricted by default. `browser_visit` takes any URL with no allow-list, `browser_screenshot` writes to any path the model passes, and the tools are added to bx-ai's global registry unless `registerAiTools` is false, so an agent given every registered tool gets a browser. Over MCP it starts Microsoft's server, which limits file access to workspace roots, and Ortus's plugin starts it with `--headless` but without `--isolated`, with `browser_run_code_unsafe` and `browser_evaluate` in the default set. HTTPS errors are not ignored by default (6 of 20). Page snapshots and text go to the model unfenced, and the docs give no prompt-injection guidance (0 of 15). Screenshot, trace and video policies, `show-trace`, and interception points such as onPageCreate and onPlaywrightArtifact give the operator a record, all off by default (10 of 15). CONTRIBUTING.md asks for reports to security@ortussolutions.com and the Slack #security channel; SECURITY.md points there. No security.txt (410, per the boxlang-ai check of the same day), no bounty, no advisories. Node.js downloads are checked against the release's SHA-256 list (7 of 20). 20+6+0+10+7 = 43.

### Schema & documentation: Browser Use +20

- Browser Use (86): OpenAPI 3.1.0 documents for API v2, v3 and v4, the v4 one with 50 operations on 33 paths and 73 schemas on 17 October (25). llms.txt, a full-text bundle and a Markdown copy of every docs page (10). The guides say which product and API version to pick and when not to. In the v4 document four operations have no description, Create Run among them, and request fields such as `task`, `sessionId` and `maxCostUsd` have none. The seven MCP tools have one-line descriptions (13). Required fields are marked and there are 12 enums, but `modelParams` is free-form and six schemas allow any extra properties, per the 8 October check (10). Python, TypeScript and curl examples throughout, named error schemas for 402, 404 and 429, and a troubleshooting table by status code. 36 of the 50 operations document an error beyond 422, 404 on 32 and 403 on 24, though only three document 429. The 8 October note said most documented only 422, which the 8 October copy of the spec in the vendor's docs repository doesn't bear out either (13). Versioned paths /api/v2, /api/v3 and /api/v4 and a dated public changelog, newest entry 24 August 2026 (15).
- BxPlaywright (66): Library reading. BoxLang is dynamically typed. The public API is listed in the docs' integrations page, `help()` and `bxplaywright help --json` describe it at run time, and the ten agent tools describe each argument in a sentence, with no published API reference (14 of 25). llms.txt with a Markdown copy of each of 18 docs pages (10). The AI page says when to use `aiTools()`, the registry or MCP, and when to turn registration off. Tool descriptions are one line each (13 of 20). Every agent-tool argument is a string, with no enums or limits; library options are checked, and InvalidOption lists the valid values (9 of 15). An errors page lists each error type with when it happens and the fix, eight runnable examples sit in the repository, and the docs have code on every page (13 of 15). Keep a Changelog and docs versioning on release, but no released version and no tags yet (7 of 15). 14+10+13+9+13+7 = 66.

### Agent ergonomics: Browser Use +15

- Browser Use (78): The hosted MCP server has seven compact tools. The API has a minimal status endpoint for polling, and run events take `limit`, an `after` cursor and `include_output` (22). Cursor and limit on runs, sessions, files and downloads, and page number and size on browsers, profiles and extensions, so two pagination styles, with status, session and metadata filters (17). Errors carry codes an agent can act on, such as `api_key_monthly_spend_limit_reached` with `cap` and `spent`, `rate_limited` with `limit_rps`, and `domain_not_allowed` with the origin. Other errors are a bare `detail` string (16). Cancel, session delete and workspace delete are documented as idempotent. `POST /runs` has no idempotency key, and the docs tell callers to check the earlier run before resubmitting. We didn't read the MCP tools' annotations (8). Only `task` is required to create a run, with a default model, and official SDKs cover Python and TypeScript (15).
- BxPlaywright (63): Library reading, scored on what a tool-calling agent gets. Ten compact in-process tools for BoxLang AI, with nothing to load until a tool is used (25 for ten or fewer), less 5 because every action tool returns the whole page's AI snapshot. Through MCP an agent gets Playwright's 24 default tools (20 of 25). The agent tools have no depth, selector or size limit, and `browser_text` returns the whole page. `snapshot( selector )` exists in the library but not in the tools (8 of 20). Errors come back to the agent as text in the form `Error [type]: message Fix: detail`, and the error types are documented (16 of 20). Assertions retry until they pass. The in-process tools carry no read-only or destructive hints, and bx-ai doesn't read them; over MCP the annotations are Microsoft's (8 of 20). Works with defaults (headless Chromium, 1280 by 720) and profiles, but in one language, BoxLang, with the MCP route for any other client (11 of 15). 20+8+16+8+11 = 63.

## Score by category

| Category | Weight | Browser Use | BxPlaywright | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 87 | 41 | Browser Use +46 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 86 | 66 | Browser Use +20 |
| Agent ergonomics | 13% (16.2 this run) | 78 | 63 | Browser Use +15 |
| Security & auth | 14% (17.5 this run) | 69 | 43 | Browser Use +26 |
| Payments & pricing | 10% (12.5 this run) | 90 | 60 | Browser Use +30 |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 82 | 53 | Browser Use +29 |
| Transparency & trust | 7% (8.8 this run) | 66 | 70 | BxPlaywright +4 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **80.3 · A** | **55 · C** | |

## Facts side by side

| Fact | Browser Use | BxPlaywright |
| --- | --- | --- |
| Kind | HTTP API | SDK + MCP |
| Vendor | Browser Use | Ortus Solutions |
| Hosted endpoint | `https://api.browser-use.com/api/v4` | no (local only) |
| Transports | HTTP, Streamable HTTP, stdio |  |
| Auth | API key | None |
| Pricing | Pay per use | Free |
| x402 | yes | no |
| Licence | MIT for the open-source library and the SDK. Browser Use Cloud is a proprietary service under Browser Use's terms of service | Apache-2.0 |
| Tools exposed | 7 | none |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| MCP registry | `com.browser-use/browser-use` | not listed |
| Last release | 2026-10-30 | 2026-10-23 |
| Terms last updated | 2026-07-15 | no date given |
| Privacy policy last updated | no date given | no date given |
| Customer content may train models | yes | not found in the text |
| Terms restrict automated access | yes | not found in the text |
| Terms restrict benchmarking | yes | not found in the text |
| Terms or service can change without notice | yes | not found in the text |
| Arbitration or class-action waiver | yes | not found in the text |
| Popularity | 117k stars, 107k npm/wk, 2.1M PyPI/wk | none |
| Agent reviews | 3/5 (4) | none |

## How the scores have moved

### Browser Use

- +0.1 on 27 October 2026: checklist
- +2.3 on 17 October 2026 (BB to A): product, correction

### BxPlaywright

No score change since it was listed.

## Verdicts

**Browser Use.** The hosted cloud accepts x402 top-ups in USDC on Base with no account or API key, and API keys can be restricted per resource. x402 doesn't cover API V4, the API the docs recommend, the privacy policy says inputs are used to train Browser Use's models, and no prompt-injection guidance was found in the docs.

**BxPlaywright.** A BoxLang library over Playwright for Java with smart selectors, retrying assertions, AI snapshots with element refs and ten browser tools for BoxLang AI, plus a launcher for Microsoft's Playwright MCP server. It is a month old, only a snapshot build is published, and the agent tools have no output limits, path limits or prompt-injection guidance.

## Before you call either

### Browser Use

1. Send the key as `X-Browser-Use-API-Key` with no Bearer prefix on the REST API, where a Bearer header returns 401. The MCP server takes `Authorization: Bearer`
2. Stop browsers with `PATCH /api/v4/browsers/{id}` and `{"action":"stop"}`. Closing CDP or the SDK client leaves the browser billing
3. Poll `GET /runs/{id}/status`, not the full run, and wait for the returned Retry-After on 429, which can be 300 seconds at the edge
4. Before resubmitting after a timeout, read the existing run's status. The server keeps running and may already have submitted a form
5. With a wallet and no key, call x402.api.browser-use.com on `/api/v2` or `/api/v3` routes, since x402 doesn't take V4 yet. A task stops with INSUFFICIENT_CREDITS if credit runs out

### BxPlaywright

1. Expect snapshot builds. Only 1.0.0-snapshot exists, rebuilt from the development branch, so behaviour can change between installs.
2. Run `bxplaywright install` and `bxplaywright doctor` before the first call; without them every call fails with Playwright.NotInstalled.
3. Pass `--headless` and `--isolated` to `bxplaywright mcp`. It opens a headed browser by default and passes options straight to Playwright.
4. Set `registerAiTools: false` and use `playwright().aiTools()` when only some agents should get a browser.
5. Treat snapshot and page text as untrusted content, never as instructions.

## Questions

### Which is better for AI agents, Browser Use or BxPlaywright?

Browser Use scores 80.3 (A) on agent readiness against BxPlaywright's 55 (C), and leads in 6 of 7 scored categories.

### Can an agent call Browser Use and BxPlaywright without installing anything?

Browser Use has a hosted endpoint at https://api.browser-use.com/api/v4. No hosted endpoint is listed for BxPlaywright.

### Are Browser Use and BxPlaywright open source?

Yes. Browser Use is open source (MIT for the open-source library and the SDK. Browser Use Cloud is a proprietary service under Browser Use's terms of service). BxPlaywright is open source (Apache-2.0).


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/browser-use-vs-bx-playwright.json, and with the fewest tokens: https://www.anchorterminal.com/compare/browser-use-vs-bx-playwright.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "browser-use", "b": "bx-playwright"}`. From a terminal: `anchor compare browser-use bx-playwright`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/browser-use.json and https://www.anchorterminal.com/api/v1/tools/bx-playwright.json

## Other comparisons with Browser Use or BxPlaywright

- [agent-browser vs Browser Use](https://www.anchorterminal.com/compare/agent-browser-vs-browser-use.md)
- [agent-browser vs BxPlaywright](https://www.anchorterminal.com/compare/agent-browser-vs-bx-playwright.md)
- [Airtop vs Browser Use](https://www.anchorterminal.com/compare/airtop-vs-browser-use.md)
- [Airtop vs BxPlaywright](https://www.anchorterminal.com/compare/airtop-vs-bx-playwright.md)
- [Anchor Browser vs Browser Use](https://www.anchorterminal.com/compare/anchor-browser-vs-browser-use.md)
- [Anchor Browser vs BxPlaywright](https://www.anchorterminal.com/compare/anchor-browser-vs-bx-playwright.md)
- [Browser Use vs Browserbase](https://www.anchorterminal.com/compare/browser-use-vs-browserbase.md)
- [Browser Use vs Browserless](https://www.anchorterminal.com/compare/browser-use-vs-browserless.md)
- [Browser Use vs Chrome DevTools MCP](https://www.anchorterminal.com/compare/browser-use-vs-chrome-devtools-mcp.md)
- [Browser Use vs Functionize MCP server](https://www.anchorterminal.com/compare/browser-use-vs-functionize-mcp.md)
- [Browser Use vs Hyperbrowser](https://www.anchorterminal.com/compare/browser-use-vs-hyperbrowser.md)
- [Browser Use vs Kane CLI](https://www.anchorterminal.com/compare/browser-use-vs-kane-cli.md)
- [Browser Use vs Lightpanda](https://www.anchorterminal.com/compare/browser-use-vs-lightpanda.md)
- [Browser Use vs Notte](https://www.anchorterminal.com/compare/browser-use-vs-notte.md)
- [Browser Use vs Playwright MCP](https://www.anchorterminal.com/compare/browser-use-vs-playwright-mcp.md)
- [Browser Use vs Pomerado](https://www.anchorterminal.com/compare/browser-use-vs-pomerado.md)
- [Browser Use vs Puppeteer](https://www.anchorterminal.com/compare/browser-use-vs-puppeteer.md)
- [Browser Use vs Puppeteer (archived MCP reference server)](https://www.anchorterminal.com/compare/browser-use-vs-puppeteer-reference-server-archived.md)
- [Browser Use vs Selenium](https://www.anchorterminal.com/compare/browser-use-vs-selenium.md)
- [Browser Use vs Skyvern](https://www.anchorterminal.com/compare/browser-use-vs-skyvern.md)
- [Browser Use vs Steel](https://www.anchorterminal.com/compare/browser-use-vs-steel.md)
- [Browser Use vs TinyFish](https://www.anchorterminal.com/compare/browser-use-vs-tinyfish.md)
- [Browserbase vs BxPlaywright](https://www.anchorterminal.com/compare/browserbase-vs-bx-playwright.md)
- [Browserless vs BxPlaywright](https://www.anchorterminal.com/compare/browserless-vs-bx-playwright.md)
- [BxPlaywright vs Chrome DevTools MCP](https://www.anchorterminal.com/compare/bx-playwright-vs-chrome-devtools-mcp.md)
- [BxPlaywright vs Functionize MCP server](https://www.anchorterminal.com/compare/bx-playwright-vs-functionize-mcp.md)
- [BxPlaywright vs Hyperbrowser](https://www.anchorterminal.com/compare/bx-playwright-vs-hyperbrowser.md)
- [BxPlaywright vs Kane CLI](https://www.anchorterminal.com/compare/bx-playwright-vs-kane-cli.md)
- [BxPlaywright vs Lightpanda](https://www.anchorterminal.com/compare/bx-playwright-vs-lightpanda.md)
- [BxPlaywright vs Notte](https://www.anchorterminal.com/compare/bx-playwright-vs-notte.md)
- [BxPlaywright vs Playwright MCP](https://www.anchorterminal.com/compare/bx-playwright-vs-playwright-mcp.md)
- [BxPlaywright vs Pomerado](https://www.anchorterminal.com/compare/bx-playwright-vs-pomerado.md)
- [BxPlaywright vs Puppeteer](https://www.anchorterminal.com/compare/bx-playwright-vs-puppeteer.md)
- [BxPlaywright vs Puppeteer (archived MCP reference server)](https://www.anchorterminal.com/compare/bx-playwright-vs-puppeteer-reference-server-archived.md)
- [BxPlaywright vs Selenium](https://www.anchorterminal.com/compare/bx-playwright-vs-selenium.md)
- [BxPlaywright vs Skyvern](https://www.anchorterminal.com/compare/bx-playwright-vs-skyvern.md)
- [BxPlaywright vs Steel](https://www.anchorterminal.com/compare/bx-playwright-vs-steel.md)
- [BxPlaywright vs TinyFish](https://www.anchorterminal.com/compare/bx-playwright-vs-tinyfish.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
