
Crawlberg
io.github.xberg-ioPublished by GitHub account xberg-iov1.12.3Updated Oct 30, 2026
Scrape, crawl, and map websites to Markdown or JSON via local CLI.
Overview
Crawlberg scrapes, crawls and maps websites into clean Markdown or JSON, letting an assistant turn pages and whole sites into structured content.
- What you can do
- Scrape single pages into Markdown with metadata, links, images and JSON-LD
- Crawl sites concurrently with depth, page limits, URL filters and robots.txt compliance
- Map and discover site structure via sitemaps and link following
- Render JavaScript-heavy pages through an optional headless browser fallback
- Stream or batch-process many URLs and return structured extraction results
- When to use it
- Useful when an assistant needs web content as clean text or structured data rather than raw HTML, for example collecting documentation, research pages or site inventories, or feeding page content into later analysis.
- Requirements
- Runs as a local process over stdio, distributed as an OCI image (ghcr.io/xberg-io/crawlberg); a container runtime is needed. Desktop only. No authentication, environment variables or headers are declared. Network access to the target sites is required; headless browser rendering is optional.
Installation
In SourceWeft
- Open Crawlberg in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Crawlberg
Turn any website into clean, structured data. Point Crawlberg at a URL and get back Markdown, metadata, and links — from a single page or a whole site — in the language you already use.
What and Why?
You need data that lives on the web, and raw HTML is not it. Crawlberg does the crawling, scraping, and cleanup end-to-end: it fetches pages, follows links, converts each one to Markdown, and hands you structured metadata (titles, links, images, social-card and JSON-LD data) — so you skip the parsing and go straight to the content.
It runs from a single Rust core with identical results across 14 language bindings, and it handles the awkward parts for you: JavaScript-heavy pages fall back to a real headless browser, bot filters are detected and worked around, robots and sitemaps are respected, requests are throttled per domain, and requests to private or internal addresses are refused by default. Drive it from your code, an AI agent, a REST service, or the CLI.
Every part of the pipeline is a trait you can swap — the crawl frontier, rate limiter, storage, event stream, and content filters — so you can plug in your own behavior. Managed extras like proxy pools, tuned bot-evasion, authenticated sessions, scheduling, and billing live in xberg-enterprise.
Features
Supported Platforms
Precompiled binaries for glibc Linux (x86_64/aarch64), macOS, and Windows across every binding. On musl Linux (Alpine) coverage is deliberately partial — the CLI, Docker image, Rust, Ruby, Java, and Elixir work there; the Node, Python, Go, PHP, and C# bindings do not ship musl artifacts. See the platform support matrix for the full table and the Alpine workarounds.
⭐ Star this repo to show your support — it helps others discover Crawlberg.
Quick Start
Language Packages
Python
See Python README for full documentation.
Node.js
See Node.js README for full documentation.
Rust
See Rust README for full documentation.
Go
See Go README for full documentation.
Java
Available on Maven Central as io.xberg.crawlberg:crawlberg. See Java README for the dependency snippet and current version.
C#
See C# README for full documentation.
Ruby
See Ruby README for full documentation.
PHP
See PHP README for full documentation.
Elixir
Add {:crawlberg, "~> 0.3"} to your mix.exs dependencies. See Elixir README for full documentation.
Dart / Flutter
See Dart README for full documentation.
Kotlin (Android)
Available on Maven Central as io.xberg.crawlberg.android:crawlberg-android. See Kotlin README for the dependency snippet and current version.
Swift
Add via Swift Package Manager. See Swift README for full documentation.
Zig
See Zig README for installation and usage.
WebAssembly
See WebAssembly README for full documentation.
C/C++ (FFI)
C header + shared library from GitHub Releases. See FFI crate for full documentation.
AI Coding Assistants
Install the Crawlberg plugin from xberg-io/crawlberg. It ships the Crawlberg agent skills (site crawling, HTML→Markdown scraping, headless-Chrome fallback) plus the crawlberg MCP server, — select your runtime below.
The bundle targets Claude Code, Codex, Cursor, Gemini CLI, Kimi, OpenCode, Factory Droid, Hermes, Pi, Agent Plugins and GitHub Copilot CLI. Read the plugin guide for runtime resources, CLI prerequisites and configuration. MCP-capable adapters expose the product's tools; Hermes uses a local stdio bridge and explicitly selected skills. Pi loads skills and prompt templates and requires the product CLI for executable operations.
Install only the public Agent Skills, without a plugin or MCP registration, using the skills CLI:
Choose the skills and target agents interactively. Installing instructions does not install the product CLI or configure provider credentials.
Claude Code
Codex CLI
Then search for crawlberg and select Install Plugin.
Cursor
Settings → Plugins → Add from URL → https://github.com/xberg-io/crawlberg, then select crawlberg.
Gemini CLI
From a checkout of this repository:
The manifest is inside plugin/. See the Gemini extension reference
for local installation and updates.
Factory Droid
GitHub Copilot CLI
Pi
From a checkout of this repository:
After the next plugin release, install the same package used by OpenCode:
Pi loads the bundled skills and prompt templates. Use /crawlberg-scrape or /crawlberg-crawl with the input as arguments. Install the crawlberg CLI separately for shell access. This package does not register MCP servers, hooks, or native Pi extensions.
opencode
Add the package to opencode.json:
Documentation
Full guides, per-language API references, the substrate/operational model, antibot strategy, and observability live at docs.crawlberg.xberg.io.
Contributing
Contributions are welcome! See our Contributing Guide.
Part of Xberg.io
- Xberg — the open-source content-intelligence engine: text, tables, and metadata from 101 formats (115 file extensions), with OCR, transcription, and code intelligence. MIT.
- Xberg Pro — a complete self-hosted content-intelligence backend in a single container. Commercial.
- Xberg Enterprise — the distributed, governed content-intelligence platform, scaled on Kubernetes with team governance and support. Commercial.
- crawlberg — web crawling and scraping with HTML→Markdown and headless-Chrome fallback.
- html-to-markdown — fast, lossless HTML→Markdown engine.
- liter-llm — universal LLM API client with native bindings for 14 languages and 165 providers.
- tree-sitter-language-pack — tree-sitter grammars and code-intelligence primitives.
- alef — the polyglot binding generator that produces every per-language binding across the 5 polyglot repos.
License
Links
- Documentation
- GitHub Repository
- Issue Tracker
- Changelog
- Discord — community, roadmap, announcements.
Source: README.md at commit 0398c61
Tools
0Version history
12- v1.12.3LatestOct 29, 2026
- v1.12.0Oct 22, 2026
- v1.11.0Oct 15, 2026
- v1.10.2Oct 6, 2026
- v1.10.1Oct 5, 2026
- v1.10.0Oct 5, 2026
- v1.9.0Oct 3, 2026
- v1.8.0Sep 27, 2026
- v1.7.2Sep 25, 2026
- v1.7.1Sep 16, 2026
- v1.7.0Sep 16, 2026
- v1.6.4Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts