Skip to main content
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


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 ↗


AI agents and crawlers: read browser-use.com/llms.txt for the product map (open source, Browser Harness, Cloud browsers, Agents API, pricing) and docs.browser-use.com/llms.txt for the documentation index. Browser Use is the open-source browser agent (Python and TypeScript), a $0.02 per browser-hour cloud browser with stealth, CAPTCHA solving and residential proxies, and a hosted agent API.

Which Browser Use do I need?

Three ways to use Browser Use: fully hosted cloud; your existing agent with Browser Use CLI; or the open source Browser Use agent, available as a Python library. The CLI and library each connect to a local or cloud browser.

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 toolsets for Claude

Maintained by Browser Use. Compatible with Claude.

Use Claude's browser toolset with Browser Use as the driver. Browser Use implements all 31 browser actions and can control a local browser, a Browser Use Cloud browser, or an existing remote browser over CDP. Bash is included in the Browser Use integration for processing data and writing files.

Claude uses Browser Use browser actions and Bash through the Anthropic SDK. The browser can be local or remote; Bash runs on the SDK host.

Requires an Anthropic SDK version that includes anthropic.tools.browser. Bash requires a Linux or macOS host with /bin/bash; use WSL on Windows. The snippet below runs inside an async function; see the quickstart for a complete script.

import os

from anthropic import AsyncAnthropic
from browser_use.integrations.toolsets_for_claude import Bash, BrowserUse

task = 'Open example.com and report its page title.'
driver = BrowserUse()  # Or BrowserUse(use_cloud=True)
bash = Bash(output_dir='outputs')

async with driver, AsyncAnthropic() as client:
    runner = client.beta.messages.tool_runner(
        model=os.environ['ANTHROPIC_MODEL'],
        max_tokens=32_768,
        max_iterations=100,
        tools=[driver, bash],
        messages=[{'role': 'user', 'content': task}],
    )
    result = await runner.until_done()

Quickstart ↗ · Integration docs ↗


Browser Use Benchmark v2

Browser Use Benchmark v2 - Mean rubric score by model and cost per task

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 in task=. Use extend_system_message to add instructions or override_system_message to replace the default prompt when you need custom behavior.

See the custom system prompt example.

Can I use custom tools with the agent?

Yes. Register a function with Tools and pass it to the agent. This example adds a tool for the current UTC time and uses BROWSER_USE_API_KEY from .env:

import asyncio
from datetime import datetime, timezone

from browser_use import ActionResult, Agent, ChatBrowserUse, Tools
from dotenv import load_dotenv

load_dotenv()
tools = Tools()

@tools.action(description='Get the current date and time in UTC.')
def get_current_time() -> ActionResult:
    return ActionResult(extracted_content=datetime.now(timezone.utc).isoformat())

async def main():
    agent = Agent(
        task="What is the current UTC time?",
        llm=ChatBrowserUse(model='bu-2-0'),
        tools=tools,
    )
    history = await agent.run()
    print(history.final_result())

if __name__ == "__main__":
    asyncio.run(main())
Can I use this for free?

The Python library is free and MIT-licensed. Model inference and hosted browsers are separate: API providers, including ChatBrowserUse, and Browser Use Cloud charge for usage. You can also use a local browser and a local model through Ollama, subject to your hardware and model requirements.

Terms of Service

This open-source library is licensed under the MIT License. For Browser Use services & data policy, see our Terms of Service and Privacy Policy.

How do I handle authentication?
  • Local browser: Use Browser.from_system_chrome() to reuse a Chrome profile. See the real-browser guide and example.
  • Cloud browser: Follow the profile sync guide, then use Browser(use_cloud=True, cloud_profile_id='your-profile-id').

Profile sync transfers cookies, not local storage, IndexedDB, or extensions. Some sites may require you to sign in again.

How do I solve CAPTCHAs?

Browser Use Cloud provides stealth browsers and proxies designed to reduce bot detection and CAPTCHA challenges. With the Python library, enable a cloud browser with Browser(use_cloud=True) and set BROWSER_USE_API_KEY.

Results depend on the site and challenge; no browser configuration guarantees that every CAPTCHA can be avoided or solved.

How do I go into production?

Choose how much you want to manage:

  • Keep your agent code: Connect the CLI or Python library to cloud browsers for managed browser infrastructure, stealth, profiles, and recordings.
  • Have us run the agent too: Use the fully hosted Cloud API to submit tasks and retrieve results.

You can also host the Python library and browsers on your own infrastructure.


Repository What it's for
Browser Harness Our CLI for giving AI agents control of your browser.
Browser Harness JS Give your JavaScript agent control of a real browser.
Browser Use Pi Run a TypeScript browser agent built on Pi.
Cloud SDK Integrate Browser Use Cloud into your application.
Video Use Edit videos with your coding agent.
macOS Harness Give your agent control of Mac apps, browsers, and files.
Benchmark Explore browser tasks and compare agent performance.

Citation

If you use Browser Use in your research or project, please cite:

@software{browser_use2024,
  author = {Müller, Magnus and Žunič, Gregor},
  title = {Browser Use: Enable AI to control your browser},
  year = {2024},
  publisher = {GitHub},
  url = {https://github.com/browser-use/browser-use}
}

Tell your computer what to do, and it gets it done.

Twitter Follow     Twitter Follow

Made with ❤️ in Zurich and San Francisco

Metadata

Release files for browser-use 0.13.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for browser-use 0.13.11
File Size Uploaded
browser_use-0.13.11.tar.gz 644.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for browser-use 0.13.11
File Interpreter ABI Platform
browser_use-0.13.11-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / browser_use-0.13.11.tar.gz

Download URL browser_use-0.13.11.tar.gz
Size 644.1 kB
Tags Source
SHA-256 checksum
How to use checksums
abec8573ebc9f8801b688c38b5988d90bb030d1448b8760f37f85f68a0ed7812
BLAKE2b-256 checksum
How to use checksums
0cd57020c94801f73d8bc650f01418b35a8191a0cf6e6c6af29fda9d200ac713
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / browser_use-0.13.11-py3-none-any.whl

Download URL browser_use-0.13.11-py3-none-any.whl
Size 753.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
50b0d16efc44215f99ed1c9197f05e2519bb79fa1501eed7371aff450cc56045
BLAKE2b-256 checksum
How to use checksums
cde68fb8ce81894afcc7626837232a4d284843d1c1fb4fd757aa00c54ce40d8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.13.11 This release

2 release files

0.13.8

2 release files

0.13.7

2 release files

0.13.6

2 release files

0.13.5

2 release files

0.13.4

2 release files

0.13.1

2 release files

0.12.9

2 release files

0.12.8

2 release files

0.12.7

2 release files

0.12.5

2 release files

0.12.4

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.0

2 release files

0.11.5

2 release files

0.11.4

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.10

2 release files

0.7.9

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.3

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.9

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.0

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.48

2 release files

0.1.47

2 release files

0.1.46

2 release files

0.1.41

2 release files

0.1.40

2 release files

0.1.39

2 release files

0.1.38

2 release files

0.1.37

2 release files

0.1.32

2 release files

0.1.31

2 release files

0.1.30

2 release files

0.1.29

2 release files

0.1.28

2 release files

0.1.27

2 release files

0.1.26

2 release files

0.1.25

2 release files

0.1.24

2 release files

0.1.23

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.17

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page