Sandbox
@0xMassi/webclaw

Web extraction CLI and MCP server for agents

webclaw turns websites into markdown, text, JSON, and other LLM-ready outputs. It works locally for the core extraction path, and can also use a hosted API when you need JavaScript rendering, protected-site access, or async jobs.

2,341 stars232 forksRustUpdated 8d ago
Who it's for

Builders who want Claude Code, Cursor, Windsurf, or another MCP client to scrape and crawl sites for clean context.

What it delivers

You can feed your agent clean page content instead of raw HTML, boilerplate, or blocked pages.

What it does

Scrape single pages

Extract one URL into markdown, text, JSON, LLM format, or cleaned HTML with `webclaw https://example.com --format markdown`.

Crawl sites

Follow same-origin links and collect pages with depth and page limits using `--crawl --depth 2 --max-pages 50`.

Structured extraction

Turn page content into typed JSON fields with local or configured LLM support.

MCP server for agents

Expose scrape, crawl, map, batch, extract, summarize, diff, brand, search, and research tools through MCP.

Local and hosted modes

Run the core extraction locally without an account, or use `--cloud` with `WEBCLAW_API_KEY` for protected sites, rendering, search, and research jobs.

Brand and diff tools

Extract colors, fonts, logos, and metadata with `--brand`, and compare page snapshots with `--diff-with`.

SDKs and API access

Use the API from TypeScript, Python, Go, or cURL, and install the client packages listed in the README.

How to get it

  1. 1The fastest way to connect webclaw to Claude Code, Claude Desktop, Cursor, Windsurf,…
    npx create-webclaw
  2. 2Run
    brew tap 0xMassi/webclaw
    brew install webclaw
  3. 3Run
    docker run --rm ghcr.io/0xmassi/webclaw https://example.com
  4. 4Run
    cargo install --git https://github.com/0xMassi/webclaw.git webclaw-cli
    cargo install --git https://github.com/0xMassi/webclaw.git webclaw-mcp
  5. 5Run
    webclaw https://stripe.com --format markdown
  6. 6Run
    webclaw https://docs.anthropic.com --format llm

README

English | 简体中文

webclaw

webclaw

Turn websites into clean markdown, JSON, and LLM-ready context.
CLI, MCP server, REST API, and SDKs for AI agents and RAG pipelines.

Stars Version License npm installs

Discord X / Twitter Hosted webclaw Docs

0xMassi/webclaw | Trendshift

webclaw extracting clean markdown from a page


Most web scraping tools give your agent one of two bad outputs:

  • a blocked page, login wall, or empty app shell
  • raw HTML full of nav, scripts, styling, ads, and duplicated boilerplate

webclaw.io is the hosted web extraction API for webclaw. This repo contains the open-source CLI, MCP server, extraction engine, and self-hostable server.

webclaw turns a URL into clean content your tools can actually use.

webclaw https://example.com --format markdown
# Example Domain

This domain is for use in illustrative examples in documents.

You may use this domain in literature without prior coordination or asking for permission.

Use it from the terminal, wire it into Claude/Cursor through MCP, call the hosted API from your app, or self-host the OSS server.


Install

Agent setup

The fastest way to connect webclaw to Claude Code, Claude Desktop, Cursor, Windsurf, OpenCode, Codex CLI, and other MCP-compatible tools:

npx create-webclaw

The installer detects supported clients and configures the MCP server for you.

Homebrew

brew tap 0xMassi/webclaw
brew install webclaw

Prebuilt binaries

Download macOS, Linux, and Windows binaries from GitHub Releases.

Docker

docker run --rm ghcr.io/0xmassi/webclaw https://example.com

Cargo

cargo install --git https://github.com/0xMassi/webclaw.git webclaw-cli
cargo install --git https://github.com/0xMassi/webclaw.git webclaw-mcp

If building from source fails because native build tools are missing, install the platform prerequisites:

OSCommand
Debian / Ubuntusudo apt install -y pkg-config libssl-dev cmake clang git build-essential
Fedora / RHELsudo dnf install -y pkg-config openssl-devel cmake clang git make gcc
Archsudo pacman -S pkg-config openssl cmake clang git base-devel
macOSxcode-select --install

Quick Start

Scrape one page

webclaw https://stripe.com --format markdown

Return LLM-optimized text

webclaw https://docs.anthropic.com --format llm

Keep only the main content

webclaw https://example.com/blog/post --only-main-content

Include or exclude selectors

webclaw https://example.com \
  --include "article, main, .content" \
  --exclude "nav, footer, .sidebar, .ad"

Crawl a documentation site

webclaw https://docs.rust-lang.org --crawl --depth 2 --max-pages 50

Workflow examples

Extract brand assets

webclaw https://github.com --brand

Compare a page over time

webclaw https://example.com/pricing --format json > pricing-old.json
webclaw https://example.com/pricing --diff-with pricing-old.json

MCP Server

webclaw ships with an MCP server for AI agents.

Zero-install — point any MCP client at the npx launcher:

{
  "mcpServers": {
    "webclaw": {
      "command": "npx",
      "args": ["-y", "@webclaw/mcp"]
    }
  }
}

Or run npx create-webclaw to auto-detect your AI tools and write their configs for you.

Then ask your agent things like:

Scrape these competitor pricing pages and summarize the differences.
Crawl this documentation site and prepare clean context for a RAG index.
Extract the brand colors, fonts, and logos from this company website.

Use as an agent skill

Add webclaw to Claude Code, Cursor, Windsurf, and other MCP agents in one command:

npx skills add 0xMassi/webclaw-skill

Your agent gets scrape, crawl, map, extract, summarize, diff, brand, and search as native tools. Most sites extract locally with no API key. Set WEBCLAW_API_KEY to handle bot-protected and JavaScript-rendered pages.

Find it on skills.sh.


Tools

ToolWhat it doesLocal
scrapeExtract one URL as markdown, text, JSON, LLM format, or HTMLYes
crawlFollow same-origin links and extract discovered pagesYes
mapDiscover URLs without extracting every pageYes
batchScrape multiple URLs in parallelYes
extractConvert page content into structured dataYes, with local or configured LLM
summarizeSummarize a pageYes, with local or configured LLM
diffCompare page content snapshotsYes
brandExtract colors, fonts, logos, and metadataYes
searchSearch the web and scrape resultsHosted API
researchMulti-source research workflowHosted API

SDKs

npm install @webclaw/sdk
pip install webclaw
go get github.com/0xMassi/webclaw-go
TypeScript
import { Webclaw } from "@webclaw/sdk";

const client = new Webclaw({ apiKey: process.env.WEBCLAW_API_KEY! });

const page = await client.scrape({
  url: "https://example.com",
  formats: ["markdown"],
  only_main_content: true,
});

console.log(page.markdown);
Python
from webclaw import Webclaw

client = Webclaw(api_key="wc_your_key")

page = client.scrape(
    "https://example.com",
    formats=["markdown"],
    only_main_content=True,
)

print(page.markdown)
cURL
curl -X POST https://api.webclaw.io/v1/scrape \
  -H "Authorization: Bearer $WEBCLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "formats": ["markdown"],
    "only_main_content": true
  }'

Output Formats

FormatUse it when you need
markdownClean page content with structure preserved
llmCompact context for agents and RAG pipelines
textPlain text with minimal formatting
jsonStructured metadata, links, images, and extracted fields
htmlCleaned HTML for custom processing

Local First, Hosted When Needed

The CLI and MCP server work locally without an account for the core extraction path.

Use the hosted API at webclaw.io when you need:

  • protected-site access without managing infrastructure
  • JavaScript rendering
  • async crawl and research jobs
  • web search
  • watches and production usage tracking
  • SDKs for application code
export WEBCLAW_API_KEY=wc_your_key

webclaw https://example.com --cloud

What You Can Build

Use caseExample
AI agent web accessGive Claude, Cursor, or another MCP client clean page context
RAG ingestionCrawl docs, help centers, blogs, and knowledge bases
Competitor monitoringTrack pricing pages, changelogs, docs, and product pages
Structured extractionTurn messy pages into typed JSON for automations
Research workflowsSearch, scrape, summarize, and cite multiple sources
Brand intelligenceExtract logos, colors, fonts, and social metadata

Architecture

webclaw/
  crates/
    webclaw-core     HTML to markdown, text, JSON, and LLM-ready output
    webclaw-fetch    Fetching, crawling, batching, and mapping
    webclaw-llm      Local and hosted LLM provider support
    webclaw-pdf      PDF text extraction
    webclaw-mcp      MCP server for AI agents
    webclaw-cli      Command-line interface

webclaw-core is pure extraction logic: no network I/O, small surface area, and usable independently from the fetching layer.


Configuration

VariableDescription
WEBCLAW_API_KEYHosted API key
OLLAMA_HOSTOllama URL for local LLM features
OPENAI_API_KEYOpenAI-compatible LLM provider key
OPENAI_BASE_URLOpenAI-compatible base URL
ANTHROPIC_API_KEYAnthropic-compatible LLM provider key
ANTHROPIC_BASE_URLAnthropic-compatible base URL
ORCAROUTER_API_KEYOrcaRouter LLM provider key
ORCAROUTER_BASE_URLOrcaRouter base URL (defaults to https://api.orcarouter.ai/v1)
WEBCLAW_PROXYSingle proxy URL
WEBCLAW_PROXY_FILEProxy pool file

Contributing

The most useful contributions right now are practical and small:

  • add examples for real agent and RAG workflows
  • improve SDK snippets
  • report pages that extract poorly
  • add failing fixtures for messy HTML
  • improve docs for MCP clients and local setup
  • test the CLI on more Linux/macOS environments

Good first places to start:

If a page extracts badly, include:

URL:
Command or API request:
Expected output:
Actual output:
Format used: markdown / llm / text / json / html
CLI, MCP, SDK, or API:

Please remove secrets, cookies, private tokens, and customer data from logs before posting.


Strategic Partner

SerpApiSerpApi
SerpApi, the Web Search API. Give real-time data to your AI agents and enhance their responses with SerpApi’s structured search engine results. SerpApi supports webclaw as a Strategic Partner.

Infrastructure Partner

ColdProxy
ColdProxy supports webclaw as an Infrastructure Partner, providing residential IPv4, residential IPv6, and datacenter IPv6 proxy infrastructure across 195+ countries for public data collection, regional testing, monitoring, and web scraping workflows. Explore ColdProxy's latest plans and available offers directly on the website. Use code webclaw8Off for 8% off your first payment. See the proxy-backed crawling guide for a hands-on walkthrough of wiring ColdProxy into webclaw.

Studio Partners

NodeMaven

NodeMaven: The most efficient proxy provider for Web Scraping and Automation with the Highest Quality IP on the market.

Why NodeMaven?

  • ZIP targeting
  • 99.9% uptime
  • IP filtering: all proxies have fraud score <97%
  • No KYC required
  • Unique free tools: Proxy Bandwidth Checker, Meta Tag Checker, IP Lookup and others!

Special codes for Webclaw users:

  • WEBCLAW35 - 35% off to Mobile and Residential Proxies
  • WEBCLAW40 - 40% off to ISP (Static) Proxies
MangoProxy MangoProxy provides residential, ISP, datacenter, and mobile proxies across 200+ locations, backed by a 90M+ IP pool with HTTP and SOCKS5 support and high stability for web scraping and data collection at scale. Use code 0XMASSI for 8% off ISP (Static) proxies at mangoproxy.com.

Community Plugins

Third-party plugins that integrate webclaw with AI agent platforms:

PluginPlatformWhat it does
openclaw-webclawOpenClawNative webclaw v1 API plugin with 9 tools: scrape, search, crawl, extract, summarize, diff, map, batch, brand
hermes-webclawHermes AgentWeb search provider and 9 dedicated tools for the full v1 API surface. Install with hermes plugins install jal-co/hermes-webclaw

Built a webclaw integration? Open a PR to add it here.


Contributors

Thanks to everyone improving webclaw through issues, examples, docs, bug reports, and pull requests.

webclaw contributors

Star History

Star History ChartStar History Chart

License

AGPL-3.0

Files in the repo

Repository payload32 top-level entries
  • .cargo
  • .github
  • assets
  • benchmarks
  • crates
  • deploy
  • examples
  • packages
  • scripts
  • .dockerignore
  • .gitignore
  • .mcp.json
  • Cargo.lock
  • Cargo.toml
  • CHANGELOG.md
  • CLAUDE.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • docker-compose.yml
  • docker-entrypoint.sh
  • Dockerfile
  • Dockerfile.ci
  • env.example
  • glama.json
  • LICENSE
  • proxies.example.txt
  • README_zh-CN.md
  • README.md
  • rustfmt.toml
  • setup.sh
  • smithery.yaml
  • targets_1000.txt

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More tools

JuliusBrussee/
caveman

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

105k
1 add
MemPalace/
mempalace

The best-benchmarked open-source AI memory system. And it's free.

59k
stablyai/
orca

Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

66k

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

132k

Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors

64k
headroomlabs-ai/
headroom

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.

71k