Skip to content

Scrape any page.

A small typed action DSL drives real Chromium; an AI fallback writes the plan for you. Every run is recorded for later inspection.

Quickstart

Sign up, mint an API key, run your first scrape — deterministic and AI variants in under a minute.



Start →

Pick an engine

HTML for static pages, Browser (real Chromium) for SPAs, AI when selectors aren’t worth writing.



Compare engines →

Actions DSL

The selector + attribute + function language: css=h1@text, many, nested output, fn steps.



Reference →

REST API

POST /scrape, GET /executions, key management — full request and response shapes.



API reference →

MCP

Wire scraper-farm into Claude Code, Cursor, or any MCP-aware agent. Tools: scrape, get_execution, list_executions.



Set up MCP →

Authentication

Bearer tokens, key lifecycle, the X-Use-Api-Key override the dashboard uses.



How auth works →

Pricing & quotas

Credit cost per engine, monthly plans, concurrency caps, and the 402 / 429 limit responses.



See pricing →

Terminal window
curl -sS -X POST https://api.scrapesilo.com/scrape \
-H "Authorization: Bearer sf_…" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"engine": "html",
"actions": { "title": "css=h1@text", "body": "css=p@text" }
}'

Returns { executionId, mode, result: { url, data: { title, body }, tookMs } }. The execution row stays around — open /executions/<id> in the dashboard to inspect the request, result, and any error.