Skip to main content

Make websites accessible for AI agents

Project description

Shows a black Browser Use Logo in light color mode and a white one in dark color mode.
The AI browser agent.


Demos Docs Blog Merch Github Stars Twitter Discord Browser-Use Cloud

🤖 LLM Quickstart

  1. Direct your favorite coding agent (Cursor, ClaudeS, etc) to Agents.md
  2. Prompt away!

👋 Human Quickstart

1. Create environment with uv (Python>=3.11):

uv init

2. Install Browser-Use package:

#  We ship every day - use the latest version!
uv add browser-use
uv sync

3. Get your API key from Browser Use Cloud and add it to your .env file (new signups get $10 free credits):

# .env
BROWSER_USE_API_KEY=your-key

4. Install Chromium browser:

uvx browser-use install

5. Run your first agent:

from browser_use import Agent, Browser, ChatBrowserUse
import asyncio

async def example():
    browser = Browser(
        # use_cloud=True,  # Uncomment to use a stealth browser on Browser Use Cloud
    )

    llm = ChatBrowserUse()

    agent = Agent(
        task="Find the number of stars of the browser-use repo",
        llm=llm,
        browser=browser,
    )

    history = await agent.run()
    return history

if __name__ == "__main__":
    history = asyncio.run(example())

Check out the library docs and the cloud docs for more!


🔥 Production with Sandboxes

The easiest way to run Browser-Use in production. We handle agents, browsers, persistence, auth, cookies, and LLMs. The agent runs right next to the browser for minimal latency.

from browser_use import Browser, sandbox, ChatBrowserUse
from browser_use.agent.service import Agent

@sandbox(
    cloud_profile_id='your-profile-id',      # Your saved cookies/auth
    cloud_proxy_country_code='us',           # Bypass captchas, cloudflare, geo-restrictions
)
async def production_task(browser: Browser):
    agent = Agent(task="Your task", browser=browser, llm=ChatBrowserUse())
    await agent.run()

await production_task()

See Going to Production to sync your cookies to the cloud.


🚀 Template Quickstart

Want to get started even faster? Generate a ready-to-run template:

uvx browser-use init --template default

This creates a browser_use_default.py file with a working example. Available templates:

  • default - Minimal setup to get started quickly
  • advanced - All configuration options with detailed comments
  • tools - Examples of custom tools and extending the agent

You can also specify a custom output path:

uvx browser-use init --template default --output my_agent.py

Demos

📋 Form-Filling

Task = "Fill in this job application with my resume and information."

Job Application Demo Example code ↗

🍎 Grocery-Shopping

Task = "Put this list of items into my instacart."

https://github.com/user-attachments/assets/a6813fa7-4a7c-40a6-b4aa-382bf88b1850

Example code ↗

💻 Personal-Assistant.

Task = "Help me find parts for a custom PC."

https://github.com/user-attachments/assets/ac34f75c-057a-43ef-ad06-5b2c9d42bf06

Example code ↗

💡See more examples here ↗ and give us a star!


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


FAQ

What's the best model to use?

We optimized ChatBrowserUse() specifically for browser automation tasks. On avg it completes tasks 3-5x faster than other models with SOTA accuracy.

Pricing (per 1M tokens):

  • Input tokens: $0.50
  • Output tokens: $3.00
  • Cached tokens: $0.10

For other LLM providers, see our supported models documentation.

Can I use custom tools with the agent?

Yes! You can add custom tools to extend the agent's capabilities:

from browser_use.tools import Tool

@Tool()
def custom_tool(param: str) -> str:
    """Description of what this tool does."""
    return f"Result: {param}"

agent = Agent(
    task="Your task",
    llm=llm,
    browser=browser,
    use_custom_tools=[custom_tool],
)
Can I use this for free?

Yes! Browser-Use is open source and free to use. You only need to choose an LLM provider (like OpenAI, Google, ChatBrowserUse, or run local models with Ollama).

How do I handle authentication?

Check out our authentication examples:

  • Using real browser profiles - Reuse your existing Chrome profile with saved logins
  • If you want to use temporary accounts with inbox, choose AgentMail
  • To sync your auth profile with the remote browser, run curl -fsSL https://browser-use.com/profile.sh | BROWSER_USE_API_KEY=XXXX sh (replace XXXX with your API key)

These examples show how to maintain sessions and handle authentication seamlessly.

How do I solve CAPTCHAs?

For CAPTCHA handling, you need better browser fingerprinting and proxies. Use Browser Use Cloud which provides stealth browsers designed to avoid detection and CAPTCHA challenges.

How do I go into production?

Chrome can consume a lot of memory, and running many agents in parallel can be tricky to manage.

For production use cases, use our Browser Use Cloud API which handles:

  • Scalable browser infrastructure
  • Memory management
  • Proxy rotation
  • Stealth browser fingerprinting
  • High-performance parallel execution

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

Twitter Follow     Twitter Follow

Made with ❤️ in Zurich and San Francisco

Project details


Release history Release notifications | RSS feed

This version

0.9.5

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

browser_use-0.9.5.tar.gz (435.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

browser_use-0.9.5-py3-none-any.whl (522.7 kB view details)

Uploaded Python 3

File details

Details for the file browser_use-0.9.5.tar.gz.

File metadata

  • Download URL: browser_use-0.9.5.tar.gz
  • Upload date:
  • Size: 435.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.7

File hashes

Hashes for browser_use-0.9.5.tar.gz
Algorithm Hash digest
SHA256 f8285fe253b149d01769a7084883b4cf4db351e2f38e26302c157bcbf14a703f
MD5 e5ff61bc10d2381fca45e1221913bdb9
BLAKE2b-256 db5c06f8be2b91c366e11c9c99fbfd24aad1f3f8d8e9a637b7d27c46e9993173

See more details on using hashes here.

File details

Details for the file browser_use-0.9.5-py3-none-any.whl.

File metadata

File hashes

Hashes for browser_use-0.9.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4a2e92847204d1ded269026a99cb0cc0e60e38bd2751fa3f58aedd78f00b4e67
MD5 6cc05785ecbf0e8897c1a923a12a081e
BLAKE2b-256 a15c0748d8b3e8ac69f2c2581734ad0b7dc0acd28d544908d7283c59c3a65aa5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page