Analytics Statistics
curl -X POST "https://api.5centscdn.com/v2/players/5centscdn/analytics/stats" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"r": "2026-01-01 00:00:00 - 2026-01-31 23:59:59",
"granularity": "1h",
"assets": "1,234,567,890",
"title": "sample-video.mp4/playlist.m3u8",
"tag": "live"
}'
import requests
import json
url = "https://api.5centscdn.com/v2/players/5centscdn/analytics/stats"
headers = {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
data = {
"r": "2026-01-01 00:00:00 - 2026-01-31 23:59:59",
"granularity": "1h",
"assets": "1,234,567,890",
"title": "sample-video.mp4/playlist.m3u8",
"tag": "live"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.5centscdn.com/v2/players/5centscdn/analytics/stats", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"r": "2026-01-01 00:00:00 - 2026-01-31 23:59:59",
"granularity": "1h",
"assets": "1,234,567,890",
"title": "sample-video.mp4/playlist.m3u8",
"tag": "live"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"r": "2026-01-01 00:00:00 - 2026-01-31 23:59:59",
"granularity": "1h",
"assets": "1,234,567,890",
"title": "sample-video.mp4/playlist.m3u8",
"tag": "live"
}`)
req, err := http.NewRequest("POST", "https://api.5centscdn.com/v2/players/5centscdn/analytics/stats", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.5centscdn.com/v2/players/5centscdn/analytics/stats')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['X-API-Key'] = 'YOUR_API_KEY'
request.body = '{
"r": "2026-01-01 00:00:00 - 2026-01-31 23:59:59",
"granularity": "1h",
"assets": "1,234,567,890",
"title": "sample-video.mp4/playlist.m3u8",
"tag": "live"
}'
response = http.request(request)
puts response.body
{
"aggregate": {
"concurrent": 2,
"impression": 23,
"page_load": 4586,
"play": 15,
"player_load": 1407,
"total_played": 40,
"unique": 9,
"hits": 110,
"complete": 1
},
"concurrent": [
{
"count": 1,
"date": "2026-01-20 03:00"
}
],
"impression": [
{
"count": 1,
"date": "2026-01-20 06:00"
}
],
"page_load": [
{
"count": 1020,
"date": "2026-01-20 06:00"
}
],
"play": [
{
"count": 1,
"date": "2026-01-20 06:00"
}
],
"player_load": [
{
"count": 1632,
"date": "2026-01-20 06:00"
}
],
"total_played": [
{
"count": 40,
"date": "2026-01-20 03:00"
}
],
"unique": [
{
"count": 1,
"date": "2026-01-20 06:00"
}
]
}
/players/5centscdn/analytics/stats
Target server for requests. Edit to use your own host.
API key (sent in header)
The media type of the request body
Date range string in UTC format: "YYYY-MM-DD HH:mm:ss - YYYY-MM-DD HH:mm:ss". Defines the reporting window.
Time granularity for data aggregation. One of: 1m, 5m, 15m, 1h, 1d, 1M.
Comma-separated asset IDs filter. Retrieve available IDs from POST /players/5centscdn/analytics/search/assets.
Comma-separated title IDs filter. Retrieve available values from POST /players/5centscdn/analytics/search/titles.
Comma-separated tag IDs filter. Retrieve available values from POST /players/5centscdn/analytics/search/tags.
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. Provide your API key in the header.
Body
Date range string in UTC format: "YYYY-MM-DD HH:mm:ss - YYYY-MM-DD HH:mm:ss". Defines the reporting window.
2026-01-01 00:00:00 - 2026-01-31 23:59:59Comma-separated asset IDs filter. Retrieve available IDs from POST /players/5centscdn/analytics/search/assets.
1,234,567,890Comma-separated title IDs filter. Retrieve available values from POST /players/5centscdn/analytics/search/titles.
sample-video.mp4/playlist.m3u8Comma-separated tag IDs filter. Retrieve available values from POST /players/5centscdn/analytics/search/tags.
liveResponses
Aggregated totals across the entire requested date range.
Peak number of concurrent viewers during the period.
Total number of player impression events.
Total number of page load events recorded.
Total number of play events initiated by viewers.
Total number of player load events.
Total playback duration in seconds across all sessions.
Total number of unique viewer sessions.
Total number of player interaction hits recorded.
Total number of complete playback events where the viewer watched to the end.
Time-series data points for concurrent viewer counts.
Number of concurrent viewers at this time point.
UTC timestamp for this data point. Format: YYYY-MM-DD HH:mm
Time-series data points for impression event counts.
Number of impression events at this time point.
UTC timestamp for this data point. Format: YYYY-MM-DD HH:mm
Time-series data points for page load event counts.
Number of page load events at this time point.
UTC timestamp for this data point. Format: YYYY-MM-DD HH:mm
Time-series data points for play event counts.
Number of play events at this time point.
UTC timestamp for this data point. Format: YYYY-MM-DD HH:mm
Time-series data points for player load event counts.
Number of player load events at this time point.
UTC timestamp for this data point. Format: YYYY-MM-DD HH:mm
Time-series data points for total playback duration in seconds.
Total playback seconds recorded at this time point.
UTC timestamp for this data point. Format: YYYY-MM-DD HH:mm
Time-series data points for unique viewer session counts.
Number of unique viewer sessions at this time point.
UTC timestamp for this data point. Format: YYYY-MM-DD HH:mm