Skip to content

Executions API

Every /scrape call creates an execution row. The rows persist the full request, result, and error JSON for later inspection.

List recent executions for the current key.

GET /executions?status=failed&limit=20
Authorization: Bearer <token>

Query params:

ParamTypeDefaultNotes
statuspending | running | completed | failed | cancelledUnknown values are ignored.
limitintegerserver-definedMost recent first.

Response: ExecutionRow[], newest first:

{
id: string;
apiKeyId: string;
status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
request: ScrapeRequest;
result: ScrapeResult | null;
error: unknown | null;
startedAt: string | null; // ISO
completedAt: string | null; // ISO
createdAt: string; // ISO
}

Fetch a single execution. Returns ExecutionRow (same shape as above) or 404 if the id doesn’t belong to your key.

Terminal window
curl -sS https://api.scrapesilo.com/executions/exec_01H… \
-H "Authorization: Bearer sf_…"
{
"id": "exec_01H…",
"status": "completed",
"request": { "url": "", "engine": "html", "actions": { } },
"result": { "url": "", "data": { }, "tookMs": 312 },
"error": null,
"startedAt": "2026-05-10T18:42:11.230Z",
"completedAt": "2026-05-10T18:42:11.542Z",
"createdAt": "2026-05-10T18:42:11.180Z"
}

The dashboard’s /executions page is a thin visual wrapper over these two endpoints.