What Obscura is, the Rust headless browser for AI agents
Description and use
Obscura is a lightweight Rust headless browser engine that reduces memory usage by about 13× compared to headless Chrome, while remaining fully compatible with Playwright and Puppeteer via CDP, though rendering fidelity is not yet on par with Chromium.
Problem
Headless Chrome consumes excessive memory and startup time when many concurrent sessions are needed for AI agents.
Outcome
Obscura delivers a dramatic memory advantage over headless Chromium, with comparable performance on static pages and similar latency on dynamic sites. It is fully compatible with existing automation tools via CDP and offers a lightweight, no‑Chrome alternative for AI agent workloads.
Workflow
- Download the aarch64‑linux binary from the latest release
- Extract the tarball
- Run
./obscura fetch https://example.com --eval "document.title"to evaluate JavaScript - Run
./obscura serve --port 9222 --stealthto start a CDP server - Connect Playwright or Puppeteer using
connectOverCDPto the local port - Navigate, evaluate, and capture pages as needed
- Optionally use the rendering path with
--stealthor the Docker image
Evidence
Obscura landed on GitHub in April 2026 and has collected 24,624 stars in five months.
Its reproducible advantage is memory. In my tests it used about 38 MB per session against 532 MB for headless Chromium on the same page.
Playwright and Puppeteer connect without a single code change: point connectOverCDP at the port obscura serve opens.
I downloaded the aarch64-linux variant of v0.2.1 and ran it in an ARM64 Linux container on 4 September 2026, measuring wall time and peak resident memory across the process tree.
- Record date: 2026-10-18T21:41:26.691Z