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 | Delivery 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 | Delivery 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, check API calls to comply with the rate limit below:
- 100 requests per minute
- 1000 requests per hour