Skip to content

Executions API

Markdown agents.txt

Every /scrape, /analyse, and /map call creates an execution row. The rows persist the full request, result, and error JSON for later inspection. Ids are ex_….

MCP equivalents: get_execution and list_executions — same row shape as these REST endpoints.

List recent executions. Bearer (sf_…) is scoped to that key. A Clerk session sees every key on the account (optionally filtered with apiKeyId).

GET /executions?status=failed&limit=20&batchId=bt_…&apiKeyId=ak_…
Authorization: Bearer <token>

Query params:

ParamTypeDefaultNotes
statuspending | running | completed | failed | cancelledUnknown values are ignored.
limitinteger50 (max 200)Most recent first.
batchIdstringRows from one multi-URL request. null on single-URL runs.
apiKeyIdstringClerk users only: filter to one key. Ignored for raw API-key auth.

Response: ExecutionRow[], newest first:

{
id: string; // ex_…
apiKeyId: string; // ak_…
status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
batchId: string | null;
request: ExecutionRequest; // scrape | analyse | map body; request.engine is html | browser | analyse | map
result: ExecutionResult | null;
error: unknown | null;
recordingUrl: string | null; // Playwright trace (browser), else null
replayUrl: string | null; // live browser view; dies when the session is released
startedAt: string | null; // ISO
completedAt: string | null; // ISO
createdAt: string; // ISO
}

request.engine is html | browser | analyse | map.

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

Terminal window
curl -sS https://api.scrapesilo.com/executions/ex_8bd378d8 \
-H "Authorization: Bearer sf_…"
{
"id": "ex_8bd378d8",
"apiKeyId": "ak_d102c5de",
"status": "completed",
"batchId": null,
"request": { "url": "https://example.com", "engine": "browser", "actions": { "title": "h1" } },
"result": { "url": "https://example.com/", "data": { "title": "Example Domain" }, "tookMs": 153, "antibot": [] },
"error": null,
"recordingUrl": "https://assets.scrapesilo.com/recordings/ex_8bd378d8.zip",
"replayUrl": null,
"startedAt": "2026-08-13T19:20:44.354Z",
"completedAt": "2026-08-13T19:20:44.663Z",
"createdAt": "2026-08-13T19:20:44.360Z"
}

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