Obscura: Rust Headless Browser for AI Agents — 14,000 Stars
Obscura (14,788 GitHub stars) is a Rust headless browser engine for AI agents and web scraping. 30MB memory, 85ms page load, built-in anti-detection. Drop-in replacement for headless Chrome with Puppeteer and Playwright support. Docker and binary installs.
- ⭐ 14788
- Rust
- Apache-2.0
- Updated 2026-08-27
Mem0: 56K+ Stars — AI Agent Memory Performance Tuning Guide 2026 • Persistent Memory for AI Coding Agents in 2026
Introduction #
AI agents need to browse the web — but headless Chrome is a heavyweight. A typical headless Chrome instance consumes 500MB+ of memory and takes seconds to cold-start. For an agent that needs to check a dozen pages per task, that overhead adds up fast. Obscura is a Rust headless browser engine built for exactly this workload: 30MB memory, 85ms page loads, built-in anti-detection, and a drop-in API compatible with Puppeteer and Playwright.
Architecture #
┌───────────────────────────────────────────────────┐
│ Obscura Architecture │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ CLI / Server Interface │ │
│ │ fetch │ serve │ scrape │ eval │ dump │ │
│ └──────────────────────┬──────────────────────┘ │
│ │ │
│ ┌──────────────┼──────────────┐ │
│ ▼ ▼ ▼ │
│ ┌────────────┐ ┌────────────┐ ┌──────────┐ │
│ │ fetch() │ │ serve() │ │ scrape() │ │
│ │ Single page │ │ CDP server │ │ Parallel │ │
│ └─────┬──────┘ └─────┬──────┘ └────┬─────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Rust Core Engine │ │
│ │ • V8 JavaScript engine │ │
│ │ • Chrome DevTools Protocol (CDP) │ │
│ │ • Stealth mode (anti-detection) │ │
│ │ • Tracker blocking │ │
│ └─────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Drop-in replacement for Chrome │ │
│ │ ✅ Puppeteer ✅ Playwright │ │
│ └─────────────────────────────────────────────┘ │
└───────────────────────────────────────────────────┘
Installation #
# Binary install
curl -fsSL https://github.com/h4ckf0r0day/obscura/releases/latest/download/obscura-linux-x86_64 -o obscura
chmod +x obscura && sudo mv obscura /usr/local/bin/
# Docker
docker pull h4ckf0r0day/obscura
Quick Start #
Fetch a Page #
obscura fetch https://example.com --output page.html
Interactive Scraping #
obscura scrape https://example.com --selector ".product-title" --format json
Serve as a CDP Server (Puppeteer/Playwright compatible) #
obscura serve --port 9222
Using with Puppeteer #
// puppeteer-compatible: just point at Obscura
const puppeteer = require('puppeteer-core');
const browser = await puppeteer.launch({
executablePath: 'obscura', // instead of chrome
args: ['--headless'],
});
const page = await browser.newPage();
await page.goto('https://example.com');
const text = await page.evaluate(() => document.title);
console.log(text); // "Example Domain"
await browser.close();
Using with Playwright #
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(executable_path="obscura")
page = browser.new_page()
page.goto("https://example.com")
print(page.title())
browser.close()
AI Agent Integration #
Obscura’s low footprint makes it ideal as an MCP server tool for agents:
{
"mcpServers": {
"obscura": {
"command": "obscura",
"args": ["serve", "--port", "9222", "--mcp"]
}
}
}
Agents can then fetch pages, extract content, and interact with sites through standard browser tools — with far lower latency and memory than headless Chrome.
Stealth & Anti-Detection #
Obscura includes built-in stealth features:
- Canvas/WebGL fingerprint randomization
- Navigator API normalization (removes headless markers)
- Tracker and ad blocking by default
- Realistic viewport and user-agent defaults
Benchmarks #
| Metric | Obscura | Headless Chrome |
|---|---|---|
| Memory footprint | ~30MB | 500MB+ |
| Cold start | ~85ms | 1-3s |
| Page load (simple) | ~150ms | ~800ms |
| Binary size | ~15MB | ~150MB+ |
Conclusion #
For AI agents and scraping workloads, Obscura replaces a heavyweight dependency with a lightweight, fast, anti-detection headless browser that drops into existing Puppeteer/Playwright tooling. If your agent does any web interaction, Obscura is worth serious evaluation in 2026.
💬 Discussion