Alternatives / Cloudflare Browser Rendering
A Cloudflare Browser Rendering alternative without the Workers tax
CDP from any host, any language, any cloud. No Workers Paid floor. Live preview included.
Cloudflare Browser Rendering is a great fit if you're already deep in Workers. Cheapest raw rate in the category and great cold starts on the edge. This page is for the other case: you want a Chromium endpoint from outside Cloudflare, without adopting Workers.
Free tier · $0.15/hour after · No credit card
Side by side
| Bug0 Browsers | Cloudflare Browser Rendering | |
|---|---|---|
| Monthly minimum | $0 | $0 free / $5 Workers Paid |
| Effective hourly rate | $0.15 | $0.09 |
| Billing unit | Per minute | Per hour (Workers) |
| Free tier, no credit card | Yes | Yes (Workers account) |
| Standard CDP URL | Yes | Yes |
| Live preview | noVNC on every session | Not documented |
| Self-host option | No | No |
| Stealth / captcha built in | No | Not documented |
| Proxies built in | No | Cloudflare network |
Pricing accurate as of April 2026. We update as Cloudflare Browser Rendering changes theirs.
Migrate when you leave Workers
If you've been driving Cloudflare Browser Rendering inside a Worker, your Bug0 code lives in any Node/TS process. The Puppeteer/Playwright call shape is the same.
Cloudflare Worker
import puppeteer from "@cloudflare/puppeteer";
export default {
async fetch(req, env) {
const browser = await puppeteer.launch(env.MYBROWSER);
const page = await browser.newPage();
await page.goto("https://example.com");
return new Response(await page.content());
},
};Bug0 (anywhere)
import { Bug0 } from "@bug0/sdk";
import { chromium } from "playwright";
const bug0 = new Bug0({ apiKey: process.env.BUG0_API_KEY });
const { cdpUrl } = await bug0.createBrowser();
const browser = await chromium.connectOverCDP(cdpUrl);
const page = browser.contexts()[0].pages()[0];Worker bindings (env.MYBROWSER) are gone, replaced by an HTTP API call. Same Playwright/Puppeteer surface afterward.
Where Cloudflare Browser Rendering wins
- Cheapest raw rate in the list. $0.09 per browser-hour on Workers Paid.
- Runs on Cloudflare's global network. Low cold starts.
- CDP is exposed for external connections. You are not forced to run code inside Workers.
Where Bug0 wins
- No platform lock-in. Connect from any host, any language, any cloud.
- Live noVNC preview is included, not absent from the product surface.
- No Workers Paid floor to cross before usage-based pricing kicks in.
Pricing math
Cloudflare is $0.09/hr, but only after $5/mo Workers Paid (10 hours included) plus $2 per additional averaged browser. Bug0 is $0.15/hr with no floor. Crossover for a single-browser workload is ~68 hours/month: below that, Bug0's no-minimum side is cheaper; above it, Cloudflare's lower per-hour rate wins, if you're already on Workers.
Frequently asked questions
Should I just use Cloudflare if I'm already on Workers?
Probably yes. The integration is tight and the raw rate is the lowest in the category. Pick Bug0 when you're not on Workers, or when you want to call from outside Cloudflare's edge.
Does Bug0 give me a CDP endpoint I can hit from anywhere?
Yes. wss:// URL, no Cloudflare account required, no Worker to deploy.
What about session preview?
Bug0 ships noVNC live preview on every session. Cloudflare's docs don't surface a live viewer.
Can I run Bug0 from a Cloudflare Worker?
Yes. Workers can fetch() the Bug0 API. The websocket connect happens from your code, not Cloudflare's. If you want browser bindings inside Workers, stay on Cloudflare.
Pricing comparison?
Cloudflare: $5/mo Workers Paid floor (10 hrs included) + $0.09/hr + $2 per additional averaged browser. Bug0: $0.15/hr, no floor. For a single-browser workload, crossover is around 68 hours/month. Below that, Bug0 is cheaper than the equivalent Cloudflare bill.
Free tier?
10 browser-minutes free, no credit card. Cloudflare gives 10 minutes per day on the free Workers tier.