
Your Agent Gets a Browser at 1/7th the Memory: Kitesurf Drops Into Playwright With One Parameter Change
Chris Harper
2 min read
Aug 23, 2026 · 20:04 UTC
TL;DR: Kitesurf (Cloudflare, public beta) is an agent-first browser running in V8 isolates — no Chromium binary, Chrome DevTools Protocol-compatible, 5-7x less memory — and drops into existing Playwright or Puppeteer code with one parameter change.
Giving an agent a browser normally means spinning up headless Chromium: several hundred MB per instance, seconds to initialize, and it won't fit in a V8 isolate. For agents doing screenshots, form fills, or reading pages, that's a significant overhead cost at any scale.
Kitesurf runs entirely inside Cloudflare Workers as V8 isolates. It exposes the Chrome DevTools Protocol (CDP), so existing Playwright and Puppeteer code works without modification — swap your Browser Run endpoint URL and add browser=kitesurf:
browser = await p.chromium.connect_over_cdp(
f"wss://browser.playwright.cloudflare.com?token={TOKEN}&browser=kitesurf"
)
What it handles well: screenshots, HTML extraction, JSON-structured scraping, form interaction, and API calls wrapped in browser requests. Benchmark numbers from Cloudflare: 3–4x less CPU, 5–7x less memory than Chromium.
Where you still need full Chromium: video/audio playback, WebGL rendering, bot-challenge handshakes (including Cloudflare's own bot protection — notable given the source), and multi-step authenticated sessions held open over several minutes. Kitesurf renders 1.7x slower than Chromium on raster-heavy pages — the expected tradeoff for an isolate that isn't doing full pixel rasterization.
Try it without signing up at kitesurf.cloudflare.app — paste any URL to see what Kitesurf returns to an agent.
Sources: Cloudflare blog · TechCrunch · The Next Web