Query Concurrent Viewers
Query peak number of distinct viewers per interval. Each unique client IP counts as 1 viewer.
Request
Request-Line
Get /lls/v1.0/analytics/delivery/queryConcurrentViewers
Request Parameters
Query Parameters
Parameter | Type | Required | Description |
---|---|---|---|
domain | String | Mandatory | Ingest domain name |
app | String | Optional | Application name |
stream | String | Optional | Stream name |
region | String | Optional | country code of the ingest node. refer to ISO 3166-1 Alpha-2. |
started | Timestamp | Optional | Timestamp of started time in UTC timezone. |
ended | Timestamp | Optional | Timestamp of ended time in UTC timezone. |
protocol | Enum | Optional | Delivery protocol. The enum value is "http-flv","ll-hls", "hls/dash" |
Response
Response Body
Parameter | Type | Required | Description |
---|---|---|---|
domain | String | Mandatory | Ingest domain name |
app | String | Optional | Application name |
stream | String | Optional | Stream name |
started | Timestamp | Optional | Timestamp of started time in UTC timezone. |
ended | Timestamp | Optional | Timestamp of ended time in UTC timezone. |
data | Array | Mandatory | Array of Data Object |
protocol | Enum | Optional | Delivery protocol. The enum value is "http-flv","ll-hls", "hls/dash" |
Object: Data
Parameter | Type | Required | Description |
---|---|---|---|
timestamp | Timestamp | Mandatory | Exampling timestamp in UTC timezone. |
concurrentViewers | Integer | Mandatory | maximum number of concurrent viewers |
Status Codes, Error Codes and Error Messages
Status Code | Error Code | Error Message |
---|---|---|
400 | LLS.Analytics.InvalidTimestamp | Timestamp is empty or invalid. |
Examples
Query real-time concurrent viewers
Request
Get /lls/v1.0/analytics/delivery/queryConcurrentViewers?domain=live.example.com&app=demoapp HTTP/1.1
Successful Response Body
{
"domain": "live.example.com",
"app": "demoapp",
"data": [
{
"timestamp": "20250518T173000Z",
"concurrentViewers": 1283
}
]
}
Query concurrent viewers in specified time range
Request
Get /lls/v1.0/analytics/delivery/queryConcurrentViewers?domain=live.example.com&app=demoapp&started=20250518T173000Z&ended=20250518T180000Z
Successful Response Body
{
"domain": "live.example.com",
"app": "demoapp",
"started": "20250518T173000Z",
"ended": "20250518T180000Z",
"data": [
{
"timestamp": "20250518T173000Z",
"concurrentViewers": 1283
},
{
"timestamp": "20250518T173500Z",
"concurrentViewers": 1354
},
{
"timestamp": "20250518T174000Z",
"concurrentViewers": 1823
},
{
"timestamp": "20250518T174500Z",
"concurrentViewers": 2034
},
{
"timestamp": "20250518T175000Z",
"concurrentViewers": 2568
},
{
"timestamp": "20250518T175500Z",
"concurrentViewers": 2873
},
{
"timestamp": "20250518T18000Z",
"concurrentViewers": 3276
}
]
}
Best Practices
Rate Limiting
Rate Limits
Rate limiting is posed upon the API, please kindly check your API calls to ensure complying with the rate limit below:
- 100 requests per minute
- 1000 requests per hour