tldr: Bug0 Browsers is a new Browser-as-a-Service for 2026. Cloud Chromium with per-minute billing, live preview on every session, and standard CDP. Built for Playwright, Puppeteer, and AI agents.
The problem we kept hitting
Every AI agent we shipped this year needed a browser. Every single one.
Running Chromium locally stopped working fast. One agent per laptop is fine. Fifty agents in CI is a resource fire. What we wanted was a Browser-as-a-Service: cloud Chromium on demand, metered by the minute, with a real CDP URL we could point Playwright or Puppeteer at. Our options looked like this:
-
Spin up our own browser infrastructure. Weeks of work, ongoing maintenance, not our core problem.
-
Use an existing cloud browser. Monthly tiers that did not match our spiky usage. Live preview paywalled. Proprietary SDKs pulling us into vendor lock-in.
Neither was acceptable. So we built the third option.
What we shipped: cloud Chromium as a Browser-as-a-Service
Bug0 Browsers gives you real Chromium in the cloud with one API call. No SDK required, no monthly tier, no infrastructure to maintain.
curl -X POST https://browsers.bug0.com/api/v1/sessions \
-H "Authorization: Bearer bug0_sk_YOUR_KEY"
You get back a CDP URL. Playwright and Puppeteer connect to it like any local browser.
import { chromium } from "playwright";
const res = await fetch("https://browsers.bug0.com/api/v1/sessions", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.BUG0_API_KEY}` },
});
const { cdpUrl, livePreviewUrl } = await res.json();
const browser = await chromium.connectOverCDP(cdpUrl);
const page = browser.contexts()[0].pages()[0];
await page.goto("https://example.com");
That is the whole integration. No SDK required. No proprietary client.
The specs:
-
Pricing: $0.15/hour, billed per minute. No idle charges when sessions close.
-
Free tier: 10 browser-minutes. No credit card.
-
Startup: 5-15 seconds cold, from a pre-baked Chrome snapshot.
-
Session lifetime: 60 seconds to 45 minutes, configurable per call.
-
Live preview: noVNC URL in every session response. Every tier.
-
Integration paths:
@bug0/sdkfor Node,@bug0/clifor scripts, raw HTTP for everything else. -
Ready for AI: copy-paste MCP prompt for Cursor, Claude, and ChatGPT.
Why per-minute billing
Monthly tiers punish spiky workloads.
Agent runs are bursty. Scraping jobs are bursty. CI test suites are bursty. Real browser usage spikes and collapses hour to hour.
Existing cloud browsers charge $20 to $200+ per month to get started, with usage overages on top. For a team running 4 hours of browser time a day, that math works. For the team running 15 minutes one day and 8 hours the next, it does not.
$0.15 per hour billed per minute. No minimum. No tier. You pay for the minutes you use. That is the only pricing model that matches how agents and CI actually run.
Why live preview on every session
AI agents misbehave.
They click the wrong button. They miss a modal. They loop. When it happens, you want to watch, not reconstruct the failure from logs three hours later.
Every Bug0 Browsers session returns a livePreviewUrl in the create response. noVNC. Real headed Chrome on a virtual display. Free tier included.
The competitors that offer live preview gate it behind a paid plan. That is the wrong default for agent work. You should be able to watch your browser on the free tier.
Why no proprietary SDK
CDP exists so you do not need one.
Your Playwright code already works. Your Puppeteer code already works. Anything speaking the Chrome DevTools Protocol already works. We expose that URL and get out of your way.
You can also use @bug0/sdk if you want typed helpers and a cleaner create/stop lifecycle. It is a thin wrapper. Optional. Your automation code stays vendor-neutral.
If you decide tomorrow that another provider fits you better, you change one URL. That is the deal with standard CDP. We did not want to be the reason you cannot.
Session lifecycle
Every session is isolated: its own Chrome process, file system, and network. When you call POST /api/v1/sessions, you get back a CDP URL and a livePreviewUrl. The browser is yours until you call DELETE /api/v1/sessions/:id or the timeout fires.
The default timeout is 15 minutes. Maximum is 45 minutes, configurable per call. Idle sessions do not linger, and you stop paying the moment a session closes.
Auth is a Bearer token prefixed bug0_sk_. Sign in with Google, mint a key from the dashboard, send it on every request.
Bug0 Browsers vs Browserbase vs Browserless
| Feature | Bug0 Browsers | Browserbase | Browserless |
|---|---|---|---|
| Starting paid plan | Pay-as-you-go, no monthly commitment | $20/month Developer (100 browser-hours included) | $25/month Prototyping, annual billing (20,000 units) |
| Per-hour cost | $0.15/hour, billed per minute | $0.12/hour overage on Developer tier | Unit-based, 30-second blocks |
| Free tier | 10 browser-minutes, no card | 1 browser-hour/month, 1 concurrent | 1,000 units/month, 1 concurrent |
| Live preview | Every tier, free | Paid tiers only | Paid tiers only |
| Primary SDK | Vanilla CDP + optional @bug0/sdk | Stagehand (AI SDK on Playwright) | Custom SDK + raw CDP |
| Session max | 45 minutes | Plan-dependent | 15 to 30 minutes |
| Vendor lock-in | None, standard CDP URL | Stagehand is the pushed path | Unit model + custom SDK |
Pick Browserbase if Stagehand's AI automation primitives fit your stack and your load is predictable enough for monthly hours. Pick Browserless if you are already on their unit model and happy with the mature proxy network. Pick Bug0 Browsers if your usage is spiky, you want live preview on the free tier, and you want to stay on vanilla CDP.
Who it's for
AI agent builders. The agent loop wants isolated, disposable browsers. Point Playwright MCP or your custom tool at a Bug0 Browsers CDP URL. Watch the agent run in the live preview. Tear it down. Every run is hermetic.
Scraping teams. Datacenter IPs get flagged fast. Every session egresses from our infrastructure, not yours. Per-minute billing means you pay for the scrape jobs you ran, not a monthly tier sized for your peak day.
E2E testing in CI. Parallel, hermetic Chromium in 5-15 seconds. No npx playwright install on every runner. Works with your existing Playwright test suite unchanged.
What's next
The v1 is deliberately small. Real Chromium, real CDP, real live preview, honest pricing. That is the primitive we wanted to exist.
Coming after that: configurable residential proxies, region selection, session recording beyond live preview, a hosted Playwright MCP endpoint so agents can skip the connection boilerplate entirely.
If you are building agents, automating scraping, or running browser tests in CI, try it. 10 browser-minutes free, no card.
FAQs
Is Bug0 Browsers a Browserbase alternative in 2026?
Same primitive, different defaults. Browserbase's Developer plan starts at $20/month with 100 browser-hours and $0.12/hour overage, and it pushes Stagehand, an AI-automation SDK on top of Playwright. Bug0 Browsers is $0.15/hour billed per minute with no monthly commitment, ships live preview on the free tier, and stays on vanilla CDP. Pick Browserbase if you want Stagehand's AI primitives and predictable monthly hours. Pick Bug0 Browsers if you want per-minute billing and no proprietary SDK.
Is Bug0 Browsers a Browserless alternative in 2026?
Browserless uses a unit-based model in 30-second blocks, starting at $25/month for 20,000 units (3 concurrent), with the Starter tier at $140-200/month for 180,000 units. Live preview sits behind paid tiers. Bug0 Browsers is per-minute from $0.15/hour with live preview free on every session, and offers SDK, CLI, and raw HTTP integration paths. If you are already on Browserless and the units match your load, stay. If you are starting fresh or your usage is spiky, Bug0 Browsers is the simpler default.
Can I use Playwright MCP with Bug0 Browsers?
Yes. Playwright MCP accepts a CDP endpoint. Point it at a Bug0 Browsers session URL and the MCP server drives the remote Chromium instead of launching a local one. We also ship a copy-ready MCP prompt that wires Cursor, Claude, or ChatGPT to a cloud browser in one paste.
What exactly is in the free tier?
10 browser-minutes. No credit card. No time limit on when you use them. Same live preview, same CDP, same SDK, same everything. When the 10 minutes run out, you add a card and continue at $0.15/hour billed per minute.
How does per-minute billing actually work?
We meter from when the session starts (CDP URL returned) to when it stops (you call DELETE, or the timeout fires). Rounded to the nearest minute. A 90-second session costs 2 minutes. A 12-minute session costs 12 minutes. No idle charges after the session closes.
Which languages are supported?
Anything that speaks CDP. Playwright (JS, TS, Python, .NET, Java), Puppeteer (JS, TS), chromedp (Go), Chromiumoxide (Rust), and any custom CDP client. The @bug0/sdk is Node/TypeScript. The CLI works from any shell.
Is there an SLA?
Not on the free tier. Paid usage runs on the same infrastructure. Formal SLA terms will be published as we move out of the early period. Talk to us if you need specifics for a production rollout.
Where do I get an API key?
Sign in with Google at browsers.bug0.com/login, then mint a key from the dashboard. Keys are prefixed bug0_sk_ and authenticate every API call via Authorization: Bearer.






