Vibeleaderboard
Index / tool
Visit browser-use.com
Category
AI Agents
Rank
No. 19Tools index
Listed in
#5 Control a browser
Pricing
Open Source
Type
TOOL
Latest release
0.13.8
Added
Apr 24, 2026

About

An open-source Python library that enables AI agents to interact with web browsers through natural language commands. Automates complex web tasks like form filling, shopping, and data extraction using LLMs to control browser actions.

What it does

Browser Use lets an AI agent operate a real Chrome browser. Rather than working from screenshots and pixel coordinates alone, it reads the browser's internal page structure and accessibility tree, numbers every interactive element, and hands the model that list alongside a screenshot; the model answers with actions such as click, type or scroll, which are replayed through Chrome's debugging protocol. It ships three ways: a Python library, a command line tool, and an MCP server that other agents can call.

Why it's ranked here

Driving a logged-in, JavaScript-heavy site from an agent is a problem people genuinely hit, and this library does the unglamorous part: serializing the page structure and accessibility tree instead of throwing a screenshot and pixel coordinates at the model. The MIT license covers the library, so the self-hosted path works without the commercial cloud. The repository shows visible engineering discipline, with exactly pinned dependencies, static type checking, linting, spell checking, and a test suite split into unit, integration and slow tiers.

What's good

The model interface is genuinely small: any client that implements one method counts as a valid model, so the bundled OpenAI, Anthropic, Google, Groq and Ollama clients are interchangeable at a single argument. The page-reading layer does work most browser wrappers skip: filtering by paint order, walking closed shadow roots and cross-origin iframes, and attaching per-frame hints that list hidden interactive elements and how many pages down they sit. Even the Chrome launch flags are individually commented, including a deliberate choice to keep scrollbars visible so the agent can tell more page exists.

Tradeoffs

Installing it pulls in 36 required dependencies, all pinned to exact versions and two platform-conditional, bundling five vendor model SDKs plus PDF and word-processing libraries whether you need them or not. Model handling relies on substring matching against the model name to pick request timeouts and the system-prompt template, so new model names silently fall through to defaults with no warning. And if you construct the agent without naming a model, you get the vendor's hosted one, which forces a fast mode that switches planning off.

How to use it well

Pass your own model explicitly rather than accepting the hosted default, and construct the browser session yourself, since the cloud and local configuration options are easy to mix by accident. Tune the element-list cap before anything else: the serialized list is hard-truncated at 40000 characters, and a truncated list is silently missing elements. If you already run a coding agent, the MCP server is a better entry point than embedding the library, but be aware it disables logging across the whole process to keep its output clean, and that analytics telemetry is a required dependency worth reviewing.

Technical notes+

The core loop lives in browser_use/agent/service.py, which sends serialized state plus a screenshot to any BaseChatModel and dispatches parsed actions as events onto the CDP session held in browser_use/browser/session.py. DOM serialization in browser_use/dom/service.py merges the CDP DOM, the full accessibility tree and a layout snapshot with required computed styles, walks shadow roots and cross-origin iframes above a ten-pixel size floor, and applies a viewport visibility threshold; browser_use/agent/prompts.py renders the numbered element list plus a page_stats block counting links, iframes, shadow hosts and text characters. The model seam is browser_use/llm/base.py, a runtime-checkable Protocol with a single ainvoke method. Request timeouts are chosen by substring tests for gemini, groq or claude in the model name, and browser_use/agent/prompts.py picks a system-prompt template by testing whether the name contains 4.5. Omitting llm constructs the vendor-hosted ChatBrowserUse, which forces flash mode and sets enable_planning to False. BrowserSession in browser_use/browser/session.py declares separate typed overloads for cloud and local mode; max_clickable_elements_length defaults to 40000 characters with hard truncation. The MCP server in browser_use/mcp/server.py exposes browser_navigate, browser_click, browser_get_state and browser_extract_content among others, calls logging.disable at CRITICAL and reassigns handlers on every logger in the process. browser_use/browser/profile.py carries the individually commented Chrome flag list. ProductTelemetry, backed by the required posthog dependency, is constructed by both the Agent and the MCP server. Console scripts browser-use, browseruse, bu and browser map to one CLI entry point.

Observed

License
MIT
Language
Python
Interfaces
Python library, command line tool with four command aliases, and an MCP server
Browser protocol
Chrome DevTools Protocol; Playwright is not in the dependency list
Telemetry
The posthog analytics client is a required dependency, instantiated by both the agent and the MCP server

Read from README.md, pyproject.toml, examples/simple.py, browser_use/README.md, browser_use/agent/service.py, browser_use/browser/session.py, browser_use/dom/service.py, browser_use/agent/prompts.py, browser_use/llm/base.py, browser_use/mcp/server.py, browser_use/browser/profile.py.

What it can do

  • Fill out web forms automatically

    Natural language instructions and target web formCompleted web form with specified data

  • Automate online shopping tasks

    Natural language shopping instructions and target e-commerce siteCompleted shopping actions (search, add to cart, checkout steps)

  • Extract data from web pages

    Natural language extraction instructions and target web pagesStructured data extracted from web content

  • Navigate websites through natural language commands

    Natural language navigation instructionsBrowser actions performed (clicks, scrolling, page navigation)

  • Control browser interactions via AI agents

    Natural language task descriptions and target websitesAutomated browser task execution results

  • Execute complex multi-step web workflows

    Natural language workflow instructionsCompleted sequence of web actions and interactions

Intel on Browser Use

More in Intel

Tags

browser-automationai-agentsllmweb-automationpythonplaywrightai-toolstask-automation

Tech Stack

PythonDocker

Media

Browser Use

Featured in Intel

Comments (0)

No comments yet

Indexed by a proprietary survey. Corrections welcome.