Extract clean Markdown text from a web page for feeding to a language model
Pull structured JSON data from a page using CSS selector schemas
Take a GPU-free screenshot of a rendered page
Crawl an entire site and extract content from every page without running Chrome
| konippi/servo-fetch | johunsang/semble_rs | l0ng-ai/papr | |
|---|---|---|---|
| Stars | 87 | 86 | 88 |
| Language | Rust | Rust | Rust |
| Setup difficulty | easy | easy | easy |
| Complexity | 3/5 | 2/5 | 2/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Runs standalone with no Chromium install or external API required.
servo-fetch is a self-contained web browser engine that fetches, renders, and extracts web page content without requiring Chromium or any external API. The problem it solves is that most tools for scraping or capturing web pages either depend on a full Chrome installation (which is slow and heavy, typically using 300 MB of memory) or on external services, making them cumbersome to embed in automated pipelines and AI agent workflows. It works by embedding the Servo browser engine, which is Mozilla's open-source browser project written in Rust. This means it actually executes JavaScript using the SpiderMonkey JavaScript engine, computes CSS layout, and renders pages as a real browser would, before extracting the clean text. Because it understands how a page is visually laid out, it can strip navigation bars, sidebars, and footers by position rather than by guessing. The benchmarks in the README show it runs in about 230 to 330 milliseconds per page and uses roughly 50 to 64 megabytes of memory, compared to around 800 milliseconds and 300 megabytes for the same tasks with Playwright. Output options include clean Markdown text suitable for feeding to a language model, structured JSON extraction driven by CSS selector schemas, PNG screenshots taken with a software renderer that requires no GPU, and a full site crawl mode. It is available as a command-line tool, a Rust library, a Python package, a built-in MCP (Model Context Protocol) server for AI agent use, and a Docker container with a REST API. Someone building an AI agent that needs to read web pages, a scraper pipeline, or a document extraction tool would use this. The tech stack is Rust with Python bindings.
A lightweight Rust browser engine that fetches and renders web pages to clean text without Chromium.
Mainly Rust. The stack also includes Rust, Servo, SpiderMonkey.
The README does not state a license.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.