Storm docs logo
Search the docs.../
Explore Storm Products

Stream Viewer List

Returns a paginated list of viewers watching a specific stream.

Request

PropertyValue
MethodGET
URL/api/streams/{appName}/{streamKey}/viewers
Content-Typeapplication/json
AuthenticationBearer Token
Request
Code iconbash
curl -X GET "{BASE_URL}/api/streams/{appName}/{streamKey}/viewers" \
  -H "Authorization: Bearer YOUR_TOKEN"

Path Parameters

ParameterTypeRequiredDescription
appNamestringYesApplication name
streamKeystringYesStream key
Request
Code iconbash
curl -X GET "{BASE_URL}/api/streams/{appName}/{streamKey}/viewers" \
  -H "Authorization: Bearer YOUR_TOKEN"

Query Parameters

ParameterTypeRequiredDefaultDescription
pageintegerNo1Page number
rowsPerPageintegerNo10Number of items per page
searchstringNo-Filter results by search term
streamKeystringNo-Filter by substream variant via substream stream key
harnessTypestringNo-Filter by harness type (see allowed values below)
systemClients"true" | "false"No-Include system clients

Allowed values for harnessType

  • "STORM_MSE_VIEWER"
  • "STORM_HLS_VIEWER"
  • "CLUSTER_DATA_CLIENT"
  • "GENERIC_HLS_VIEWER"
  • "GENERIC_DASH_VIEWER"
  • "RTMP_VIEWER"
  • "RTMP_PUSH"
  • "TRANSCODER"
  • "FILE_WRITER"
With query parameters
Code iconbash
curl -X GET "{BASE_URL}/api/streams/{appName}/{streamKey}/viewers?page=value&rowsPerPage=value&search=value" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response Body

Pagination

ParameterTypeDescription
data.totalItemsintegerTotal number of viewers
data.itemsPerPageintegerNumber of items per page
data.totalPagesintegerTotal number of pages
data.currentPageintegerCurrent page number
data.hasPreviousbooleanIndicates if a previous page exists
data.hasNextbooleanIndicates if a next page exists

Viewer Object

ParameterTypeDescription
data.list[].idstringUnique identifier of the viewer session
data.list[].statestringConnection state
data.list[].classstringInternal class name of the playback harness
data.list[].pipelineTypestringPipeline type
data.list[].harnessTypestringHarness type
data.list[].applicationNamestringApplication name
data.list[].streamKeystringStream key being viewed
data.list[].subStreamstringSub-stream variant
data.list[].remoteAddressstringClient IP address
data.list[].deviceTypestringDevice type `
data.list[].osNamestringOperating system name
data.list[].browserNamestringBrowser name
data.list[].startTimeintegerConnection start time (Unix timestamp in ms)
data.list[].durationintegerConnection duration in milliseconds
data.list[].inBandwidthintegerIncoming bandwidth transfer speed
data.list[].outBandwidthintegerOutgoing bandwidth transfer speed
data.list[].inTotalBytesintegerTotal incoming bytes
data.list[].outTotalBytesintegerTotal outgoing bytes
data.list[].healthScoreintegerConnection health score (0-100%)
data.list[].healthGradestringConnection health grade

Metadata

ParameterTypeDescription
meta.executionTimeintegerRequest processing time in milliseconds
meta.generatedAtintegerResponse generation timestamp (Unix timestamp in ms)
Successful Response (200)
Code iconjson
{
  "data": {
    "totalItems": 1,
    "itemsPerPage": 10,
    "totalPages": 1,
    "currentPage": 1,
    "hasPrevious": false,
    "hasNext": false,
    "list": [
      {
        "id": "v_kf2v43ddmipwuybw",
        "state": "PUBLISHED",
        "class": "MSEPlaybackHarness",
        "pipelineType": "CLIENT_OUTPUT",
        "harnessType": "STORM_MSE_VIEWER",
        "applicationName": "edge",
        "streamKey": "f1",
        "subStream": "native",
        "remoteAddress": "83.11.204.8",
        "deviceType": "DESKTOP",
        "osName": "Windows 10/11",
        "browserName": "Chrome",
        "startTime": 1764760538538,
        "duration": 194955,
        "inBandwidth": 0,
        "outBandwidth": 420485,
        "inTotalBytes": 8902,
        "outTotalBytes": 58597740,
        "healthScore": 90,
        "healthGrade": "Very Good"
      }
    ]
  },
  "meta": {
    "executionTime": 1,
    "generatedAt": 1764760733493
  }
}

Error Response (4xx/5xx)

ParameterTypeDescription
messagestringHuman-readable error message
Code iconjson
{
  "message": "Error message"
}
Support Needed?

Create a free ticket and our support team will provide you necessary assistance.

Blog
Support
About us
Patents
Term of use
Privacy policy
Contact
©2026 Storm Streaming Media. All Rights Reserved.