https://github.com/browser-use/browser-use
π Make websites accessible for AI agents. Automate tasks online with ease.
https://github.com/browser-use/browser-use
ai-agents ai-tools browser-automation browser-use llm playwright python
Last synced: 10 days ago
JSON representation
π Make websites accessible for AI agents. Automate tasks online with ease.
- Host: GitHub
- URL: https://github.com/browser-use/browser-use
- Owner: browser-use
- License: mit
- Created: 2024-10-31T16:00:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-28T18:59:48.000Z (2 months ago)
- Last Synced: 2026-01-28T21:04:08.977Z (2 months ago)
- Topics: ai-agents, ai-tools, browser-automation, browser-use, llm, playwright, python
- Language: Python
- Homepage: https://browser-use.com
- Size: 26.6 MB
- Stars: 77,321
- Watchers: 409
- Forks: 9,159
- Open Issues: 224
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Security: .github/SECURITY.md
- Support: docs/supported-models.mdx
- Agents: AGENTS.md
Awesome Lists containing this project
- skillshare-hub - **browser-use** - clean](https://img.shields.io/badge/risk-clean-brightgreen) β Browser automation CLI for persistent session-based web interactions (Skills Catalog / Agent (45))
- awesome-openclaw-money-maker - **browser-use** - Make websites accessible for AI agents. Automate any web task with natural language. (AI Agent Frameworks / Browser Automation Agents)
- awesome-sdet-collection - Browser Use - Open-source agent that controls browsers using natural language instructions. (AI Agents for Testing / .NET)
- awesome-gcp-llm-projects - Browser Use - Make any LLM operate a browser like a human. #Agents #BrowserAutomation (Projects / AI Agents & Templates)
- awesome-scrapers - browser-use
- awesome-ai - BrowserUse
- awesome-autonomous-ops - browser-use
- fucking-awesome-python - browser-use - Make websites accessible for AI agents with easy browser automation. (Web Crawling)
- awesome-testing - github
- awesome-LangGraph - browser-use/browser-use - use/browser-use?style=social) | (π Web Automation & Scraping / π© Development Tools π οΈ)
- awesome-ChatGPT-repositories - browser-use - Make websites accessible for AI agents (Browser-extensions)
- awesomeLibrary - browser-use - Make websites accessible for AI agents (θ―θ¨θ΅ζΊεΊ / python)
- awesome-generative-ai-data-scientist - Browser-Use
- awesome-ai-agents - Browser Use - use/browser-use) | Make websites accessible for AI agents, automate tasks with ease | (π Specialized Agents / π Web Agents)
- acu - Browser Use
- awesome-python - browser-use - Make websites accessible for AI agents with easy browser automation. (Web Crawling)
- awesome-ui-agents - code
- awesome-ai-agents - browser-use/browser-use
- awesome-hacking-lists - browser-use/browser-use - Make websites accessible for AI agents (Python)
- awesome-safety-critical-ai - `browser-use/browser-use`
- awesome-browser-automation - Browser-Use - Python library and service to automate browsing using AI agents and Chrome DevTools Protocol. (Tools / AI)
- AiTreasureBox - browser-use/browser-use - 11-09_72311_18](https://img.shields.io/github/stars/browser-use/browser-use.svg)|Make websites accessible for AI agents| (Repos)
- Awesome-LLMOps - Browser Use - use/browser-use.svg?style=flat&color=green)   (Runtime / Tool)
- awesome-github-repos - browser-use/browser-use - π Make websites accessible for AI agents. Automate tasks online with ease. (Python)
- awesome-vibe-coding - browser-use - Open-source AI web automation. (Browser Automation & UI Agents / Specialized Tools)
- definitive-opensource - Browser Use
- awesome - browser-use/browser-use - π Make websites accessible for AI agents. Automate tasks online with ease. (Python)
- awesome-ai-agents - browser-use/browser-use - Browser-use is a project that enables AI agents to control and automate web browsers, allowing users to perform complex tasks through natural language commands and AI-driven browser interactions. (GUI & Computer Control AI Agents / Browser & Web Automation)
- awesome - browser-use/browser-use - π Make websites accessible for AI agents. Automate tasks online with ease. (<a name="Python"></a>Python)
- awesome-data-analysis - Browser Use - A library for browser automation and web scraping. (πΈοΈ Web Scraping & Crawling / Tools)
- awesome-production-llm - browser-use - use/browser-use.svg?style=social) Make websites accessible for AI agents (Browser use is the easiest way to connect your AI agents with the browser.) (LLM Application / RAG)
- awesome-agent-cortex - browser-use - Framework for browser task automation and agent web interaction loops. (Agent Harnessing and Evaluation / Benchmark Reality Check (real-world tool use))
- Awesome-AI-Agents - browser-use - Enable AI agents to control websites through a structured and reproducible browser interface.  (Frameworks / Tools)
- awesome - browser-use/browser-use - π Make websites accessible for AI agents. Automate tasks online with ease. (Python)
- awesome-ai-agents - Browser Use
- awesome-local-llm - browser-use - make websites accessible for AI agents (Tools / Browser Automation)
- awesome-workflow-automation - Browser-Use - source Python library. Makes websites accessible to AI agents using a DOM + Vision hybrid approach. Works with Claude, GPT, Gemini, and local Ollama models. MIT license. (π Browser Automation & Computer Use / AI Browser Agents)
- awesome-vibe-coding - browser-use - source browser automation for AI agents. Python-based, works with any LLM. | (AI Browser Agents / Specialized CLI Tools)
- awesome-agent-experience - browser-use - Makes websites accessible for AI agents via browser automation. (Tools / Agent Web Interaction)
- awesome-ccamel - browser-use/browser-use - π Make websites accessible for AI agents. Automate tasks online with ease. (Python)
- awesome-agent-cli - browser-use - use/browser-use?style=flat-square&label=) | Python | ![community][community] ![agent-first][agent-first] | Make websites accessible for AI agents. Most popular agent browser lib. | (Browser & Web Automation)
README

---
π€οΈ Want to skip the setup? Use our [cloud](https://cloud.browser-use.com) for faster, scalable, stealth-enabled browser automation!
# π€ LLM Quickstart
1. Direct your favorite coding agent (Cursor, Claude Code, etc) to [Agents.md](https://docs.browser-use.com/llms-full.txt)
2. Prompt away!
# π Human Quickstart
**1. Create environment and install Browser-Use with [uv](https://docs.astral.sh/uv/) (Python>=3.11):**
```bash
uv init && uv add browser-use && uv sync
# uvx browser-use install # Run if you don't have Chromium installed
```
**2. [Optional] Get your API key from [Browser Use Cloud](https://cloud.browser-use.com/new-api-key):**
```
# .env
BROWSER_USE_API_KEY=your-key
# GOOGLE_API_KEY=your-key
# ANTHROPIC_API_KEY=your-key
```
**3. Run your first agent:**
```python
from browser_use import Agent, Browser, ChatBrowserUse
# from browser_use import ChatGoogle # ChatGoogle(model='gemini-3-flash-preview')
# from browser_use import ChatAnthropic # ChatAnthropic(model='claude-sonnet-4-6')
import asyncio
async def main():
browser = Browser(
# use_cloud=True, # Use a stealth browser on Browser Use Cloud
)
agent = Agent(
task="Find the number of stars of the browser-use repo",
llm=ChatBrowserUse(),
# llm=ChatGoogle(model='gemini-3-flash-preview'),
# llm=ChatAnthropic(model='claude-sonnet-4-6'),
browser=browser,
)
await agent.run()
if __name__ == "__main__":
asyncio.run(main())
```
Check out the [library docs](https://docs.browser-use.com/open-source/introduction) and the [cloud docs](https://docs.cloud.browser-use.com) for more!
# Open Source vs Cloud

We benchmark Browser Use across 100 real-world browser tasks. Full benchmark is open source: **[browser-use/benchmark](https://github.com/browser-use/benchmark)**.
**Use Open Source**
- You need [custom tools](https://docs.browser-use.com/customize/tools/basics) or deep code-level integration
- You want to self-host and deploy browser agents on your own machines
**Use [Cloud](https://cloud.browser-use.com) (recommended)**
- Much better agent for complex tasks (see plot above)
- Easiest way to start and scale
- Best stealth with proxy rotation and captcha solving
- 1000+ integrations (Gmail, Slack, Notion, and more)
- Persistent filesystem and memory
**Use Both**
- Use the open-source library with your [custom tools](https://docs.browser-use.com/customize/tools/basics) while running our [cloud browsers](https://docs.browser-use.com/open-source/customize/browser/remote) and [ChatBrowserUse model](https://docs.browser-use.com/open-source/supported-models)
# Demos
### π Form-Filling
#### Task = "Fill in this job application with my resume and information."

[Example code β](https://github.com/browser-use/browser-use/blob/main/examples/use-cases/apply_to_job.py)
### π Grocery-Shopping
#### Task = "Put this list of items into my instacart."
https://github.com/user-attachments/assets/a6813fa7-4a7c-40a6-b4aa-382bf88b1850
[Example code β](https://github.com/browser-use/browser-use/blob/main/examples/use-cases/buy_groceries.py)
### π» Personal-Assistant.
#### Task = "Help me find parts for a custom PC."
https://github.com/user-attachments/assets/ac34f75c-057a-43ef-ad06-5b2c9d42bf06
[Example code β](https://github.com/browser-use/browser-use/blob/main/examples/use-cases/pcpartpicker.py)
### π‘See [more examples here β](https://docs.browser-use.com/examples) and give us a star!
# π Template Quickstart
**Want to get started even faster?** Generate a ready-to-run template:
```bash
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:
```bash
uvx browser-use init --template default --output my_agent.py
```
# π» CLI
Fast, persistent browser automation from the command line:
```bash
browser-use open https://example.com # Navigate to URL
browser-use state # See clickable elements
browser-use click 5 # Click element by index
browser-use type "Hello" # Type text
browser-use screenshot page.png # Take screenshot
browser-use close # Close browser
```
The CLI keeps the browser running between commands for fast iteration. See [CLI docs](browser_use/skill_cli/README.md) for all commands.
### Claude Code Skill
For [Claude Code](https://claude.ai/code), install the skill to enable AI-assisted browser automation:
```bash
mkdir -p ~/.claude/skills/browser-use
curl -o ~/.claude/skills/browser-use/SKILL.md \
https://raw.githubusercontent.com/browser-use/browser-use/main/skills/browser-use/SKILL.md
```
## Integrations, hosting, custom tools, MCP, and more on our [Docs β](https://docs.browser-use.com)
# 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.20
- Cached input tokens: $0.02
- Output tokens: $2.00
For other LLM providers, see our [supported models documentation](https://docs.browser-use.com/supported-models).
Should I use the Browser Use system prompt with the open-source preview model?
Yes. If you use `ChatBrowserUse(model='browser-use/bu-30b-a3b-preview')` with a normal `Agent(...)`, Browser Use still sends its default agent system prompt for you.
You do **not** need to add a separate custom "Browser Use system message" just because you switched to the open-source preview model. Only use `extend_system_message` or `override_system_message` when you intentionally want to customize the default behavior for your task.
If you want the best default speed/accuracy, we still recommend the newer hosted `bu-*` models. If you want the open-source preview model, the setup stays the same apart from the `model=` value.
Can I use custom tools with the agent?
Yes! You can add custom tools to extend the agent's capabilities:
```python
from browser_use import Tools
tools = Tools()
@tools.action(description='Description of what this tool does.')
def custom_tool(param: str) -> str:
return f"Result: {param}"
agent = Agent(
task="Your task",
llm=llm,
browser=browser,
tools=tools,
)
```
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).
Terms of Service
This open-source library is licensed under the MIT License. For Browser Use services & data policy, see our [Terms of Service](https://browser-use.com/legal/terms-of-service) and [Privacy Policy](https://browser-use.com/privacy/).
How do I handle authentication?
Check out our authentication examples:
- [Using real browser profiles](https://github.com/browser-use/browser-use/blob/main/examples/browser/real_browser.py) - 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](https://cloud.browser-use.com) 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](https://cloud.browser-use.com) 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.**

[](https://x.com/intent/user?screen_name=mamagnus00)
βββ
[](https://x.com/intent/user?screen_name=gregpr07)
Made with β€οΈ in Zurich and San Francisco