Installation — Self-Hosted Web Scraper

Cloud (no installation needed)

Sign up at fastcrw.com and start using the API immediately. Same Firecrawl-compatible endpoints, zero infrastructure.

curl -X POST https://fastcrw.com/api/v1/scrape \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'

One-Line Install (Recommended)

The install script auto-detects your OS and architecture, downloads the latest binary, and installs it:

curl -fsSL https://raw.githubusercontent.com/us/crw/main/install.sh | sh

Or with wget:

wget -qO- https://raw.githubusercontent.com/us/crw/main/install.sh | sh

Options:

# Install to a custom directory:
curl -fsSL https://raw.githubusercontent.com/us/crw/main/install.sh | CRW_INSTALL_DIR=~/.local/bin sh

Supported platforms: macOS (Intel & Apple Silicon), Linux (x64 & ARM64), Windows (via MSYS2/Git Bash).

From crates.io

# CLI tool (no server required)
cargo install crw-cli

# REST API server
cargo install crw-server

From source

git clone https://github.com/us/crw.git
cd crw

# CLI tool (no server, no setup)
cargo build --release --bin crw

# REST API server (without JS rendering)
cargo build --release --bin crw-server

# REST API server (with CDP/JS rendering)
cargo build --release --bin crw-server --features crw-server/cdp

# MCP stdio binary
cargo build --release --bin crw-mcp

Binaries are placed in target/release/.

Docker

# Pre-built image
docker run -p 3000:3000 ghcr.io/us/crw:latest

# With docker-compose (includes LightPanda sidecar)
docker compose up

The Docker image uses a multi-stage build: rust:1.93-bookworm for building, debian:bookworm-slim for runtime. The compose file includes a LightPanda sidecar for JS rendering.

JS Rendering Setup

crw supports JavaScript rendering via CDP (Chrome DevTools Protocol). The fastest option is LightPanda:

# Automatic setup (downloads LightPanda + creates config.local.toml)
crw-server setup

# Start LightPanda
lightpanda serve --host 127.0.0.1 --port 9222 &

# Start crw
crw-server

The setup command detects your platform (Linux x86_64, macOS aarch64) and downloads the appropriate LightPanda binary to ~/.local/bin/lightpanda.

Other CDP backends

You can also use Playwright or Chrome. Set the WebSocket URL in your config:

[renderer]
mode = "auto"

[renderer.playwright]
ws_url = "ws://playwright:9222"

# or
[renderer.chrome]
ws_url = "ws://chrome:9222"

Verify

crw-server
# Server starts on http://localhost:3000

curl http://localhost:3000/health