Site Scraper API POST /scrape {domains: [{domain, root_domain},...]} POST /enqueue {domain: "example.com"} or {domains: [...]} POST /import-csv CSV body: domain,root_domain POST /queue/retry {domains: [...]} or {all: true} POST /queue/requeue-stale {statuses:["pending","retrying","failed"], limit:500} POST /pricing/enqueue {tasks:[{task_id,pricing_source_id,tool_id,url}]} POST /traffic/enqueue {tools:[{tool_id,domain,official_url}]} POST /traffic/retry-sync {limit:100} POST /assets/reconcile-tasks {limit:100} POST /assets/recover-results {limit:100} POST /domain-state/enqueue {domains:[{domain}]} POST /domain-state/retry-sync {limit:100} GET /assets/ R2 asset proxy GET /results ?status=done&category=SaaS&limit=100&offset=0 GET /queue/status ?limit=20 GET /queue/failed ?limit=100 GET /stats Protected routes (POST commands and diagnostic GET endpoints): Authorization: Bearer or X-API-Key: