What is Obscura
Obscura is an open-source headless browser built with Rust, designed specifically for AI Agents and automation scenarios. The tool skips Chromium's heavy architecture and uses an extremely lightweight independent engine to achieve web page rendering and JavaScript execution, allowing bots to quickly and stealthily browse and operate web pages with low resource consumption. As a streamlined alternative to Chrome, the tool is natively compatible with Puppeteer and Playwright, and can connect directly to AI workflows such as MCP protocoland Claude、Cursor etc., becoming a data bridge connecting large models to the internet.
Obscura's main features
-
Headless scraping: Fetch and render web pages via command line or API, extracting text, links, HTML, or raw resources.
-
Native rendering output: Can generate PNG screenshots, PDF exports, and real-time CDP screen recording streams without relying on Chromium.
-
Stealth anti-detection: One-click Stealth mode, automatically randomizes browser fingerprints and blocks 3500+ trackers.
-
Batch parallel scraping: Concurrently processes multiple URLs through worker processes, supporting JSON output and custom extraction logic.
-
Compatible with existing ecosystem: Fully implements the CDP protocol, serving as a drop-in replacement for Puppeteer and Playwright.
Obscura's technical principles
-
Rust + embedded V8: The core engine is written in Rust to ensure memory safety and high concurrency performance, with V8 directly integrated internally to compile and execute JavaScript, thereby breaking away from Chromium and Node.js dependencies and enabling single-binary deployment.
-
Independent rendering pipeline: Self-developed CSS layout and drawing engine, covering common paths such as block, flex, grid, float, and transform, directly completing rasterization and paginated typesetting, outputting screenshots and PDFs without launching an external browser process.
-
CDP protocol bridging: Implements a subset of the Chrome DevTools Protocol at the Rust layer (Target, Page, Runtime, DOM, Network, Fetch, IO domains, etc.), mapping internal state to Chrome-compatible JSON messages, enabling Puppeteer and Playwright to seamlessly drive it through standard WebSocket connections.
-
Session-level fingerprint randomization: Stealth is built on BoringSSL and a custom transport layer. Each new session regenerates fingerprint features such as GPU, screen resolution, Canvas, Audio, Battery, etc., while blocking at the kernel level
navigator.webdriverand other automation markers, making it impossible for detection scripts to identify the bot through consistency checks. -
MCP tool layer: Encapsulates the Model Context Protocol interface on top of the browser kernel, exposing operations such as navigation, clicking, input, screenshots, PDF, and waiting for elements as standardized tools. AI Agents can incorporate web browsing capabilities into their reasoning chain by calling through stdio or HTTP.
Follow WeChat and reply "open source" to join theAI open-source project communication group
How to use Obscura
- Download and install: Download the compressed package for your corresponding system from GitHub Releases and extract it, with no need to install Chrome or Node.js.
- Single-page scraping: Execute
obscura fetch <URL>to fetch a page, and use--dump html/text/linksto output the desired content. - Start the CDP service: Execute
obscura serve --port 9222to start the CDP server, allowing Puppeteer or Playwright to connect directly instead of Chrome. - Enable stealth mode: Add
--stealthto any command to enable stealth mode, automatically randomizing browser fingerprints and blocking trackers. - Batch parallel scraping: Execute
obscura scrape url1 url2 --concurrency 25to scrape multiple pages in parallel in batches and output JSON results. - Integrate with AI Agents: Execute
obscura mcpto start the MCP server, letting AI tools such as Claude and Cursor directly call the browser to complete automation tasks.
Obscura's core advantages
- Extremely lightweight: A single binary is only 70MB, with memory usage of about 30MB, far below Chromium's hundreds of megabytes of overhead.
Blazing-fast startup: Page loading is as fast as 85ms, and cold start is nearly instantaneous, with no need to wait for Chrome's lengthy initialization.
Zero-dependency deployment: Embedded V8 and a self-developed rendering engine, with no need to install Chromium, Node.js, or any external runtime.
Native anti-detection: Stealth mode has built-in fingerprint randomization and blocking of 3500+ trackers, bypassing anti-scraping mechanisms without additional configuration.
AI-native integration: Through the MCP protocol, it directly provides browser operation capabilities for AI tools such as Claude and Cursor, ready to use out of the box.
Seamless ecosystem compatibility: Full support for the CDP protocol, serving as a drop-in replacement for Puppeteer and Playwright, with zero-cost migration.
Obscura's project address
- Project website:https://obscura.sh/
- GitHub repository:https://github.com/h4ckf0r0day/obscura
Obscura's comparison with similar competitors
| Comparison dimension | Obscura | Lightpanda |
|---|---|---|
| Development language | Rust | Zig |
| Underlying engine | Self-developed Rust engine + embedded V8 + independent native rendering pipeline | Self-developed Zig engine + embedded V8 + html5ever parsing,no graphical rendering |
| Memory usage | ~30 MB | ~24–123 MB (depending on load) |
| Page loading | ~85 ms | ~Millisecond-level startup, execution about 11× faster than Chrome |
| Rendering output | Supportednative screenshots, PDF, CDP screencast streaming | Not supportedvisual rendering, no screenshot/PDF capability |
| Anti-detection capability | Built-in Stealth, automatically randomizes fingerprints and blocks 3500+ trackers | No anti-detection design, no built-in fingerprint disguise |
| AI integration | Native MCP server, supporting direct driving by Claude / Cursor | Native MCP server, supporting AI Agent integration |
| CDP compatibility | Full CDP implementation, plug-and-play with Puppeteer / Playwright | CDP compatible, can connect to Puppeteer / Playwright / chromedp |
Obscura use cases
-
Large-scale e-commerce price monitoring: With 30MB low memory and 25+ concurrency capability, scrape prices and inventory across multiple platforms at high frequency on a single server.
-
AI Agent autonomous browsing: Through the MCP protocol, AI such as Claude and Cursor can directly operate the browser to complete tasks such as research, form filling, and ordering.
-
Anti-scraping sensitive data collection: Stealth mode randomizes fingerprints and blocks trackers, bypassing protections such as Cloudflare to obtain public commercial data.
-
Automated content archiving: The native rendering engine directly generates high-fidelity PDFs and full-page screenshots for compliant archiving of contracts, announcements, and web pages.
-
Edge container real-time monitoring: Single binary, no dependencies, extremely fast startup, suitable for deployment in Docker / Serverless environments for second-level polling monitoring of competitor pages.