ONE REAL BROWSER, TWO WAYS TO USE IT

Real browsers that
don't get blocked.

Browsa is a real web browser built to look like a normal person, not a bot. Use it yourself to run many accounts without getting banned, or call it by API so your code and AI agents can browse without getting blocked.

Open the platform → Get an API key →
No credit card. Unlimited profiles + 300 free agent credits.
# Provision a 5-minute burner identity. Returns a CDP URL you
# drop straight into Playwright / Puppeteer / your own CDP client.
curl -X POST https://browsa.io/v1/agents \
  -H "X-API-Key: $AGENTS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ttl":"5m","country":"us"}'

# → 201 Created
{
  "id":           "agt_01HXYZ...",
  "cdp_url":      "wss://browsa.io/api/v1/cdp/<profile>/ws/page/...",
  "expires_at":   "2026-06-05T09:34:00Z",
  "ttl_seconds":  300,
  "trust_score":  760,
  "cost_credits": 1
}
# pip install browsa
from browsa import Client

c = Client(api_key="agt_live_...")

# Run a browser-driven AI task. Returns when done.
# Real Chromium + Claude Opus + 5-second live noVNC stream.
job = c.run_task(
    task="Go to news.ycombinator.com and return the top story title.",
    llm="claude-opus-4-8",
    llm_api_key="sk-ant-...",
)
print(job.final_result)
print("watch live:", job.live_url)
# → "Show HN: Self-host…"  + live stream URL while it ran
// npm i browsa
import { Client } from "browsa";

const c = new Client({ apiKey: "agt_live_..." });

// Same one-shot API. Returns when the agent finishes.
const job = await c.runTask({
  task: "Go to news.ycombinator.com and return the top story title.",
  llm: "claude-opus-4-8",
  llmApiKey: "sk-ant-...",
});
console.log(job.finalResult);
console.log("watch live:", job.liveUrl);
// Returns the actual top-story title as text.
// Claude Desktop config (claude_desktop_config.json)
// Once added, ask Claude: "go to news.ycombinator.com and tell me the top story"
{
  "mcpServers": {
    "browsa": {
      "command": "npx",
      "args": ["-y", "@browsa/mcp"],
      "env": {
        "BROWSA_API_KEY": "agt_live_...",
        "BROWSA_LLM_API_KEY": "sk-ant-..."
      }
    }
  }
}

// Claude Desktop now has 9 tools: run_task, get_job, cancel_job, respond_to_job,
// credits, list_webhooks, create_webhook, delete_webhook, list_identities.

Two ways to use Browsa.

Both run on the same real browser. Pick the one that fits how you work, or use both on one account.

FOR PEOPLE & TEAMS

Browsa Platform

Run many accounts without getting banned.

Create as many browser profiles as you need. Each one looks like a different real person, so your accounts stay separate and never get linked. Open them on your computer or in the cloud, and share them with your team.

  • A separate identity for each profile
  • Runs on your computer or in the cloud
  • One-click warm-up to build trust
  • Share and manage with your team
Open the platform →
Great for affiliate marketers, growth teams & account managers.
FOR DEVELOPERS & AI

Browsa Agents

A real browser your code can control.

Send one request and get a real browser back in about two seconds. Point Playwright or Puppeteer at it, or let your AI agent drive it. It browses like a real person, so it doesn't get blocked.

  • A real browser in ~2 seconds
  • Works with Playwright & Puppeteer
  • Python & TypeScript libraries + MCP
  • One-off or long-lived browsers
Get an API key →
300 free credits. No card required.

How Browsa works.

Click through it yourself, or drive it from code. Either way, you get the same real browser that websites treat as a genuine person.

If you run accounts yourself

Use the Platform

  1. Create a profile. Each one gets its own identity: a unique device, its own cookies, and your proxy.
  2. Open a browser. Launch it on your computer or in the cloud. It looks like a completely different real person.
  3. Run your accounts safely. Manage dozens of logins side by side without them getting linked, flagged, or banned.
Open the platform →
If you build software or AI agents

Use the API

  1. Send one request. You get a real browser back in about two seconds, ready to control.
  2. Point your code at it. Use Playwright, Puppeteer, or your AI agent. Nothing new to learn.
  3. Browse without getting blocked. Your bot loads pages like a normal visitor instead of hitting "access denied".
Get an API key →

Why it doesn't get blocked.

Most tools hide automation by bolting extra scripts onto a normal browser. Detection sites are built to catch exactly those scripts. Browsa is a real, custom-built browser instead, so there's nothing bolted on to catch.

01

It's a genuinely real browser

We rebuilt the browser deep inside, fixing 50+ of the tiny signals websites use to tell a person from a bot. In our own weekly test, detection sites flag a normal automated browser 94% of the time. They flag Browsa only 19%. That gap is why your accounts and agents get through.

02

One browser, or a thousand

Open a single browser or spin up thousands at once. Each one is completely separate and shares nothing with the others, so if one ever gets flagged, the rest keep working. Use them once and throw them away, or keep them for months.

03

You can see how real it looks

Every browser comes with a simple trust score from our own detection tests, so you know how genuine it looks before you rely on it, and can refresh it if the score ever drops. No other tool shows you this.

Two modes. One API.

Customer decides per-call. Same auth, same SDK, same CDP endpoint, same dashboard, same bill.

BURNER

Ephemeral.

Fresh identity in 2 seconds, self-destructs in 5–60 minutes. Pay per call. No correlation history. Perfect for one-shot AI agent tasks: fill a form, scrape a page, run a check.

POST /v1/agents
{ "ttl": "5m" }

→ 1 credit ($0.10)
  • Fresh identity per call, never reused
  • 5min – 1hr TTL, customer picks
  • No state, no vault, no correlation
  • Auto-destructs on TTL
PERSISTENT

Durable.

Long-lived identity with state: cookies, localStorage, login session, browsing history. For agents that need to remember things across runs. Trust score grows as the identity ages, like a real user.

POST /v1/agents
{ "persona": "us-shopper-30s",
  "warmup": "amazon" }

→ $5/identity/month
  • Cookies + localStorage persist across calls
  • Cookie Robot warming, optionally on a schedule
  • Trust score grows with age
  • Re-attach via POST /v1/agents/:id/sessions

For developers.

Everything you need to build with the API. Start where you are.

Dashboard

Mint API keys, watch jobs land, register webhooks, download CSV/NDJSON. Sign in once.

Quickstart

Pick a language, pick a library, copy three blocks. First burner in 90 seconds.

{ }

API Reference

Every endpoint, every field, every error code, with copy-ready curl, Python, and TypeScript snippets.

</>

Cookbook

Ten copy-paste recipes: trust audits, paste-ready Playwright, idempotent retries, webhooks, fingerprint pinning.

MCP Server

Drop into Claude Desktop, Cursor, Continue. 8 tools. Zero code to drive browsers from your AI assistant.

UNIQUE

Live Benchmarks

Open-source realism harness on the same detection sites and hardware. Run it yourself. No vendor publishes this.

See the difference, tested weekly.

Every week we run Browsa and a normal automated browser through the same detection sites, on the same hardware. Here's how they compare. The test is open-source, so you can run it yourself. Live leaderboard →

Detection site Browsa Vanilla Playwright
same hardware, no realism patches
CreepJS
% like headless (lower = better)
19% 94%
fingerprint.com BotD ✓ pass ✗ bot:true
antoinevastel "are you headless" NOT_HEADLESS HEADLESS_DETECTED
amazon.com search cards visible "Sorry, something went wrong"
google.com search results render /sorry/ interstitial

Public head-to-head against Hyperbrowser / Browserbase / Browserless rolls out as the harness picks them up. Each one runs against the same 5 detection sites on the same hardware. Source: services/detection-harness on GitHub. Reproduce with one command.

Proof
Reproducible Updated weekly
19%
CreepJS reports our cloud agents as 19% headless. Vanilla Playwright reports 94%. That gap is why your scraper completes where ordinary automation gets blocked.
50+
Patches deep in the browser engine: navigator.webdriver, canvas noise, audio entropy, WebGL Apple-shape, shader precision. Not JS shims.
2s
Median time from POST /v1/agents to a CDP-ready browser. Provision, attach proxy, warm-up, return. Every region.

Three minutes to your first agent.

Pick a language, pick a library, copy three blocks. That's it.

1

Install

One pip command. The SDK has zero runtime dependencies, pure stdlib.

$ pip install browsa
2

Run a task

Five lines. Get back the agent's result + a live noVNC stream URL.

from browsa import Client

c = Client(api_key="agt_live_...")
job = c.run_task(
    task="Top HN story title.",
    llm="claude-opus-4-8",
    llm_api_key="sk-ant-...",
)
print(job.final_result)
3

Drive it

Your existing Playwright code works unchanged. Just swap chromium.launch() for chromium.connect_over_cdp(agent.cdp_url).

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(agent.cdp_url)
    page = browser.new_page()
    page.goto("https://news.ycombinator.com/")
    print(page.title())
    page.screenshot(path="hn.png")

Pricing.

Credit packs that never expire. Failed provisions auto-refund. No subscription needed for burner.

Free
$0 for 300 credits
For your first agent. No card required.
Starter
$20 for 200 credits
Pay-as-you-go. Bring your own proxy.
See full pricing → Pro pack $500 → 7,500 credits. Enterprise on request

Honest answers.

The questions everyone asks but no real-browser vendor wants to answer publicly.

Is this just injected browser scripts with extra steps?

No. The browser running underneath Browsa is engineered to be indistinguishable from a real user's browser: 50+ patches deep in the engine, not JS injected at page load. Bolt-on scripts are detectable by anyone running their own anti-cheat (they're JS sitting in the global scope). Our changes happen at the layer where fingerprinting actually originates, well before any page script runs. See the realism benchmark.

Why per-call credits instead of a monthly subscription?

Because most AI agents have spiky usage: 5 minutes of demand, then nothing for 3 days, then 200 calls in an hour. A flat-rate $50/month subscription either over-charges the slow developer or under-charges the hot startup. Credits map to actual usage cleanly. Persistent identities are subscription-billed instead, because they cost us money every day they exist (not just when you call them).

What's the difference vs Hyperbrowser / Browserbase?

Functionally similar API surface. The underlying browser is different: ours is a real browser engineered to be indistinguishable from a real user's; theirs are bolt-on scripts on stock browsers. The difference shows on every realism benchmark: Cloudflare, Stripe, Amazon, Booking, and Akamai-protected sites all behave differently. We also publish public benchmarks; they don't.

Will my Playwright code work?

Yes. Replace chromium.launch() with chromium.connect_over_cdp(agent.cdp_url), drop the headless/proxy/UA flags (we handle those), and your existing scripts run unchanged. Puppeteer, Selenium, and raw CDP also work; anything that speaks the Chrome DevTools Protocol does too.

What countries can I route through?

Default routes through Browsa's US-pooled proxies (no charge). Specify country in the request (e.g. "uk", "de", "fr") for country-targeted routing, which costs +1 credit per call. Country-specific proxies cover 190+ regions via integrated providers.

What happens if the target site detects my agent?

The agent run continues; we don't crash on a 403. You'll see the bot-wall response in your code and can decide how to handle it (retry with a new burner, route through your own proxy, escalate). The trust score on the response is our best estimate of how real sites' bot systems see it. Flagged-identity webhooks (on the roadmap) will tell you proactively when a persistent identity gets flagged.

What's the difference between Browsa Platform and Browsa Agents?

Browsa Platform is a real browser for managing many accounts by hand: profiles, fingerprints, proxies, teams. Browsa Agents is the same real-browser engine exposed as a per-call API for AI agents. Different surface (desktop + dashboard vs REST + CDP), different customer (operators vs developers), same undetectable browser underneath.

Get started with Browsa.

Unlimited profiles on the platform, or 300 free credits on the agent API. No card required.

Open the platform → Get an API key →