Browsa
Browser infrastructure for AI agents

A real browser for every agent.

Browsa runs real Chromium in the cloud for your AI agents and automations. One API call returns a browser in seconds, ready for Playwright, Puppeteer, MCP or a plain-language task.

300 free credits. No card required.

Browsa, headless score
19%
Plain automation
94%
Engine
Chromium 147
POST /v1/tasksrequest builder

      
1 credit per step. Bring your own LLM key.
sample runrecorded output
What a website sees

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.

fingerprint inspectorscanning
signalvalue seen by the pageverdict
flagged 8/8passed 0/8

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.

One browser, or a thousand

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.

0 identities, 0 unique fingerprints

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.

Three minutes to a first agent

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.

01

Install

Python or TypeScript. No runtime dependencies.

pip install browsa
npm i browsa
02

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"])
03

Point Playwright at it

Replace launch() with a connect. Scripts run unchanged.

browser = p.chromium.connect_over_cdp(
    cdp_url)
What teams build on it

Anything a person does in a browser.

If the work happens on a website, an agent on Browsa can do it: read, click, type, download and report back.

POST /v1/tasks

AI agents

Give your agent a browser it can use like a person. Describe the job in plain language, or connect Claude and Cursor through the MCP server.

persistent identities

Workflow automation

Log in to supplier portals, download invoices, update records and submit forms. Logins and cookies stay put between runs.

/v1/quick/extract

Data extraction

Turn public web pages into structured data, including pages that only render with JavaScript. Export to CSV or NDJSON.

/v1/schedules + webhooks

Monitoring

Check prices, stock and page changes on a schedule. A signed webhook tells your system the moment something moves.

connect_over_cdp

Testing and QA

Run your Playwright or Puppeteer suites on real Chromium in the cloud, in parallel, from any locale, without keeping a browser grid running.

live view

Human in the loop

Watch any run live from your browser and step in yourself when a page needs a person.

Pay for what runs

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.

500
Each one: a fresh identity for up to 5 minutes.
1,000
A typical task takes 3 to 10 steps.
0
$5 per identity per month.
estimated per month
$0
Free$0300 credits, once
Starter$20200 credits
Growth$1001,200 credits
Pro$5007,500 credits
Help

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.

$browsa signup
No card required.press Enter