43 endpoints. Three extraction layers. One command deploys everything.
Every feature you need — nothing you don't.
Built-in FlareSolverr integration. Scrape protected sites without getting blocked. Automatic challenge solving for JavaScript challenges, CAPTCHAs, and bot detection.
Full Playwright support. Render JavaScript, click buttons, fill forms, capture screenshots. Real Chromium browser — any site that works in Chrome works in Pry.
Point Pry at any page. It auto-detects product data, prices, articles, tables. LLM-powered with local model support via Ollama. No manual CSS selector writing.
Output as JSON, CSV, or SQL. Pipe directly into PostgreSQL, ClickHouse, or your analytics stack. Structured extraction with typed schemas.
Native MCP server. Connect Claude, Cursor, or any MCP agent. Give AI the ability to scrape the web programmatically. The web becomes your agent's database.
Auto-detects failing targets. Exponential backoff. Never get IP-banned by aggressive retry logic. Smart health checks and automatic recovery.
Full-page or element-specific screenshots. PDF generation. Mobile viewport emulation. Perfect for visual regression testing and archiving.
Auto-discover all pages on a domain. Generate XML sitemaps. Crawl depth control. Respect robots.txt automatically.
Watch pages for changes. Get alerts when content updates. Diff two versions. Perfect for price tracking, competitor monitoring, and compliance.
Every endpoint with curl examples in the docs.
# Scrape with Cloudflare bypass and JS rendering curl -X POST http://localhost:8005/v1/scrape \ -H "Content-Type: application/json" \ -d '{"url":"https://example.com","bypass_cloudflare":true,"render_js":true}' # AI schema detection curl -X POST http://localhost:8005/v1/suggest \ -H "Content-Type: application/json" \ -d '{"url":"https://shop.example.com"}' # Full browser screenshot curl -X POST http://localhost:8005/v1/screenshot \ -H "Content-Type: application/json" \ -d '{"url":"https://example.com","full_page":true}' \ --output screenshot.png