Skip to main content
Every browser comes with: anti-fingerprinting, automatic CAPTCHA solving, cookie/ad blocking, Cloudflare bypass, and residential proxies. No configuration needed.

1. Install & configure

pip install browser-use-sdk
Get a key at cloud.browser-use.com/settings, then:
export BROWSER_USE_API_KEY=your_key

2. Run your first task

import asyncio
from browser_use_sdk import AsyncBrowserUse

async def main():
    client = AsyncBrowserUse()
    result = await client.run("What is the top post on Hacker News right now?")
    print(result.output)

asyncio.run(main())

3. Get structured data

Define a schema and get validated, typed data back.
import asyncio
from browser_use_sdk import AsyncBrowserUse
from pydantic import BaseModel

class Post(BaseModel):
    title: str
    url: str
    points: int

class PostList(BaseModel):
    items: list[Post]

async def main():
    client = AsyncBrowserUse()
    result = await client.run(
        "Get the top 3 posts from Hacker News",
        output_schema=PostList,
    )
    for post in result.output.items:
        print(f"{post.title} ({post.points} pts)")

asyncio.run(main())

4. Watch it run

Every session has a liveUrl — a real-time view of the browser. Use it for debugging, embedding in your app, or handing control to a human mid-task.
client = AsyncBrowserUse()
session = await client.sessions.create()
print(session.live_url)  # open this or embed in an iframe

result = await client.run(
    "Get the top 3 posts from Hacker News",
    session_id=session.id,
)

5. Add profiles, proxies, and 1Password

Use saved browser profiles for authenticated sites, residential proxies for geo-specific content, and 1Password for auto-filling credentials and 2FA codes.
client = AsyncBrowserUse()

session = await client.sessions.create(
    profile_id="your-profile-id",       # saved cookies & localStorage
    proxy_country_code="us",             # residential proxy
)

result = await client.run(
    "Get my latest order status",
    session_id=session.id,
    op_vault_id="your-vault-id",         # 1Password auto-fill
    allowed_domains=["*.example.com"],    # restrict agent navigation
)
See Tasks for all parameters, or browse Tips for copy-paste recipes.