Browser Use is a free, open source automation project written in Python and released under MIT. It has 114,959 GitHub stars, 12,651 forks and 421 open issues, and was last pushed 2 days ago. On this registry it ranks #2 of 54 tracked projects in Automation, with 5 head-to-head comparisons available. It gained 610 stars over the last 6 tracked days.

Browser Use — Let AI agents control any browser, at scale

What is Browser Use?

What it is

Browser Use is an open-source Python library and hosted platform that enables AI agents to control web browsers programmatically. It lives in the AI agent and browser automation ecosystem, built on Playwright and designed to let LLMs interact with websites as a human would—clicking, filling forms, solving CAPTCHAs, and navigating dynamic interfaces. The project provides three deployment paths: a fully hosted cloud service, a command-line interface for existing agents, and a local Python library for custom integrations.

The concrete problem it solves is the gap between high-level LLM reasoning and low-level browser control. Traditional automation tools require hardcoded scripts and struggle with unstructured, dynamic web content. Browser Use lets agents reason over tasks and adapt actions in real time, handling variability like changing UI layouts or interactive elements without manual intervention.

Key capabilities

  • Execute multi-step browser tasks using natural language prompts via an LLM-powered agent loop
  • Support for local Playwright browsers or cloud-hosted browsers via optional API
  • Native integration with BU2, a model fine-tuned for browser automation, and OpenAI models
  • Built-in CAPTCHA handling and stealth browser configurations to avoid detection
  • Structured output support for extracting data from pages into JSON or Pydantic models
  • CLI integration with existing agents (Claude Code, Codex, Hermes, OpenClaw, Cursor, Pi)
  • Python library with async-first API for embedding agents in custom applications

Who uses it and how

  • Developers embed the Python library into applications to automate tasks like appointment booking, price tracking, or form submission
  • Teams use the hosted cloud API to scale agent operations with managed infrastructure, profiles, and data policies
  • Researchers and hobbyists run the CLI to give existing AI agents browser access for interactive or scripted workflows

Getting started

Install via uv add browser-use (Python ≥3.11), set OPENAI_API_KEY or BROWSER_USE_API_KEY in .env, and run a Python script with Agent.run(). The cloud option requires no local browser setup; the CLI integrates with browser-use skill install in supported agents.

When to use it — and when not to

Use Browser Use when you need LLMs to handle unpredictable web interactions without brittle XPath or CSS selectors. It replaces parts of paid tools like Apify or Puppeteer-based services with open control and model flexibility. However, self-hosing requires managing Playwright browsers, and advanced stealth features (e.g., CAPTCHA bypass) may need cloud or BU2 access. Avoid if your tasks are purely static or API-based—this tool adds overhead where direct HTTP calls suffice.

project readme (upstream, from github) — read inline
Shows a black Browser Use Logo in light color mode and a white one in dark color mode.The AI browser agent.

Browser-Use Package Download Statistics


Demos

Docs

Blog

Merch

Github Stars

Twitter

Discord

Browser-Use Cloud


A person crossing an orange canyon on a giant key-shaped bridge, from the Browser Use website.

Navigate the web like a human does.

Find an available slot, pick a date and time, handle the CAPTCHA, and book a driving test.

Browser Use V4 booking a driving test

Explore more demos and prompts ↗


Which Browser Use do I need?

Quickstart

Path 1: Fully Hosted Cloud

Scale browser automation with our hosted agent, stealth browsers, and infrastructure for profiles, recordings, and data policies.

Get started with the API ↗

New Google, GitHub, or Microsoft signups get $15 cloud credit.


Path 2: CLI

Paste this prompt into Claude Code, Codex, Hermes, OpenClaw, or your favorite agent.

Install or upgrade browser-use to the latest stable version with uv using Python 3.12, run `browser-use skill install` to register the skill, and connect it to my browser. If setup or connection fails, follow https://github.com/browser-use/browser-harness/blob/main/install.md.

Path 3: Python Library

Run the Browser Use agent locally from Python, with your choice of model and a local or cloud browser:

1. Install Browser Use (Python >= 3.11):

With uv installed, run uv init --python 3.12 first if you're starting a new project.

uv add browser-use

2. Add your OpenAI API key to .env:

# .env
OPENAI_API_KEY=your-key
# BROWSER_USE_API_KEY=your-key  # Optional: BU2 model or cloud browser

For either optional Browser Use service, get a Browser Use API key.

3. Save this as agent.py:

import asyncio

from browser_use import Agent, Browser, ChatBrowserUse, ChatOpenAI
from dotenv import load_dotenv

load_dotenv()

async def main():
    llm = ChatOpenAI(model='gpt-5.6-luna', reasoning_effort='xhigh')
    # llm = ChatBrowserUse(model='bu-2-0')  # Use BU2 instead; requires BROWSER_USE_API_KEY
    agent = Agent(
        task="Find the number of stars of the browser-use repo",
        llm=llm,
        # browser=Browser(use_cloud=True),  # Use a cloud browser; requires BROWSER_USE_API_KEY
    )
    history = await agent.run()
    print(history.final_result())

if __name__ == "__main__":
    asyncio.run(main())

To use BU2, replace the ChatOpenAI line with the commented ChatBrowserUse line. The cloud-browser option works with either model.

4. Run it:

uv run agent.py

The agent opens a browser, looks up the repository, and prints its answer.

Python library docs ↗


Browser Use Benchmark v2

This very hard benchmark targets the hardest browser tasks. On easier tasks, even smaller models can achieve very high success rates. Results shown are from a 60-task subset of BU Bench V2.

Integrations, hosting, custom tools, MCP, and more on our Docs ↗


FAQ

Should I use the fully hosted cloud, CLI, or Python library?
  • Fully Hosted Cloud: Send tasks through the API and let Browser Use run the agent, browser, and infrastructure.
  • CLI: Give an existing agent (Claude Code, Codex, Hermes, OpenClaw, Pi, Cursor, etc.) browser access. You can use it interactively or in scripts.
  • Python Library: Run the open source agent in your own application, with custom tools, structured output, and your choice of model.

The CLI and Python library can each connect to a local or cloud browser. A cloud browser hosts the browser; the fully hosted API runs the agent as well.

What's the best model to use?

We recommend BU2, our model optimized for browser automation: ChatBrowserUse(model='bu-2-0'). It uses BROWSER_USE_API_KEY; ChatBrowserUse() currently selects the same model.

The best choice depends on your tasks, latency, and budget. See the BU2 model card, benchmark, and supported models and pricing to compare options.

Can I use Claude / GPT / Gemini through ChatBrowserUse?

Yes. ChatBrowserUse accepts provider-prefixed model IDs through the Browser Use gateway, using BROWSER_USE_API_KEY:

from browser_use import Agent, ChatBrowserUse

llm = ChatBrowserUse(model='anthropic/claude-sonnet-4-6')  # or 'google/gemini-3-pro'
agent = Agent(task='...', llm=llm)

You can also use providers directly through wrappers such as ChatOpenAI, ChatAnthropic, and ChatGoogle, with each provider's own API key. See supported models.

Do I need to provide a system prompt?

No. Agent(...) supplies the Browser Use system prompt automatically, including when you change models. Put your task

readme truncated — read the full docs on github

Frequently asked questions

Is Browser Use free to use?

Browser Use is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Browser Use do?

Let AI agents control any browser, at scale

What is Browser Use written in?

Browser Use is primarily written in Python. Its source is publicly available at https://github.com/browser-use/browser-use, and it has 114,959 GitHub stars.