whatisgithub

What is servo-fetch?

konippi/servo-fetch — explained in plain English

Analysis updated 2026-05-18

87RustAudience · developerComplexity · 3/5Setup · easy

In one sentence

A lightweight Rust browser engine that fetches and renders web pages to clean text without Chromium.

Mindmap

mindmap
  root((servo-fetch))
    What it does
      Renders pages with the Servo engine
      Extracts clean Markdown or JSON
      Takes GPU-free screenshots
    Tech stack
      Rust
      Servo engine
      SpiderMonkey
      Python bindings
    Use cases
      Feed clean page text to a language model
      Scrape pages without a Chrome install
      Crawl a site and extract structured data
    Audience
      AI agent developers
      Scraper pipeline builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Extract clean Markdown text from a web page for feeding to a language model

USE CASE 2

Pull structured JSON data from a page using CSS selector schemas

USE CASE 3

Take a GPU-free screenshot of a rendered page

USE CASE 4

Crawl an entire site and extract content from every page without running Chrome

What is it built with?

RustServoSpiderMonkeyPythonMCP

How does it compare?

konippi/servo-fetchjohunsang/semble_rsl0ng-ai/papr
Stars878688
LanguageRustRustRust
Setup difficultyeasyeasyeasy
Complexity3/52/52/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Runs standalone with no Chromium install or external API required.

The README does not state a license.

So what is it?

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.

Copy-paste prompts

Prompt 1
Show me how to use servo-fetch to extract clean Markdown from a web page for an LLM
Prompt 2
Set up the MCP server from this repo so my AI agent can read web pages
Prompt 3
Compare servo-fetch and Playwright for scraping speed and memory using the benchmarks in this repo
Prompt 4
Help me use the JSON extraction mode in servo-fetch with a CSS selector schema

Frequently asked questions

What is servo-fetch?

A lightweight Rust browser engine that fetches and renders web pages to clean text without Chromium.

What language is servo-fetch written in?

Mainly Rust. The stack also includes Rust, Servo, SpiderMonkey.

What license does servo-fetch use?

The README does not state a license.

How hard is servo-fetch to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is servo-fetch for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.