APIReferenceRuns

Get run detail

Run detail: a PAGE of responses (light shape — no `answerText`; drill into `GET /api/responses/{id}/` for the full text), plus whole-run aggregated competitors and sources. `responses[]` is paged with `?page=N&page_size=M` (default 200, max 500). Walk `responsesNext` until it is null to collect every response in the run; `responsesCount` is the run's full total. `competitors` and `sources` are aggregated over the ENTIRE run on every page, so they do not need to be accumulated across pages. For poll-loop use — just "is this run done yet" — call `GET /api/runs/{id}/status/` instead: same status fields, none of the per-answer work. A run stays hidden until it is either legacy or published (`published_at` set); an unpublished run 404s the same as a nonexistent one.

GET/api/runs/{run_id}/

Authorization

AuthorizationBearer <token>

Personal Access Token (create one from Settings -> API Keys in the dashboard). Send as Authorization: Bearer gr_live_.... An X-API-Key: gr_live_... header (see the apiKeyAuth scheme) is accepted as an equivalent alternative — send ONE of the two, not both.

In: header

Path Parameters

run_id*integer

Query Parameters

page?integer

1-based page number.

page_size?integer

Rows per page. Server-side default/cap vary per endpoint.

Response Body

application/json

curl -X GET "https://example.com/api/runs/0/"
{  "id": "9931",  "status": "completed",  "pollUrl": "/api/runs/9931/",  "finishedAt": "2026-06-27T09:11:00+00:00",  "brandId": "412",  "categoryId": "412",  "promptIds": [    "1145",    "1146"  ],  "responses": [    {      "id": "220331",      "promptId": "1145",      "runId": "9931",      "model": "chatgpt",      "modelLabel": "GPT-5",      "surface": "api",      "mentioned": true,      "sentiment": "positive",      "rank": 1,      "sources": [        "https://reddit.com/r/smallbusiness/xyz"      ],      "sampleCount": 3,      "timestamp": "2026-06-27T09:10:52+00:00",      "hasText": true,      "textLength": 842    }  ],  "responsesCount": 412,  "responsesPage": 1,  "responsesPageSize": 200,  "responsesNext": "/api/runs/9931/?page=2",  "competitors": [    {      "id": "comp-run-9931-0",      "categoryId": "412",      "name": "Competitor Co",      "mentions": 4,      "averageRank": 2,      "score": null,      "isUserBrand": false,      "sourceBreakdown": [],      "canonicalKey": "competitor-co",      "canonicalName": "Competitor Co"    }  ],  "sources": [    {      "domain": "reddit.com",      "count": 6    }  ]}