ScrapeMe provides 18 test scenarios simulating real websites — e-commerce, auctions, GraphQL APIs, CSRF protection, robots.txt compliance, and more. Every visit is tracked, fingerprinted, and scored.
Each test simulates a real-world scraping challenge with difficulty levels, verifiable data, and clear passing criteria.
Four steps to benchmark your scraper. Max score: 1,000 points.
POST /api/test-runGET /tests/ecommerce, /tests/auction, ...POST /api/test-run/{id}/submitGET /api/test-run/{id}/reportRegister your scraper, run the benchmark, and see how you rank against others. Top performers earn the “Certified” badge for scoring above 80%.
The admin dashboard reveals exactly what your scraper did — and whether it was detected.
Canvas hash, WebGL renderer, font metrics, navigator properties — all collected silently via JavaScript.
9 detection signals analyzed in real-time: webdriver flag, headless markers, timing anomalies, honeypot hits, and more.
See the exact sequence of pages your scraper visited, with millisecond-precision timing between each request.
8 hidden trap links using CSS tricks. Bots that follow invisible links are immediately flagged.
Per-session analysis with bot score, human score, classification, detected signals, and a natural language verdict.
Programmatic API returns scored results with bot analysis. Compare scraper runs over time.
Get up and running in under 2 minutes.
# Start PostgreSQL docker run -d --name scrapeme-postgres \ -e POSTGRES_USER=scrapeme \ -e POSTGRES_PASSWORD=scrapeme \ -e POSTGRES_DB=scrapeme \ -p 5432:5432 postgres:16-alpine # Install & seed npm install cd apps/web cp .env.example .env npx prisma db push && npx prisma db seed # Run cd ../.. npm run dev
Admin dashboard: admin@scrapeme.dev / admin123
Test accounts: testuser1 through testuser5 / password123