List / search videos
const url = 'https://api.devstreamcore.com/v1/videos?status=ready';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.devstreamcore.com/v1/videos?status=ready' \ --header 'Authorization: Bearer <token>'Cursor-paginated. Pass ?q= for FTS5 full-text search (single page).
Authorizations
Seção intitulada “Authorizations ”Parameters
Seção intitulada “ Parameters ”Query Parameters
Seção intitulada “Query Parameters ”<created_at>|<id> from a prior next_cursor
<created_at>|<id> from a prior next_cursor
Page size, 1–100 (default 25)
Page size, 1–100 (default 25)
Full-text search (FTS5); returns a single page
Full-text search (FTS5); returns a single page
Responses
Seção intitulada “ Responses ”A page of videos
object
A video asset. The shape is stable — fields are only ever added.
object
0–100, aggregated across encode + package jobs
Seconds
Public URL of the original upload; null until landed in R2
Native width of the original upload (px); null when unknown
Native height of the original upload (px); null when unknown
object
object
Encode target bitrate in kb/s; null on legacy rows
Per-resolution HLS variant playlist URL; null when ungated
object
object
object
Example
{ "data": [ { "id": "vid_a1b2c3d4e5f6a1b2c3d4", "status": "preparing", "playback_ids": [ { "id": "play_a1b2c3d4e5f6a1b2c3d4", "policy": "public" } ], "policy": "public", "ingest": { "kind": "direct_upload" } } ]}Missing or invalid API key
Error envelope — a single error per response.
object
object
Example
{ "error": { "type": "invalid_request_error" }}Rate limited — apply backoff
Error envelope — a single error per response.
object
object
Example
{ "error": { "type": "invalid_request_error" }}