{"name":"obscura: Rust Headless Browser Built on V8 for AI Agents","description":"Obscura is a Rust headless browser for AI agents and web scraping, built on V8 and the Chrome DevTools Protocol. It offers a Chromium alternative with Puppeteer, Playwright, and MCP support, plus an independent rendering engine for screenshots and PDFs.","github":"https://github.com/h4ckf0r0day/obscura","url":"https://osrepos.com/repo/h4ckf0r0day-obscura","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/h4ckf0r0day-obscura","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/h4ckf0r0day-obscura.md","json":"https://osrepos.com/repo/h4ckf0r0day-obscura.json","topics":["rust","ai-agents","browser-automation","web-scraping","headless-browser","chrome-devtools-protocol","anti-detection"],"keywords":["rust","ai-agents","browser-automation","web-scraping","headless-browser","chrome-devtools-protocol","anti-detection"],"stars":null,"summary":"Obscura is a Rust headless browser for AI agents and web scraping, built on V8 and the Chrome DevTools Protocol. It offers a Chromium alternative with Puppeteer, Playwright, and MCP support, plus an independent rendering engine for screenshots and PDFs.","content":"## Overview\n\nObscura is a Rust headless browser for web scraping and AI agent automation, built on V8 for JavaScript execution and the Chrome DevTools Protocol (CDP) for browser control. It aims to replace headless Chrome for teams that want a smaller browser engine and compatibility with Puppeteer and Playwright, without installing Chrome or Node.js.\n\nIt runs on Linux, macOS, and Windows through release binaries, and can also be built from source or run in Docker. Its independent rendering engine supports screenshots and PDF export, while an MCP server gives compatible AI clients browser tools directly.\n\n## Key Features\n\n- Runs page JavaScript using embedded V8 and exposes browser operations through CDP.\n- Connects with Puppeteer and Playwright using their CDP interfaces.\n- Provides CLI commands for fetching pages, extracting content, evaluating JavaScript, and scraping multiple URLs in parallel.\n- Includes an independent rendering engine for screenshots, screencasting, and PDF export without Chromium.\n- Offers optional stealth mode with fingerprint randomization and tracker blocking.\n- Exposes browser navigation and interaction tools over MCP, using stdio or HTTP.\n- Includes SSRF protections that block private and internal IPs by default.\n\n## Use Cases\n\n- AI-agent developers can give MCP-compatible clients browser navigation, page inspection, and interaction tools without building a browser integration from scratch.\n- Scraping teams can fetch and extract content from many URLs in parallel, with JavaScript evaluation and proxy support when needed.\n- Puppeteer or Playwright users can test a CDP-compatible alternative where avoiding a Chromium installation is useful.\n- Teams generating page captures can use the built-in renderer for screenshots and PDFs, while accounting for differences from Chromium.\n\n## Our Take\n\nObscura is an actively developed, Apache-2.0 browser option with broad contributor participation, but its independent renderer is still evolving and should be validated against the pages you depend on.\n\n**Good fit if:**\n- You need a Rust-based, V8-powered browser for scraping or AI-agent workflows and want CDP, Puppeteer, or Playwright access.\n- You want an MCP browser server or a Chromium-free path to screenshots and PDF export.\n- Your team can evaluate rendering and stealth behavior on its target sites before relying on them in production.\n\n**Look elsewhere if:**\n- Your workload requires exact Chromium rendering behavior, broad long-tail CSS coverage, media playback, or compositor effects.\n- Your application depends on browser APIs that Obscura does not implement, or on platform font rendering matching Chromium exactly.\n- You need a project with a longer operating history: Obscura is relatively young, despite frequent commits and releases.\n\n## Project Health\n\n| Signal | Value |\n|---|---|\n| Status | **Active**: regular commits and releases |\n| Last commit | 2026-10-31 (1 day ago) |\n| Commits, last 90 days | 100+ |\n| Releases, last 12 months | 19 (latest v0.2.6, 2026-10-31) |\n| Contributors | 93 (top contributor: 74% of commits) |\n| Issues closed, last 90 days | 26+ (typically closed in 2 days) |\n| Pull requests merged, last 90 days | 85 (typically merged in 0 days) |\n| Project age | 7 months |\n\nChecked on 2026-11-02 with the GitHub API.\n\n## Project Facts\n\n- Language: Rust\n- License: Apache-2.0\n- Stars: 30k\n- Forks: 2.3k\n- Topics: antidetect, antidetect-browser, browser, browser-automation, cdp, headless, playwright, puppeteer\n- Website: https://obscura.sh\n- Archived: no\n\n## What You Need\n\nDetected in the repository:\n\n- Rust (from Cargo.toml)\n- A Dockerfile, so it can run in a container\n- Automated checks on GitHub Actions\n\n## Getting Started\n\nDownload a release for your platform, extract it, and try:\n\n```bash\n./obscura fetch https://example.com --eval \"document.title\"\n```\n\nSee the [README](https://github.com/h4ckf0r0day/obscura#readme) for Docker, source-build, CDP, MCP, and integration instructions.\n\n## License in Plain Words\n\n**Apache-2.0** (permissive).\n\n- Commercial use: yes\n- Modify and redistribute: yes\n- You must keep: the license, the NOTICE file and a note of your changes\n- Share your changes: no\n- Includes an explicit patent grant from the contributors\n\nA summary, not legal advice: the LICENSE file is what applies.\n\n## Alternatives\n\n- [browser-rs-mcp](https://osrepos.com/repo/maestrojeong-browser-rs-mcp): It connects agents to tabs in a shared Chrome profile over CDP, rather than providing an independent Rust browser and rendering engine.\n- [stagehand](https://osrepos.com/repo/browserbase-stagehand): It adds natural-language actions and structured extraction to Playwright-style automation, and supports hosted Browserbase or local browsers.\n- [browserable](https://osrepos.com/repo/browserable-browserable): It provides agent automation through a JavaScript SDK and REST API, rather than Rust browser tooling with Puppeteer, Playwright, and MCP support.\n\n| Project | Language | License | Stars | Status |\n|---|---|---|---|---|\n| **obscura** | Rust | Apache-2.0 | 30k | Active |\n| [browser-rs-mcp](https://osrepos.com/repo/maestrojeong-browser-rs-mcp) | Rust | Apache-2.0 | 25 | New |\n| [stagehand](https://osrepos.com/repo/browserbase-stagehand) | TypeScript | MIT | 25.5k | Active |\n| [browserable](https://osrepos.com/repo/browserable-browserable) | JavaScript | MIT | 1.2k | Inactive |\n\n## Considerations\n\n- The renderer is an independent, evolving implementation. The README notes gaps or differences in long-tail CSS, some Web APIs, media playback, compositor effects, and platform font rasterization.\n- Building from source requires Rust 1.75 or later, and the first build compiles V8 from source. The stealth build adds BoringSSL, CMake, Clang, and LLVM development-library requirements.\n- The project has a short history, though its recent commit and release cadence is regular. Its contributor base is broad rather than concentrated around one person, and issue handling is active.\n- The supplied project requirements indicate CI but do not indicate a test suite. Teams should verify behavior against their own pages and automation flows.\n- The repository is licensed under Apache-2.0. Review the license terms when redistributing or incorporating it into a product.","metrics":{"detailViews":7,"githubClicks":2},"dates":{"published":null,"modified":"2026-11-02T07:03:31.000Z"}}