Skip to main content

How much does a task cost?

Set max_cost_usd to cap spending per task. Default is 20.Atypicaltaskcosts20. A typical task costs 0.01–$0.05. Check result.total_cost_usd after each task.

Which model should I use?

  • bu-mini (default) — faster, cheaper. Good for most tasks.
  • bu-max — more capable. Use for complex multi-step workflows.

How do I get the live browser URL?

live_url is not available immediately on session creation. Poll sessions.get() until it appears (~3-5 seconds).
import asyncio
session = await client.sessions.create(task="Go to example.com")
while True:
    s = await client.sessions.get(str(session.id))
    if s.live_url:
        print(s.live_url)
        break
    await asyncio.sleep(0.5)

How do I authenticate on websites?

  1. Profiles — sync your local browser cookies: curl -fsSL https://browser-use.com/profile.sh | sh. See Profiles.
  2. 1Password — auto-fill passwords and 2FA codes. See 1Password & 2FA (v2 SDK).
  3. Secrets — pass credentials scoped by domain. See Secrets (v2 SDK).

Task failed or wrong output

  • Add a start URL. Don’t make the agent search — send it directly.
  • Simplify instructions. Break complex tasks into smaller follow-up tasks in the same session.
  • Check the live URL. Watch what the agent does in real time.
  • Try bu-max. More capable model for harder tasks.

Getting blocked by a website

Stealth is on by default. If still blocked:
  • Try a different proxy country to match the target region.
  • Use a profile with logged-in cookies to bypass login walls.

Rate limited (429 errors)

The SDK auto-retries 429 responses with exponential backoff. If persistent, you may need more concurrent sessions — contact support.

How do I save files from a task?

Use workspaces. See Workspaces & files.
workspace = await client.workspaces.create(name="my-workspace")
result = await client.run("Save top 3 HN posts as posts.json", workspace_id=str(workspace.id))
files = await client.workspaces.files(str(workspace.id), include_urls=True)

How do I use Browser Use as a sub-agent?

Use client.run() inside your agent’s tool function. For a full working example with streaming and live preview, see the Chat UI tutorial.

v2 vs v3 — which should I use?

Use v3 (from browser_use_sdk.v3 import AsyncBrowserUse). It has sessions, workspaces, live messages, and recording. v2 is legacy — only use it if you need secrets, allowed_domains, or op_vault_id.