Get ingest signal info

Shows what the ingest server is receiving from the encoder right now (bytes, bandwidth, resolution, frame rate). Works only while the live is online; an empty ret means no reading yet.

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

GET /lives/{live_id}/info_host

Reports what the ingest server is receiving from your encoder right now: inbound bytes, bandwidth, resolution and frame rate. This is the endpoint that answers "I am broadcasting and nothing shows up" — if it returns a reading, the signal is arriving.

📘

Authorization

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

⚠️

Only works while the live is online. In any other status the call returns 400 Live with id: {live_id} needs to be online to get info.

🚧

An empty ret is not an error. Right after the live goes online there may be no measurement yet, and the endpoint answers 200 with { "ret": {} }. "No reading" and "no signal" are different things — poll again before concluding the encoder is down.

HTTP Method & Path

GET /lives/{live_id}/info_host

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)

Path Parameters

NameTypeRequiredDescription
live_idstring (uuid)YesID of the live. Must be a valid uuid, otherwise the call returns 400.

This endpoint takes no query or body parameters.

Response

Success Response (200)

{
  "ret": {
    "bytes_in": 184320000,
    "bw_in": 2450000,
    "time": 1757254800,
    "meta": {
      "video": { "width": 1280, "height": 720, "frame_rate": 30, "codec": "H264" },
      "audio": { "codec": "AAC", "channels": 2, "sample_rate": 48000 }
    }
  }
}
FieldTypeDescription
retobjectThe reading. Empty object when no measurement has arrived yet.
ret.bytes_innumberBytes received from the encoder.
ret.bw_innumberInbound bandwidth of the signal. Falls back to bytes_in when not reported separately.
ret.timenumberTimestamp of the reading.
ret.meta.video.widthnumberWidth of the incoming video, in pixels.
ret.meta.video.heightnumberHeight of the incoming video — this is what tells you the resolution actually arriving.
ret.meta.video.frame_ratenumberFrame rate being received.
ret.meta.video.codecstringVideo codec.
ret.meta.audioobjectAudio description: codec, channels, sample_rate.
🚧

Only the video numbers are measured. On the current ingest path, width, height and frame rate come from the live reading, while codec and the whole meta.audio block are reported as fixed values (H264, AAC, 2 channels, 48000 Hz). Do not use the audio block to diagnose an audio problem.

📘

Reading it against the quality you configured. meta.video.height is what the ingest is actually receiving from your encoder. Remember that the delivered ladder is capped at 720p regardless of what you publish — see Create live.

Error Responses

  • 400 Bad Request{ "errCode": "BadRequest", "errMsg": "Live with id: {live_id} needs to be online to get info" }, or invalid live id: "{value}" when the path parameter is not a uuid.
  • 404 Not Found{ "errCode": "NotFound", "errMsg": "Live with id: {live_id} was not found" }.
  • 200 with an empty body — when the ingest reading itself fails, the endpoint still answers 200, with {} and no ret key at all. Guard for a missing ret, not only for an empty one.

Example Usage

cURL

curl -X GET "https://api-v2.pandavideo.com.br/lives/{live_id}/info_host" \
  -H "Authorization: {api_key}"

Related

Path Params
uuid
required

ID of the live.

Responses

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