# crawlie
**The fast, free, open-source technical SEO + GEO crawler — built for humans and agents.**
Crawl any site for broken links, redirects, missing metadata, and 40+ SEO & Generative-Engine checks — with plain-English guidance on every fix. Runs locally, ships a CLI and an MCP server, and costs nothing.
[](https://www.npmjs.com/package/crawlie)
[](https://github.com/spronta/crawlie/actions/workflows/ci.yml)
[](LICENSE)
Setup ·
CLI ·
MCP & agents ·
Changelog ·
Use cases ·
Why I built this ·
Desktop app ·
Checks ·
Compare ·
Architecture
*[Quickstart and CLI guide →](#setup)*
[💡Share feedback & suggestions here](https://github.com/spronta/crawlie/discussions/2)
.png)
### Built by Spronta
Crawlie helps you audit whether your content can be discovered. **Spronta helps visitors find it once they reach your website**: Search, Answers and Content Analytics for your existing blog, docs or resource library.
[**Try free site search on your content →**](https://www.spronta.com/free-search/?utm_source=github&utm_medium=readme&utm_campaign=crawlie-to-spronta&utm_content=repo-intro) Connect a public website and test the demo. Search includes 10,000 requests per workspace each month, with no credit card required. Answers and Analytics are separate paid products.
Crawlie runs locally under the MIT license. Spronta is an optional hosted service.
---
## Setup
**The easy way — npm** (installs the `crawlie` CLI and the `crawlie-mcp` server):
```bash
npm i -g crawlie
```
**The macOS app** — grab the signed `.dmg` from [Releases](https://github.com/spronta/crawlie/releases).
**From source** — needs [Rust](https://rustup.rs) (engine/CLI/MCP) and, for the desktop app, [pnpm](https://pnpm.io) + Node:
```bash
git clone https://github.com/spronta/crawlie
cd crawlie
cargo build --release
# → target/release/crawlie and target/release/crawlie-mcp
# or install onto your PATH:
cargo install --path crates/crawlie-cli # installs `crawlie`
cargo install --path crates/crawlie-mcp # installs `crawlie-mcp`
```
> **How it ships:** the **CLI + MCP** come *only* through npm — the right native binary installs automatically as a platform package (nothing to download or unblock). The **desktop app** is the only direct download: a signed, notarized `.dmg` on [Releases](https://github.com/spronta/crawlie/releases).
---
## How to use (CLI)
```bash
# Crawl a whole site (respects robots.txt, seeds from sitemap.xml)
crawlie crawl https://example.com --format pretty
# Audit a single page, or a specific set of pages
crawlie audit https://example.com/pricing
crawlie audit https://example.com/a https://example.com/b
# Save a shareable, self-contained HTML report
crawlie crawl https://example.com --format html -o report.html
# Clean JSON on stdout (perfect for piping / scripting / agents)
crawlie crawl https://example.com --format json -o report.json
# Learn why any finding matters and how to fix it
crawlie explain geo-not-answerable
```
**Output formats:** `pretty` (terminal), `json` (machine-readable, the default), `csv` (issues), `html` (shareable file).
**Common flags:**
| Flag | What it does |
|---|---|
| `--max-pages