Pry
Open any website.
Pry is a self-hosted web scraping and browser automation API. It replaces Firecrawl, Crawl4AI, and Browserless in a single application — Cloudflare bypass, document parsing, AI extraction, and x402 crypto pay-per-call — all under your control. No hosted API key required to run it yourself.
# One command to start the API server
pip install "pry-scraper @ git+https://codeberg.org/cryptorugmunch/pryscraper.git"
pry serve
What Pry does
- Scrape any URL to clean markdown, HTML, or JSON — with automatic Cloudflare/WAF bypass.
- Crawl sites up to thousands of pages with configurable depth and async webhooks.
- Extract structured data with CSS selectors, JSON schemas, or LLM extraction with intelligent chunking.
- Automate real browsers — login flows, form filling, persistent sessions, screenshots.
- Parse documents: PDF, DOCX, images (OCR), CSV, JSON.
- Get paid (or pay) per call with x402 — HTTP 402 micropayments in USDC/USDT, no account needed.
Feature highlights
| Area | What you get |
|---|---|
| Anti-detection | 10-tier fallback chain: direct → cloudscraper → FlareSolverr → undetected-chromedriver → Playwright → Googlebot → Tor → Archive.org → Google Cache → Textise |
| Cloudflare bypass | Automatic via FlareSolverr sidecar (Docker) |
| Stealth engine | 6 injected JS scripts, TLS fingerprint randomization, cookie warming, behavioral biometrics, Camoufox |
| Document parsing | PDF, DOCX, OCR, CSV, JSON |
| AI | Vision (5-model OpenRouter fallback), summarization (local Ollama), LLM extraction, categorization |
| Structured data | CSS extraction, JSON schema extraction, Schema.org/JSON-LD, shadow DOM |
| Monitoring | Page watch/diff, cron monitors, freshness dashboards, multi-channel alerts |
| Automation | Step-based browser automation, persistent sessions, action recorder, CAPTCHA solving (6 providers) |
| Commerce/CRM | WooCommerce, Shopify, Salesforce, HubSpot sync |
| Compliance | GDPR consent, deletion, retention, audit log |
| Monetization | x402 pay-per-call (USDC/USDT on Base, Ethereum, Polygon, Arbitrum, Optimism, BNB, Avalanche, Solana) |
Quick links
| Topic | Page |
|---|---|
| Run it in 5 minutes | Quickstart |
| Install (pip / Docker / source) | Installation |
| Docker Compose reference | Docker Compose |
| Environment variables | Configuration |
| API overview (auth, errors, limits) | API Overview |
| Scrape / crawl / batch / map | Scraping API |
| CSS / LLM extraction, parse, OCR | Extraction API |
| Browser automation & sessions | Automation API |
| Anti-detection internals | Stealth & Anti-detection |
| Crypto pay-per-call | x402 Pay-per-call |
| AI agent integration | MCP Integration |
| Free vs paid lanes | Pricing & Monetization |
| Production deployment | Deployment |
| Common questions | FAQ |
| Errors and fixes | Troubleshooting |
Source
Pry is developed by Rug Munch Media LLC. The source lives at git.rugmunch.io/RugMunchMedia/pryscraper (mirrored to Codeberg and GitLab).
- License: MIT (core) + BSL 1.1 (/docs/stealth/anti-detection module, converts to MIT on 2029-01-01). See Pricing & Monetization.
- Feedback / bugs: open an issue on the Forgejo repo, or email enterprise@rugmunch.io for commercial licensing.