| name | browser-use-cloud |
| description | Browser Use Cloud โ anti-detect cloud browser with Playwright direct control (no LLM cost) and Agent mode (LLM-powered). Features: stealth browsing, 195+ country proxies, MP4 recording, screenshots, CAPTCHA bypass. Auto-registers for free API keys. Triggers: browser-use, cloud browser, stealth browser, anti-detect, screen recording, remote browser. |
Browser Use Cloud
Anti-detect cloud browser platform. Provides AI agents with a controllable cloud Chrome instance featuring stealth fingerprinting, proxy rotation, and video recording.
API Key โ Auto-Registration (No Hardcoded Keys)
This skill does not store API keys. Instead, it auto-registers a fresh free account each time credits run out.
How It Works
Browser Use allows AI agents to self-register via a challenge-response flow:
POST /cloud/signup โ request a math challenge
- Solve the obfuscated math problem using LLM reasoning (answer as
"xxx.xx")
POST /cloud/signup/verify โ submit answer, receive api_key
Each free account gets ~$0.10 in credits (~100 Browser-mode sessions).
Registration Flow
curl -s -X POST https://api.browser-use.com/cloud/signup \
-H "Content-Type: application/json" \
-d '{"name": "auto-agent"}'
curl -s -X POST https://api.browser-use.com/cloud/signup/verify \
-H "Content-Type: application/json" \
-d '{"challenge_id": "xxx", "answer": "144.00"}'
When to Re-Register
When you see 402: You need at least $0.10 in credits, the current key is exhausted. Run the registration flow above to get a fresh key.
Cost-Saving Rules
- Always use Browser mode (Playwright direct) โ ~$0.001/session, no LLM cost
- Avoid Agent mode โ burns $0.05-0.10 per call (LLM inference)
- Always stop sessions โ
await client.browsers.stop(browser.id)
- One free key lasts ~100 Browser-mode sessions
Two Modes
1. Browser Mode โ Playwright Direct Control (Recommended, Cheapest)
You control the browser directly via Playwright/CDP. No LLM involved, no LLM cost.
import asyncio, os
from browser_use_sdk.v3 import AsyncBrowserUse
from playwright.async_api import async_playwright
os.environ["BROWSER_USE_API_KEY"] = "YOUR_API_KEY"
async def main():
client = AsyncBrowserUse()
browser = await client.browsers.create(
proxy_country_code="us",
enable_recording=True,
timeout=60,
)
print(f"Live view: {browser.live_url}")
async with async_playwright() as p:
pw = await p.chromium.connect_over_cdp(browser.cdp_url)
page = pw.contexts[0].pages[0]
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png", full_page=True)
title = await page.title()
content = await page.evaluate("document.body.innerText")
print(f"Title: {title}")
await pw.close()
stopped = await client.browsers.stop(browser.id)
print(f"Recording: {stopped.recording_url}")
print(f"Cost: ${stopped.browser_cost}")
asyncio.run(main())
2. Minimal Playwright via WebSocket (One-Liner)
from playwright.async_api import async_playwright
WSS = "wss://connect.browser-use.com?apiKey=YOUR_API_KEY&proxyCountryCode=us"
async with async_playwright() as p:
browser = await p.chromium.connect_over_cdp(WSS)
page = browser.contexts[0].pages[0]
await page.goto("https://example.com")
await page.screenshot(path="shot.png")
await browser.close()
3. Agent Mode โ LLM-Powered Automation (Expensive, Use Sparingly)
The cloud LLM navigates autonomously. Useful for complex tasks but burns credits fast.
os.environ["BROWSER_USE_API_KEY"] = "YOUR_API_KEY"
async def main():
client = AsyncBrowserUse()
result = await client.run(
"Go to https://example.com and extract the main heading",
model="gemini-3-flash",
enable_recording=True,
)
print(result.output)
print(f"Cost: ${result.session.total_cost_usd}")
asyncio.run(main())
Core Features
Screenshots
await page.screenshot(path="full.png", full_page=True)
print(result.session.screenshot_url)
Video Recording (MP4)
browser = await client.browsers.create(enable_recording=True)
stopped = await client.browsers.stop(browser.id)
print(stopped.recording_url)
import urllib.request
urllib.request.urlretrieve(stopped.recording_url, "recording.mp4")
Use cases: product demos, tutorial recordings, bug reproduction videos.
Persistent Login (Profiles)
profile = await client.profiles.create(name="my-account")
session = await client.sessions.create(profile_id=profile.id)
print(f"Login here: {session.live_url}")
await client.sessions.stop(session.id)
browser = await client.browsers.create(profile_id=profile.id)
AgentMail (Built-in Email)
Each session gets a disposable email (e.g. finehand661@mail.bu.app) for signup verification and 2FA codes.
result = await client.run("Sign up on example.com", agentmail=True)
print(result.session.agentmail_email)
Structured Output
from pydantic import BaseModel
class Product(BaseModel):
name: str
price: float
class Products(BaseModel):
items: list[Product]
result = await client.run(
"Go to amazon.com, search 'keyboard', get top 5",
output_schema=Products
)
Cached Scripts (Pay Once, Rerun Free)
result = await client.run(
"Get top @{{5}} stories from https://news.ycombinator.com as JSON",
workspace_id=str(ws.id)
)
result2 = await client.run(
"Get top @{{10}} stories from https://news.ycombinator.com as JSON",
workspace_id=str(ws.id)
)
MCP Server Integration
Add to Claude Code for direct tool access:
claude mcp add -t http -s user \
-H "x-browser-use-api-key: YOUR_API_KEY" \
-- browser-use https://api.browser-use.com/v3/mcp
Available MCP tools:
run_session โ create and run a task
get_session โ check status and cost
send_task โ follow-up task to idle session
stop_session โ stop task or session
list_sessions โ list recent sessions
Update key when expired:
claude mcp remove browser-use
claude mcp add -t http -s user \
-H "x-browser-use-api-key: NEW_KEY" \
-- browser-use https://api.browser-use.com/v3/mcp
Cost Comparison
| Mode | LLM | Browser | Total per Session | Free Key Sessions |
|---|
| Browser (Playwright) | $0 | ~$0.001 | ~$0.001 | ~100 |
| Agent (gemini-flash) | ~$0.03 | ~$0.001 | ~$0.03 | ~3 |
| Agent (sonnet) | ~$0.07 | ~$0.001 | ~$0.07 | ~1 |
Use Cases
| Scenario | Recommended Approach |
|---|
| Screenshot a webpage | Browser mode + page.screenshot() |
| Record product demo / tutorial | Browser mode + enable_recording=True |
| Bypass Cloudflare / anti-bot | Browser mode + proxy |
| Access region-locked content | Browser mode + proxy_country_code |
| Auto-fill forms / login | Browser mode + Playwright |
| Complex multi-step scraping | Agent mode (but costs credits) |
vs Local Browser Automation
| Local (agent-browser / Playwright) | Browser Use Cloud |
|---|
| Runs on | Local machine | Cloud |
| Anti-detection | None | Cloudflare/CAPTCHA bypass |
| Proxy IPs | None | 195+ countries |
| Recording | None | MP4 video |
| Cost | Free | ~$0.001/session |
| Best for | Daily automation | Anti-bot, geo-access, demos |
Installation
pip install browser-use-sdk playwright
python3 -m playwright install chromium
npm install browser-use-sdk