Stack Gems
Menu

Tag

Browser automation tools

Drive a browser programmatically. 26 reviewed tools: 25 free or open source, 1 paid or paid-led.

Order: free and open source first, then hosted products with a real free tier, then paid-led; catalog order inside each group, with quiet or archived repos last. Not a score, and no tool pays for its place.

26 tools

  • StagehandAI-native browser automation that mixes code and natural language

    Free / OSS · OSS/MIT · 25.7k GitHub stars

    VerdictThe right abstraction for browser automation that needs to survive UI changes.

    CatchAI calls add latency and cost. The natural-language parts are only as reliable as the underlying model. Debugging AI-driven steps is harder than debugging selectors.

  • Browser UseOpen-source framework for LLM-driven browser agents

    Free / OSS · OSS/MIT · 118k GitHub stars

    VerdictThe open-source foundation for browser-based AI agents.

    CatchYou need browser infrastructure—Browser Use is a framework, not a managed service. Token consumption scales with page complexity. Anti-bot measures will block you without stealth tooling.

  • Playwright MCPOfficial Microsoft MCP server for Playwright browser automation

    Free / OSS · Apache-2.0 · 38.4k GitHub stars

    VerdictThe standard way to give MCP clients browser access.

    CatchIt is a control interface, not a complete solution. You still need browser infrastructure (local Chromium or Browserbase). No built-in session management, authentication, or scaling.

  • Chrome DevTools MCPOfficial Chrome DevTools as an MCP server for coding agents

    Free / OSS · Apache-2.0 · 53.8k GitHub stars

    VerdictThe MCP browser for agents that need real DevTools, not just clicks.

    Catchchrome-devtools-mcp@1.8.0 engines: "^20.19.0 || ^22.12.0 || >=23". 20.16 and 20.17 fail; 20.19 LTS is in engines. “Node ≥ 22.12” and “Node 20 fails” are both too blunt — README “LTS” is marketing; engines is the catch. A CLI is provided for use without MCP; official CLI docs call it experimental. Complementary to Playwright MCP —DevTools-grade traces, Lighthouse, heap snapshots, and --autoConnect, not a generic scraper or a Playwright replacement. Officially supports Google Chrome and Chrome for Testing only. Exposes browser content to the MCP client—do not point it at sensitive sessions. Usage statistics on by default (opt out with --no-usage-statistics). Needs a current Chrome.

  • agent-browserVercel Labs Rust CLI with compact a11y refs for agents

    Free / OSS · Apache-2.0 · 44.2k GitHub stars

    VerdictThe CLI browser for agents that want refs, not a full DOM dump. Restore or lose the session.

    CatchDefault idle timeout is about one hour: the headless daemon shuts down and discards transient tabs/state unless you passed `--restore` (or another restore key). Headed, Safari/iOS WebDriver, and user-attached browsers are exempt; cloud-provider browsers are not. Tune with `--idle-timeout` or `AGENT_BROWSER_IDLE_TIMEOUT_MS`; `0` disables. This is CDP Chrome, not stealth—anti-bot pages will still block you.

  • PlaywrightApache-2.0 cross-browser library and CLI

    Free / OSS · Apache-2.0 · 98k GitHub stars

    VerdictApache-2.0 browser library. Free; MCP wrapper is a separate gem.

    CatchVs Playwright MCP gem: library/CLI lane; not the MCP wrapper. Heavier than unit tests. Browser downloads and CI images are real ops. Not Stagehand/Browserbase.

  • SteelApache-2.0 browser API for AI agents — self-host or cloud

    Free / OSS · Apache-2.0 · 7.8k GitHub stars

    VerdictApache-2.0 agent browser API. Self-host Steel; pay Browserbase-shaped cloud only if you must.

    CatchVs Browserbase (managed fleet), Stagehand (AI Playwright layer), Browser Use (LLM browser framework): Steel is the browser sandbox/API — bring your own agent logic. Self-host means Chrome resource cost; cloud is freemium/paid convenience. Anti-bot arms race still applies.

  • ScraplingBSD-3 adaptive scrape/crawl framework + MCP

    Free / OSS · BSD-3-Clause · 88.5k GitHub stars

    VerdictBSD-3 adaptive scrape/crawl + MCP. Self-run framework vs Firecrawl-shaped APIs.

    CatchVs Firecrawl-style hosted scrape APIs: Scrapling is a library/framework you run (plus MCP), not a metered scrape SaaS with a managed anti-bot fleet. You own proxies, blockers, and ops; MCP does not erase site ToS or legal risk. Not a general browser-agent product like Browser Use/Steel.

  • Agent ReachMIT eyes for agents — public-web CLI, zero API fees

    Free / OSS · OSS/MIT · 99.2k GitHub stars

    VerdictMIT agent web CLI. Zero API-fee eyes; not Tavily/Exa-grade paid search.

    CatchVs Tavily / Exa (paid search APIs): Agent Reach is CLI eyes on public surfaces without a search SaaS bill — not a ranked enterprise search product with SLAs. Site ToS, auth/cookie setup, and breakage are yours; some platforms need user-controlled sessions. Not a replacement for licensed data APIs.

  • BrowserSkillAttach coding agents to a real logged-in browser without interrupting the session

    Free / OSS · OSS/MIT · 9.2k GitHub stars

    VerdictMIT live-session browser bridge. The no-second-login wedge is real; inherited cookies and permissions are the Catch.

    CatchA live logged-in browser is also a live blast radius: the agent inherits cookies, tabs, permissions, and whatever account is open. Vs Stagehand, Browser Use, and Playwright MCP (separate browser instances or contexts): BrowserSkill trades isolation for continuity. Treat the attached session as the trust boundary, not as a sandbox.

  • TradingView MCPLocal CDP bridge: Claude/agents on your TradingView Desktop charts

    Free / OSS · OSS/MIT · 6.9k GitHub stars

    VerdictOpen MCP for agents on your TradingView Desktop. Paid TV sub required; chart interface layer, not a trading bot.

    CatchYou need a valid paid TradingView subscription plus Desktop with remote debugging enabled — the bridge does not bypass paywalls. Undocumented Electron internals can break on any TradingView update. Vs playwright-mcp / BrowserSkill / Hyperbrowser MCP: this is desktop TradingView CDP, not a general browser or scrape API. Not a trade-execution bot.

  • typesafe-computer-useMIT macOS computer-use loop — OCR + TypeSafe Jev decisions, ~$0.0002/step

    Free / OSS · OSS/MIT · 1.2k GitHub stars

    VerdictCheap macOS computer-use around TypeSafe Jev. OSS loop; paid/waitlisted decision API is the real dependency.

    CatchThe decision brain is closed TypeSafe Jev (paid input tokens, early-access/waitlist) — the loop is OSS, the classifier is not. macOS only. Vs Open Interpreter / browser-use / SemIf: this is GUI clicker + paid System One decisions, not a coding REPL, browser agent, or local logit SemIf gate. A separate writing model is still needed when a text field needs free text.

  • CuaOpen computer-use drivers, sandboxes, MCP, and CUA-S1 decision models

    Free / OSS · AGPL-3.0 · 30.2k GitHub stars

    VerdictMIT computer-use stack with CUA-S1. Reach for desktop/OS control and sandboxes; audit the AGPL omni extra and paid cloud fleet boundary.

    CatchVs BrowserSkill, Stagehand, and Browser Use: Cua is the broader computer-use driver/sandbox/model stack, not only browser automation or a browser-session attach bridge. Optional `omni` extras pull AGPL Ultralytics; cloud fleets are paid. Audit extras and treat a fleet as infrastructure spend, not as part of the MIT core.

  • video-useVideo-editing skill stack for coding agents

    Free / OSS · OSS/MIT · 29.3k GitHub stars

    VerdictMIT local video-editing skills for coding agents. Keep it when you want inspectable FFmpeg workflows; do not mistake it for a browser agent or a turnkey editor.

    CatchVs HyperFrames and Browser Use: video-use is a video-editing skill stack, not browser automation or a general web-use agent. The useful path needs shell access and FFmpeg, and transcription needs ElevenLabs unless you supply another compatible route; Cloud is optional, but the local setup is not zero-dependency or zero-credential.

  • Jev UltrafastBrowser Use × TypeSafe Jev — indexed action-space web agent

    Free / OSS · Freemium · 23.2k GitHub stars

    VerdictMIT Browser Use × Jev speed agent when you want structured click/type loops without screenshot multimodal; budget TypeSafe + text-model keys.

    CatchVs Browser Use and typesafe-computer-use: this is a Jev-driven indexed web agent, not the general Browser Use framework and not a macOS desktop OCR loop. Needs TYPESAFE_API_KEY plus a text-model key (OpenRouter in the example); Browser Use Cloud ultrafast is waitlist. Demos stop short of booking — verify outcomes yourself.

  • MoliApache/MIT Rust headless browser for AI agents — structure first

    Free / OSS · Apache-2.0 · 19.5k GitHub stars

    VerdictDual-license agent browser when you want a slim Rust runtime with CDP/WebDriver surfaces; keep Chrome-based tools if you need full web fidelity.

    CatchVs agent-browser and Playwright: Moli is its own lightweight browser runtime, not a CDP wrapper around Chrome and not a general test framework. Default install is curl|sh / irm|iex of release installer scripts — verify checksums. No GUI/GPU compositor; not pixel-parity Chrome; Canvas/WebGL/media are intentional gaps.

  • Workflow UseAGPL RPA 2.0 — record/run durable browser workflows

    Free / OSS · AGPL-3.0 · 4.2k GitHub stars

    VerdictAGPL browser workflow/RPA when you need record→rerun determinism on Browser Use rails and can accept early-dev plus copyleft.

    CatchVs Browser Use: pitch this as the workflow/RPA layer on that lineage, not a second browser agent. AGPL-3.0. README says very early development / not production; optional Browser Use Cloud browsers are convenience, not required for the OSS path.

  • Invisible Playwright MCPMIT stealth Firefox Playwright MCP — not plain Chromium MCP

    Free / OSS · AGPL-3.0 · 2.8k GitHub stars

    VerdictMIT stealth Firefox MCP when plain Playwright MCP dies on anti-bot — only with explicit ToS/abuse judgment, not as default browser MCP.

    CatchVs official Playwright MCP: plain Chromium control — this is stealth Firefox. Vs Browser Use / Steel / Cua: those are agent frameworks or browser APIs; this is the MCP-first stealth layer. Anti-detect purpose → site ToS / abuse risk even though the license is clean.

  • UI-TARS DesktopApache-2.0 vision/GUI-agent desktop stack (Agent TARS)

    Free / OSS · Apache-2.0 · 39.3k GitHub stars

    VerdictApache-2.0 GUI-agent desktop when you want vision operators — budget a VLM path; do not expect the ended Remote Operator trial.

    CatchVs Browser Use: LLM-DOM browser agents; UI-TARS is vision/GUI-agent first. Vs Cua: Cua is computer-use drivers/sandboxes/models; UI-TARS ships the desktop GUI-agent product. Needs a VLM (HF Apache-2.0 weights or VolcEngine/Doubao cloud); Remote Operator free trial ended 2025-08-20.

  • agent-desktopApache-2.0 desktop computer-use CLI — OS a11y refs, not pixels

    Free / OSS · Apache-2.0 · 1.8k GitHub stars

    VerdictApache desktop computer-use when agents must drive native macOS apps by a11y refs — not agent-browser’s web CDP lane; Win/Linux still catching up.

    CatchProduction a11y drive is macOS-first — Windows/Linux a11y and input still Planned in the support matrix (cdylib ships wider). Vs agent-browser (Vercel Labs browser CDP/a11y refs): agent-browser is the web/browser CLI; agent-desktop is native desktop apps via OS accessibility. Needs Accessibility (+ Screen Recording/Automation for some features); do not hand it a logged-in machine without a sandbox story.

  • CrawleeApache-2.0 Node.js crawling and scraping library from Apify, HTTP or headless browser

    Free / OSS · Apache-2.0 · 26.2k GitHub stars

    VerdictThe default Node scraping framework when a one-off Playwright script has turned into a crawler — budget for proxies.

    CatchNeeds Node 22.13 or newer. The Python version is a separate project with its own feature set, so do not assume parity. Heavy production crawling usually needs paid proxies to avoid blocks — the library rotates them, it does not supply them. Vs apify-mcp (gives an agent access to ready-made Apify scrapers) and playwright (the browser automation underneath): Crawlee is the crawler framework you build your own scraper on.

  • NanobrowserApache-2.0 Chrome extension that runs a multi-agent web automation loop with your own LLM keys

    Free / OSS · Apache-2.0 · 14.1k GitHub stars

    VerdictThe free, bring-your-own-key Operator alternative for one-off web chores — switch off analytics and keep it in a separate browser profile.

    CatchAnonymous analytics (task metrics and visited domain names) are on by default — turn them off in settings. Chrome and Edge only. It drives your logged-in browser, so a hostile page can try to steer the agent with prompt injection while your sessions are live; use a separate profile for anything sensitive. You pay per token on your own key, and multi-step tasks burn more than you expect. Vs browser-use (Python library you script) and playwright-mcp (browser tools for an agent you already run): Nanobrowser is a point-and-ask extension, not something you build on.

  • SeleniumBaseMIT Python browser automation and testing

    Free / OSS · OSS/MIT · 13.1k GitHub stars

    VerdictThe most batteries-included Python browser framework — powerful, but use the stealth parts responsibly.

    CatchA large share of the README is about bypassing bot detection and CAPTCHAs, which can break site terms — use it on sites you own or are allowed to automate. The API surface is huge, so pick one style and stick to it. For new JavaScript projects, Playwright is the more common default.

  • ArtilleryMPL-2.0 load testing for HTTP, WebSockets and browsers

    Free / OSS · MPL-2.0 · 9.1k GitHub stars

    VerdictA solid OSS load tester, especially for Playwright-based browser tests.

    CatchThe hosted Artillery Cloud dashboard is a separate paid product; the CLI is the free part. Running at scale bills your own AWS account. k6 is the main alternative if you prefer scripting in JavaScript only.

  • Chrome MCP ServerMIT Chrome extension MCP server for your own browser

    Free / OSS · OSS/MIT · 12.5k GitHub stars · quiet 180d+

    VerdictThe quickest way to let an agent work in your logged-in Chrome — use a separate profile and keep expectations early-stage.

    CatchBecause it uses your real browser session, an agent can act as you on every site you are logged in to — point it at a separate Chrome profile for anything sensitive. The README still calls it early-stage, and the last commit was January 2026, so momentum has slowed. The extension is installed from GitHub releases, not the Chrome Web Store. Vs chrome-devtools-mcp (official from the Chrome DevTools team): that one gives DevTools-grade traces, Lighthouse and heap snapshots; mcp-chrome is about reusing your logged-in profile for everyday browsing tasks.

  • BrowserbaseManaged browser infrastructure for AI agents at scale

    Paid-led · Freemium

    VerdictThe browser infrastructure that lets you focus on the agent, not the fleet.

    CatchAnother service to pay for and depend on. Complex pricing at scale—budget carefully for high-volume workloads. You are outsourcing control over the browser layer.

FAQ

What is the top free pick among Browser automation tools?
Stagehand leads the Stack Gems list for Browser automation tools. Verdict: The right abstraction for browser automation that needs to survive UI changes.
How many Browser automation tools does Stack Gems review?
26: 25 free or open source, 1 paid or paid-led. Each review has a verdict and an honest Catch; no tool pays for its spot.
Which Browser automation tools can I self-host for free?
Stagehand, Browser Use, Playwright MCP, Chrome DevTools MCP, agent-browser, Playwright, Steel, Scrapling and 16 more.
Which Browser automation tools have the most GitHub stars?
Browser Use (118k), Agent Reach (99.2k), Playwright (98k), per GitHub on 2026-10-19. Stars measure attention, not fit; read the Catch.
What is the catch with Stagehand?
AI calls add latency and cost.

Best-of lists with these tools