AI Deck

Obscura — A lightweight Rust-based headless browser engine built for AI agents and web scraping

An open-source headless browser engine written in Rust, born from the idea of giving every agent its own dedicated browser. Until now, headless Chrome has been the default choice for AI agent automation and web scraping, but it consumes hundreds of megabytes per session, takes time to start, and carries state such as cookies and cache over into the next run. Obscura addresses all three at once by pairing its own rendering engine with V8 instead of depending on Chromium. In practice, its biggest selling point is Chrome DevTools Protocol (CDP) support: existing Playwright and Puppeteer code can connect to it almost as-is. It was released in April 2026 and has gathered more than 20,000 stars on GitHub (as of August 2026).

Key Features

  • A Rust engine that runs without Chromium: Rendering is implemented from scratch, and JavaScript runs on V8. It ships as a single native binary, with no need for a huge bundled Chromium
  • Light and fast: Per the figures published by the project, a session uses roughly 30 MB of memory (headless Chrome uses over 200 MB) and starts in under 50 milliseconds. Static HTML loads in about 51 ms, and JavaScript-heavy dynamic pages in about 84 ms
  • CDP support, so Playwright and Puppeteer just work: It implements the Target, Page, Runtime, DOM, Network, Fetch, IO, Storage, and Input CDP domains, so migrating is a matter of pointing existing automation scripts at a different endpoint. Use from Selenium is mentioned as well
  • Sessions that carry no state forward: Each session is fully isolated, leaving no cookies or local storage behind. Agents running in parallel never mix each other’s state
  • Stealth mode: Fingerprint randomization, realistic user-agent data, and native function masking, plus blocking of 3,520 known tracker domains
  • A CLI and an MCP server built in: Four entry points ─ obscura fetch (single-page retrieval and screenshots), obscura scrape (parallel retrieval across multiple URLs), obscura serve (CDP WebSocket server), and obscura mcp (MCP server). The MCP server runs over both stdio and HTTP and exposes more than 15 tools to AI agents, including navigation, clicking, typing, and JavaScript evaluation
  • Broad distribution: Binaries for Linux (x86_64 / ARM64), macOS (Apple Silicon / Intel), and Windows, plus AUR, NixOS, a Docker image (about 57 MB compressed), and building from source with Rust 1.75+

Pricing

PlanPriceWhat’s included
Open source (Apache-2.0)$0Every feature, including the engine, CLI, MCP server, and stealth mode. No feature gating. Self-hostable with Docker
Obscura CloudContact requiredManaged hosting, residential proxies, and dedicated support. Waitlist-only as of August 2026

Pricing is current as of August 2026. The open-source edition is free and fully featured. Obscura Cloud has not launched, so no price has been published. Check the official site for the latest information.

Pros & Cons

Pros

  • Far smaller memory footprint and startup time than headless Chrome, letting a single server run many sessions concurrently
  • CDP support means existing Playwright and Puppeteer code moves over with almost no rewriting
  • Apache-2.0 open source with nothing held back, and it can be kept entirely inside your own infrastructure with Docker
  • Fully isolated sessions remove any worry about state pollution when running AI agents in parallel
  • The bundled CLI and MCP server let you connect an agent without writing a script

⚠️ Cons

  • Because the rendering engine is a custom implementation, intricate CSS, some Web APIs, media playback, compositor effects, and platform font rendering can differ from Chromium
  • It is still an evolving project and is not suited to work that requires pixel-level fidelity, such as visual regression testing
  • The managed cloud edition is still at the waitlist stage, so self-hosting is the only option available right now
  • Running it requires server and Docker knowledge; it is not as effortless as a no-code scraping service

Comparison with Similar Services

CriteriaObscuraHeadless Chrome (Playwright / Puppeteer)BrowserbaseBrowserless
DeliveryOSS engine (self-hosted), cloud edition in preparationOSS libraries plus your own ChromiumManaged cloudCloud plus self-hosting
EngineCustom Rust implementation (V8)ChromiumChromium-basedChromium-based
Memory / startupAbout 30 MB, under 50 msOver 200 MB, hundreds of msDepends on the runtimeDepends on the runtime
Reusing existing codeNearly as-is via CDPReusable over a CDP connectionReusable over a CDP connection
Rendering fidelityCan differ from ChromiumThe baselineEquivalent to ChromiumEquivalent to Chromium
PriceFree (Apache-2.0)Free (infrastructure costs only)PaidPaid

Who Is It For

  • Developers who want AI agents to operate real web pages but have hit a ceiling on headless Chrome’s memory usage
  • Anyone scraping large numbers of URLs in parallel who wants to raise the number of sessions one server can handle
  • Teams that want everything to stay on their own infrastructure ─ Apache-2.0 plus Docker avoids lock-in to an external service
  • People who want to give MCP-capable clients such as Claude Desktop or Cursor hands to operate a browser
  • Teams with existing Playwright or Puppeteer code who want to swap only the execution layer for something lighter

Summary

Obscura is a Rust engine that takes the deliberate stance of rebuilding the browser for AI agents and scraping, tackling memory, startup time, and state pollution in one go. Its CDP compatibility makes it easy to move over from existing Playwright and Puppeteer code, and the bundled CLI and MCP server keep the agent-side connection simple. On the other hand, its rendering is not identical to Chromium, so for work that demands display fidelity it is realistic to keep using Chromium alongside it. A good starting point is to pull the Docker image or a binary and point an existing script at it to see how it behaves.

← Blog