Recording API
API
Recording API
Read a shared recording over plain HTTP: its details, the captured trace, and the video. Same access as the share link.
Every share link https://www.traceo.dev/<id> has a public API behind it. Use it in scripts, CI or your own tools. For AI agents, Traceo MCP is the better fit: it returns the same data in a shape agents read well.
Endpoints
| Request | Returns |
|---|---|
GET /videos/:id/meta | Title, description, creator, duration, size, created and expiry times, and the stream, trace and thumbnail URLs. |
GET /videos/:id/trace | The captured trace: environment info, console events, network events, user actions and comments. |
GET /videos/:id/stream | The video file. Supports HTTP range requests for seeking. |
GET /videos/:id/thumbnail | A still image of the recording. |
Base URL:
url
https://traceo-video-share-worker.iusmankh.workers.devExample
shell
curl https://traceo-video-share-worker.iusmankh.workers.dev/videos/82efc229a22f4ffd81/metajson
{
"state": "ready",
"videoId": "82efc229a22f4ffd81",
"title": "Checkout fails on submit",
"creatorName": "Ayesha Khan",
"durationSec": 22,
"mimeType": "video/webm",
"size": 1843200,
"createdAt": 1788930734504,
"expiresAt": 2104290734504,
"streamUrl": "https://traceo-video-share-worker.iusmankh.workers.dev/videos/82efc229a22f4ffd81/stream",
"traceUrl": "https://traceo-video-share-worker.iusmankh.workers.dev/videos/82efc229a22f4ffd81/trace",
"traceAvailable": true,
"thumbnailUrl": "https://traceo-video-share-worker.iusmankh.workers.dev/videos/82efc229a22f4ffd81/thumbnail"
}Status codes
| Status | Meaning |
|---|---|
200 | state: "ready" with the data. |
404 | Unknown id, or no trace was captured for this recording (state not_available). |
410 | The recording expired or was deleted. |
Privacy
The API exposes exactly what the share page shows. Request and response bodies are never captured, URLs are stored without query strings, and sensitive headers are replaced with
[redacted].