Real browsers that don't get blocked.
Browsa is Chromium rebuilt so websites see a normal person, not a bot. Call it from code and your agents get a real browser in seconds, or open profiles by hand to run many accounts.
300 free credits. No card required.
- Browsa, headless score
- 19%
- Plain automation
- 94%
- Engine
- Chromium 147
Same checks. Different browser.
Detection scripts don't look at one thing. They compare dozens of small signals and flag anything that doesn't add up. Scroll to run the checks against typical headless Chromium, then against Browsa.
Left column: a typical headless Chromium in a container. Right column: measured on Browsa cloud sessions, September 2026. Headless score from our weekly CreepJS run.
Every browser is a different person.
Each session gets its own device, fonts, graphics card, screen and timezone, kept consistent across every check. Nothing is shared between them, so one flagged session never takes the others down.
Burner 5 to 60 min
A fresh identity for one job: fill a form, read a page, run a check. It self-destructs when the timer ends. POST /v1/agents {"ttl":"5m"}
Persistent months
A durable identity that keeps its cookies, logins and history between runs, and can be warmed up on a schedule. For agents that need to be remembered.
Keep your code. Change one line.
Browsa speaks the Chrome DevTools Protocol, so Playwright, Puppeteer and Selenium work as they are. Or skip the browser code and hand the task to an agent.
Install
Python or TypeScript. No runtime dependencies.
pip install browsa npm i browsa
Get a browser
One call returns a real browser and its CDP address.
agent = c.create_agent(ttl="5m") cdp_url = c.get_cdp_url(agent["id"])
Point Playwright at it
Replace launch() with a connect. Scripts run unchanged.
browser = p.chromium.connect_over_cdp(
cdp_url)
One engine. Two products.
Browsa Agents
A real browser your code can control. One request, a browser back in seconds, ready for your agent or your Playwright scripts.
- Burner and persistent identities
- Python, TypeScript, REST and MCP
- Live view of every run, webhooks, CSV and NDJSON exports
Browsa Platform
Run many accounts without them being linked. Each profile is its own device with its own cookies and your proxy, in the cloud or on your computer.
- Profiles in the cloud or on your desktop
- One-click cookie warm-up
- Share profiles with your team
Credits that never expire.
One credit is one burner browser, or one step of an agent task. Buy packs when you need them. Failed launches are refunded automatically.
Straight answers.
Is this just injected scripts on a normal browser?
No. The changes live inside the browser engine, below the level any page script can inspect. Injected scripts sit in the page's own JavaScript, which is exactly where detection code looks. We measure the difference every week; see the benchmarks page.
Will my Playwright code work?
Yes. Replace chromium.launch() with chromium.connect_over_cdp(agent.cdp_url) and drop your headless, proxy and user-agent flags. Puppeteer, Selenium and raw CDP work too.
Do you provide proxies?
No. Browsa connects directly by default, and you can bring any HTTP or SOCKS5 proxy per browser. The timezone and language follow the proxy's country so the whole identity stays consistent.
Do I pay for the AI model?
No. Agent tasks use your own Anthropic or OpenAI key, and we don't mark up model usage. Credits only cover the browser.
Why credits instead of a subscription?
Agent traffic is spiky: nothing for days, then hundreds of runs in an hour. Credits match that. Persistent identities are monthly because they cost us something every day they exist.
What if a site blocks my agent anyway?
The run keeps going and you see the block page in your results, so your code decides what to do: retry with a new burner, switch proxy, or stop. No browser passes everything, and we publish where ours stands.
Start with 300 free credits.
Type your email and press Enter. We'll take you to sign-up with it filled in.