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

Stream Viewer Statistics

Returns aggregated statistics about viewers watching a specific stream, including distribution charts for various metrics.

Request

PropertyValue
MethodGET
URL/api/streams/{appName}/{streamKey}/viewers/stats
Content-Typeapplication/json
AuthenticationBearer Token
Request
Code iconbash
curl -X GET "{BASE_URL}/api/streams/{appName}/{streamKey}/viewers/stats" \
  -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/stats" \
  -H "Authorization: Bearer YOUR_TOKEN"

Query Parameters

ParameterTypeRequiredDefaultDescription
harnessTypestringNo-Filter by harness type
deviceTypestringNo-Filter by device type
With query parameters
Code iconbash
curl -X GET "{BASE_URL}/api/streams/{appName}/{streamKey}/viewers/stats?harnessType=value&deviceType=value" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response Body

Pie Charts

Browser Chart

ParameterTypeDescription
data.pieCharts.browserobjectDistribution by browser
data.pieCharts.browser.seriesinteger[]Count of viewers per browser
data.pieCharts.browser.labelsstring[]Browser names

Harness Type Chart

ParameterTypeDescription
data.pieCharts.harnessobjectDistribution by harness type
data.pieCharts.harness.seriesinteger[]Count of viewers per harness
data.pieCharts.harness.labelsstring[]Harness type names

Health Grade Chart

ParameterTypeDescription
data.pieCharts.healthGradeobjectDistribution by health grade
data.pieCharts.healthGrade.seriesinteger[]Count of viewers per health grade
data.pieCharts.healthGrade.labelsstring[]Health grade labels

Quality Level Chart

ParameterTypeDescription
data.pieCharts.qualityLevelobjectDistribution by quality level
data.pieCharts.qualityLevel.seriesinteger[]Count of viewers per quality level
data.pieCharts.qualityLevel.labelsstring[]Quality level labels

Operating System Chart

ParameterTypeDescription
data.pieCharts.operatingSystemobjectDistribution by OS
data.pieCharts.operatingSystem.seriesinteger[]Count of viewers per OS
data.pieCharts.operatingSystem.labelsstring[]Operating system names

Device Type Chart

ParameterTypeDescription
data.pieCharts.deviceobjectDistribution by device type
data.pieCharts.device.seriesinteger[]Count of viewers per device type
data.pieCharts.device.labelsstring[]Device type labels

Buffer Stability Chart

ParameterTypeDescription
data.pieCharts.bufferStabilityobjectDistribution by buffer stability
data.pieCharts.bufferStability.seriesinteger[]Count of viewers per stability level
data.pieCharts.bufferStability.labelsstring[]Buffer stability labels

Bandwidth Stability Chart

ParameterTypeDescription
data.pieCharts.bandwidthStabilityobjectDistribution by bandwidth stability
data.pieCharts.bandwidthStability.seriesinteger[]Count of viewers per stability level
data.pieCharts.bandwidthStability.labelsstring[]Bandwidth stability labels

Bar Charts

Duration Chart

ParameterTypeDescription
data.barCharts.durationobjectSession duration distribution
data.barCharts.duration.unitstringUnit of measurement ("s")
data.barCharts.duration.meannumber|nullMean duration across all viewers
data.barCharts.duration.mediannumber|nullMedian duration across all viewers
data.barCharts.duration.seriesinteger[]Count of viewers per category
data.barCharts.duration.categoriesobject[]Category definitions
data.barCharts.duration.categories[].rangestringRange description (e.g., "0-10 s")
data.barCharts.duration.categories[].labelstringHuman-readable label (e.g., "Ultra short")

Bandwidth Chart

ParameterTypeDescription
data.barCharts.bandwidthobjectBandwidth distribution
data.barCharts.bandwidth.unitstringUnit of measurement ("kbps")
data.barCharts.bandwidth.meannumber|nullMean bandwidth across all viewers
data.barCharts.bandwidth.mediannumber|nullMedian bandwidth across all viewers
data.barCharts.bandwidth.seriesinteger[]Count of viewers per category
data.barCharts.bandwidth.categoriesobject[]Category definitions
data.barCharts.bandwidth.categories[].rangestringRange description (e.g., "0-500 kbps")
data.barCharts.bandwidth.categories[].labelstringHuman-readable label (e.g., "Ultra low")

Latency Chart

ParameterTypeDescription
data.barCharts.latencyobjectLatency distribution
data.barCharts.latency.unitstringUnit of measurement ("ms")
data.barCharts.latency.meannumber|nullMean latency across all viewers
data.barCharts.latency.mediannumber|nullMedian latency across all viewers
data.barCharts.latency.seriesinteger[]Count of viewers per category
data.barCharts.latency.categoriesobject[]Category definitions
data.barCharts.latency.categories[].rangestringRange description (e.g., "0-10 ms")
data.barCharts.latency.categories[].labelstringHuman-readable label (e.g., "Ultra low")

Buffer Size Chart

ParameterTypeDescription
data.barCharts.bufferSizeobjectBuffer size distribution
data.barCharts.bufferSize.unitstringUnit of measurement ("ms")
data.barCharts.bufferSize.meannumber|nullMean buffer size across all viewers
data.barCharts.bufferSize.mediannumber|nullMedian buffer size across all viewers
data.barCharts.bufferSize.seriesinteger[]Count of viewers per category
data.barCharts.bufferSize.categoriesobject[]Category definitions
data.barCharts.bufferSize.categories[].rangestringRange description (e.g., "0-250 ms")
data.barCharts.bufferSize.categories[].labelstringHuman-readable label (e.g., "Ultra low")

Metadata

ParameterTypeDescription
meta.executionTimeintegerRequest processing time in milliseconds
meta.generatedAtintegerResponse generation timestamp (Unix timestamp in ms)
Successful Response (200)
Code iconjson
{
  "data": {
    "pieCharts": {
      "browser": {
        "series": [1],
        "labels": ["Chrome"]
      },
      "harness": {
        "series": [1],
        "labels": ["STORM_MSE_VIEWER"]
      },
      "bufferStability": {
        "series": [1],
        "labels": ["GOOD"]
      },
      "healthGrade": {
        "series": [1],
        "labels": ["No Data"]
      },
      "qualityLevel": {
        "series": [1],
        "labels": ["native"]
      },
      "bandwidthStability": {
        "series": [1],
        "labels": ["STABLE"]
      },
      "operatingSystem": {
        "series": [1],
        "labels": ["Windows 10/11"]
      },
      "device": {
        "series": [1],
        "labels": ["DESKTOP"]
      }
    },
    "barCharts": {
      "duration": {
        "unit": "s",
        "mean": 8,
        "median": 8,
        "series": [1, 0, 0, 0, 0, 0, 0],
        "categories": [
          { "range": "0-10 s", "label": "Ultra short" },
          { "range": "11-60 s", "label": "Very short" },
          { "range": "61-300 s", "label": "Short" },
          { "range": "301-600 s", "label": "Medium" },
          { "range": "601-1800 s", "label": "Long" },
          { "range": "1801-3600 s", "label": "Very long" },
          { "range": "3600+ s", "label": "Extreme" }
        ]
      },
      "bandwidth": {
        "unit": "kbps",
        "mean": 443,
        "median": 443,
        "series": [1, 0, 0, 0, 0, 0, 0],
        "categories": [
          { "range": "0-500 kbps", "label": "Ultra low" },
          { "range": "501-1000 kbps", "label": "Very low" },
          { "range": "1001-2000 kbps", "label": "Low" },
          { "range": "2001-3000 kbps", "label": "Medium" },
          { "range": "3001-5000 kbps", "label": "High" },
          { "range": "5001-8000 kbps", "label": "Very high" },
          { "range": "8000+ kbps", "label": "Ultra high" }
        ]
      },
      "latency": {
        "unit": "ms",
        "mean": 20,
        "median": 20,
        "series": [0, 1, 0, 0, 0, 0, 0],
        "categories": [
          { "range": "0-10 ms", "label": "Ultra low" },
          { "range": "11-25 ms", "label": "Very low" },
          { "range": "26-50 ms", "label": "Low" },
          { "range": "51-100 ms", "label": "Medium" },
          { "range": "101-200 ms", "label": "High" },
          { "range": "201-500 ms", "label": "Very high" },
          { "range": "500+ ms", "label": "Critical" }
        ]
      },
      "bufferSize": {
        "unit": "ms",
        "mean": 19,
        "median": 19,
        "series": [1, 0, 0, 0, 0, 0, 0, 0],
        "categories": [
          { "range": "0-250 ms", "label": "Ultra low" },
          { "range": "251-350 ms", "label": "Very low" },
          { "range": "351-500 ms", "label": "Low" },
          { "range": "501-750 ms", "label": "Medium" },
          { "range": "751-1000 ms", "label": "High" },
          { "range": "1001-1500 ms", "label": "Very high" },
          { "range": "1501-2000 ms", "label": "Ultra high" },
          { "range": "2000+ ms", "label": "Extreme" }
        ]
      }
    }
  },
  "meta": {
    "executionTime": 1,
    "generatedAt": 1764763133517
  }
}

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.