open source · AGPL-3.0

A web scraper
we're giving away.

Quarry is a self-hosted scraper and crawler built for AI agent context. Scrape to clean markdown, crawl entire sites, monitor for changes, and extract structured data, all on infrastructure you own, not ours.

$curl -fsSL https://raw.githubusercontent.com/samuelorobosa/quarry/main/install.sh | bash
POST /scrape
> curl -X POST http://localhost:3000/scrape \
    -H "Content-Type: application/json" \
    -d '{ "url": "https://example.com" }'

{
  "url": "https://example.com",
  "title": "Example Domain",
  "markdown": "# Example Domain...",
  "scraped-at": "2026-06-20T10:00:00Z"
}

No vendor API keys. No usage caps. No one else's servers touching your pages.

the api

Six endpoints. That's the whole surface.

POST /scrape

Single page in, clean markdown out. No boilerplate, no ads, no nav chrome.

POST /crawl

Multi-page crawl as an async job. Depth limits, include/exclude patterns, webhook on completion.

POST /monitors

Recurring crawl on a schedule. Webhook fires only when content actually changes.

POST /extract

Page to structured JSON via your configured LLM. Missing fields return null, never hallucinated.

GET /dashboard

Jobs, monitors, queue depth, and config, all in one ops view.

GET /metrics

Prometheus metrics for everything the worker touches.

self-hosting

Docker Compose. Hardware you control.

servicenotesstatus
postgresjob & monitor statealways on
redisqueues, crawl frontieralways on
apiNestJS, port 3000always on
worker-fetchcrawl engine, monitor runneralways on
lightpandaheadless browser (Zig/V8)optional
worker-browserPlaywright/Chromium fallbackoptional
dev, no browser 2 vCPU / 4 GB  · production w/ lightpanda 4 vCPU / 8 GB
01

Own your data

Nothing leaves your infrastructure. No third-party scraping API in the loop.

02

Bring your own LLM

OpenAI, Anthropic, Ollama, or any OpenAI-compatible endpoint for extraction.

03

Actually open source

AGPL-3.0, no open-core bait. Fork it, run it, ship it. The source stays open.

We built it for ourselves. Now it's yours too.

Clone it, self-host it, point it at a URL.

$curl -fsSL https://raw.githubusercontent.com/samuelorobosa/quarry/main/install.sh | bash