Files and recordings
List downloads
Section titled “List downloads”GET /browsers/{id}/downloads
| Query | |
|---|---|
limit |
1–100, 50 by default |
cursor |
The nextCursor of the page before |
includeUrls |
true signs a URL for each file, valid for 15 minutes |
{ "files": [{ "path": "report.csv", "size": 1832, "lastModified": "2026-11-09T10:12:03Z", "url": "https://…" }], "nextCursor": null, "hasMore": false}Listed from the machine while the browser runs, and from storage once it stopped.
Get the recording
Section titled “Get the recording”A browser created with enableRecording: true has, on GET /browsers/{id} after it
stopped:
| Field | |
|---|---|
recordingUrl |
The MP4, signed for an hour. null until it is ready, a few seconds after the stop |
recordingAvailable |
false when no recording was asked for or it could not be kept: stop waiting for the URL |
import time
for _ in range(30): browser = client.browsers.get(browser_id) if browser.recording_url or not browser.recording_available: break time.sleep(2)Get the browser again for a fresh URL once one expires.