Templates Library

Explore ready-to-use automation workflows from the community.

Browse community workflows at /templates. Clone and run instantly. Contribute your workflows here. We share accepted contributions on X/LinkedIn.

SOC 2 Type II Compliance

Enterprise-grade security certification now available.

Browser Use is now SOC 2 Type II compliant. Access the trust report at /security/soc2.

Profile Use

Cloud agents now access your local Chrome sessions, cookies, and login states.

Sync your local Chrome profile to the cloud. Your agents can now use authenticated sessions, cookies, and preferences from your local browser.

export BROWSER_USE_API_KEY=bu_ab1...
curl -fsSL https://browser-use.com/profile.sh | sh

Code Use

Generate Python/JS code for high-volume data extraction tasks.

CodeAgent writes Python and JavaScript for native browser interaction via CDP. Custom LLM trained for code generation only.

from browser_use import CodeAgent, ChatBrowserUse
 
agent = CodeAgent(
    task=task,
    llm=ChatBrowserUse(), # requires our LLM
)
await agent.run()

Use cases:

  • Extract 1000 products, filter by price
  • Get 2000 GitHub stargazers with metadata
  • Scrape projects, filter by stars, export CSV

Available in 0.9.0 (OSS). Grab the API key from cloud.

LLM Use

6x faster agents with custom-trained LLM. 20 steps per minute.

We built a special LLM that reduces the latency by 6x while keeping the same performance. The agents can now take 20 steps per minute.

from browser_use import Agent, ChatBrowserUse
 
# Initialize the model
llm = ChatBrowserUse()
 
# Create agent with the model
agent = Agent(
    task="...", # Your task here
    llm=llm
)

For more technical deep dive read the blog at /posts/llm-gateway.

Stealth Browser Infrastructure

Bypass Cloudflare and anti-bot protection with our bare metal browser infrastructure

Features

  • Persistent profiles - Maintain cookies, local storage, and session data across browser instances
  • Proxy support - Route traffic through proxies to bypass geo-restrictions and bot detection
  • File handling - Download files directly through the API without manual intervention

Browser Sessions with SDK

Access raw browser instances via Chrome DevTools Protocol:

from browser_use_sdk import BrowserUse
 
client = BrowserUse(api_key="bu_...")
 
# Basic browser session
browser_session = client.browsers.create_browser_session(
    timeout=30  # minutes
)
 
# With profile (inherit login state)
profile_browser = client.browsers.create_browser_session(
    profile_id="profile_123",
    proxy_country_code="US",
    timeout=60
)
 
print(f"CDP URL: {browser_session.cdp_url}")
print(f"Watch live: {browser_session.live_url}")

For more technical details, read the blog at /posts/browser-infra.

Actor Use

Our CDP-based alternative to Playwright/Puppeteer—built for AI-driven automation

Combine precise element interactions with AI-driven automation in a single workflow.

from browser_use import Browser, Agent
from browser_use.llm.openai import ChatOpenAI
 
async def main():
    llm = ChatOpenAI(api_key="your-api-key")
    browser = Browser()
    await browser.start()
 
    # 1. Actor: Precise navigation and element interactions
    page = await browser.new_page("https://github.com/login")
    email_input = await page.must_get_element_by_prompt("username field", llm=llm)
    await email_input.fill("your-username")
 
    # 2. Agent: AI-driven complex tasks
    agent = Agent(browser=browser, llm=llm)
    await agent.run("Complete login and navigate to my repositories")
 
    await browser.stop()

Browser Use can write Javascript

Agents can now write and execute JavaScript code to interact with websites

In your prompts you can now prompt the agent to write JavaScript code to interact with elements on the website.

This enables more precise control and complex interactions that go beyond standard browser automation—perfect for handling edge cases or custom behaviors.

from browser_use import Agent
 
agent = Agent(
    task="Write JavaScript to extract all product prices from the page",
    llm=llm
)
 
result = await agent.run()

The agent will automatically write and execute the necessary JavaScript to complete your task.

Cloud SDK

Typesafe Python and TypeScript SDKs for seamless cloud integration.

You can control the cloud API using the typesafe SDK.

from browser_use_sdk import BrowserUse
 
client = BrowserUse(api_key="bu_...")
 
task = client.tasks.create_task(
    task="Search for the top 10 Hacker News posts and return the title and url.",
    llm="browser-use-llm"
)
 
result = task.complete()
 
result.output

For more information, check out the documentation.

We switched from Playwright to CDP

All interactions are now 100% CDP-based—no more Playwright dependencies. Nothing runs on Playwright anymore.

This means faster execution, lower overhead, and direct control over browser behavior.

CDP Performance Comparison

Read the full technical breakdown at /posts/playwright-to-cdp.