List lives

Lists live streams in the account. Paginated with ?page=, ?limit=, and optional ?status= filter. The canonical response is { data, total, per_page, trial_limit_reached }; legacy formats (raw array, or { lives: [...] }) may also be returned.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

GET /lives

Lists the live streams in your account. Results are paginated: use the page query parameter to fetch additional pages.

📘

Authorization

Requires a valid Panda API token sent in the Authorization header (no Bearer prefix).

HTTP Method & Path

GET /lives

Base URL: https://api-v2.pandavideo.com.br

Authentication Requirements

Security SchemeHeaderNote
API KeyAuthorizationPanda API token (without Bearer prefix)

Parameters

NameInTypeRequiredDescription
AuthorizationheaderstringYesPanda API token (without Bearer prefix)

Query Parameters

FieldTypeRequiredDescriptionConstraints
pageintegerNoPage number for pagination. Defaults to 1. Use successive page values to fetch all lives when total > per_page.min: 1, default: 1
limitintegerNoPage size (lives per page). Defaults to 100.min: 1, default: 100
statusstringNoOptional filter by live status.enum: online, offline, canceled, finished, finished_imported

Response

Success Response (200) — canonical format

{
  "data": [
    {
      "id": "11111111-2222-3333-4444-555555555555",
      "title": "My live stream",
      "status": "offline",
      "stream_key_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "stream_key": "sk_live_xxxxx",
      "rtmp": "rtmps://...ivs.us-east-1.amazonaws.com/app/",
      "live_hls": "https://.../live.m3u8",
      "live_player": "https://player.pandavideo.com.br/embed/?v=11111111-2222-3333-4444-555555555555",
      "scheduled_at": null,
      "started_at": null,
      "ended_at": null,
      "active_dvr": true,
      "latency_type": "low",
      "bitrate": ["360p", "720p"],
      "folder_id": null,
      "created_at": "2026-05-28T00:00:00.000Z"
    }
  ],
  "total": 1,
  "per_page": 100,
  "trial_limit_reached": false
}

Response Schema

FieldTypeDescription
dataarray of objectsPage of LiveItem objects (same shape as the Create live response).
totalintegerTotal number of lives in the account.
per_pageintegerPage size used by the API.
trial_limit_reachedbooleantrue when the trial plan's live limit has been reached.
⚠️

Heads up — response shape variations: the backend may also return the list in one of two legacy shapes:

  1. Raw array (oldest): [ LiveItem, LiveItem, ... ] — no pagination metadata.
  2. lives key (legacy): { "lives": [ LiveItem, ... ], ... }

When integrating, accept any of the three shapes:

const items = Array.isArray(resp) ? resp : (resp.data ?? resp.lives ?? [])

Error Responses

  • 401 Unauthorized — Missing or invalid API token.
  • 500 Internal Server Error — Server-side error.

Example Usage

cURL — list first page

curl -X GET \
  'https://api-v2.pandavideo.com.br/lives?page=1' \
  -H 'Authorization: your_api_token_here' \
  -H 'Accept: application/json'

cURL — filter by status

curl -X GET \
  'https://api-v2.pandavideo.com.br/lives?page=1&status=online' \
  -H 'Authorization: your_api_token_here' \
  -H 'Accept: application/json'

Fetching all pages (JavaScript)

async function fetchAllLives() {
  let page = 1, all = [], total = 0, perPage = 100
  while (true) {
    const resp = await fetch(`/lives?page=${page}`, { headers: { Authorization: token } }).then(r => r.json())
    const items = Array.isArray(resp) ? resp : (resp.data ?? resp.lives ?? [])
    all.push(...items)
    if (!Array.isArray(resp)) { total = resp.total ?? total; perPage = resp.per_page ?? perPage }
    if (items.length < perPage || all.length >= total) break
    page++
  }
  return all
}
Query Params
integer
≥ 1
Defaults to 1

Page number for pagination. Defaults to 1.

integer
≥ 1
Defaults to 100

Page size (lives per page). Defaults to 100.

string
enum

Optional filter by live status.

Allowed:
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json