 # WebReaper [](https://www.nuget.org/packages/WebReaper) [](https://github.com/alex-on-ai/WebReaper/actions/workflows/CI.yml) [](LICENSE.txt) AI-native web scraper. Single binary with a bundled Claude Code skill. Built by [HighCraft.io](https://highcraft.io). ## Install **macOS / Linux (Homebrew):** ```bash brew install alex-on-ai/webreaper/webreaper ``` **Any POSIX shell (install.sh):** ```bash curl -fsSL https://raw.githubusercontent.com/alex-on-ai/WebReaper/master/scripts/install.sh | sh ``` **.NET library:** ```bash dotnet add package WebReaper ``` Windows binaries are on the [GitHub Releases page](https://github.com/alex-on-ai/WebReaper/releases/latest); `winget` and `Scoop` are on the v10.1 roadmap. **Updating:** `brew upgrade webreaper` (Homebrew), or re-run the install.sh line with `--upgrade` appended (`| sh -s -- --upgrade`), or `dotnet add package WebReaper` (library). When a newer release exists, `scrape` / `crawl` / `map` print a one-line upgrade hint on stderr (interactive terminals only, never in a pipe or CI); disable that check with `WEBREAPER_NO_UPDATE_CHECK=1`. ## 30-second demo ```bash $ webreaper scrape https://news.ycombinator.com # Hacker News - [Show HN: ...](https://news.ycombinator.com/item?id=...) - [Ask HN: ...](https://news.ycombinator.com/item?id=...) ... $ webreaper init Wrote WebReaper Agent Skill to .claude/skills/webreaper/SKILL.md Try it out: webreaper scrape https://example.com webreaper map https://example.com ``` After `webreaper init`, the next Claude Code session picks up the skill and routes scraping intents (*"give me the markdown of X"*, *"what blog posts are on Y"*, *"scrape the top 5 articles"*) to `webreaper` automatically. ## Table of contents - [Why WebReaper](#why-webreaper) - [Quick start](#quick-start) - [Bot protection that just works](#bot-protection-that-just-works) - [Power your agent](#power-your-agent) - [AI features](#ai-features) - [Use cases](#use-cases) - [Packages](#packages) - [Compared to Firecrawl, Crawl4AI, and Crawlee](#compared-to-firecrawl-crawl4ai-and-crawlee) - [API overview](#api-overview) - [Architecture and interfaces](docs/architecture.md) - [Repository structure](#repository-structure) - [License](#license) ## Why WebReaper
| πͺΆ Drop on PATH, run. No Docker, no Postgres, no signup. ~12 MB binary. |
π€ AI-native by composition. Markdown by default. Schema extraction, LLM fallback, self-healing selectors, autonomous agent. Stack with .Withβ¦(). |
π Bring any LLM. OpenAI, Anthropic, Ollama, Azure OpenAI, llamafile, via Microsoft.Extensions.AI. |
| π‘ Bot-checks handled automatically. A blocked page climbs HTTP β browser β stealth on its own, per page and host-sticky. Challenge pages are dropped, never returned as data. No flag needed for the browser fallback. |
π‘ Distributed when needed. Swap scheduler, tracker, sink to Redis, MongoDB, SQLite, Azure Service Bus, Cosmos. Same code. |
π MIT, not AGPL. Embed in commercial software, fork, modify, redistribute. Firecrawl's AGPL requires open-sourcing your service or paying for a commercial license. |