Get Tracking Report
Returns aggregate and time-series ad insertion delivery metrics for a date range. Requires the Advanced Analytics add-on for filters beyond crid/session_id. The response is capped at 1,440 time-series data points, so the selected range must not exceed granularity * 1440 minutes.
curl -X GET "https://api.5centscdn.com/v2/streams/push/123/adinsertion/tracking/reports?r=2026-01-01%2000%3A00%3A00%20-%202026-01-31%2023%3A59%3A59&crid=example_string&session_id=example_string&client_ip=example_string&os=example_string&browser=example_string&content_id=example_string&continent_geoname_id=123&country_geoname_id=123&subdivision1_geoname_id=123&subdivision2_geoname_id=123&city_geoname_id=123&granularity=1440" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY"
import requests
import json
url = "https://api.5centscdn.com/v2/streams/push/123/adinsertion/tracking/reports?r=2026-01-01%2000%3A00%3A00%20-%202026-01-31%2023%3A59%3A59&crid=example_string&session_id=example_string&client_ip=example_string&os=example_string&browser=example_string&content_id=example_string&continent_geoname_id=123&country_geoname_id=123&subdivision1_geoname_id=123&subdivision2_geoname_id=123&city_geoname_id=123&granularity=1440"
headers = {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://api.5centscdn.com/v2/streams/push/123/adinsertion/tracking/reports?r=2026-01-01%2000%3A00%3A00%20-%202026-01-31%2023%3A59%3A59&crid=example_string&session_id=example_string&client_ip=example_string&os=example_string&browser=example_string&content_id=example_string&continent_geoname_id=123&country_geoname_id=123&subdivision1_geoname_id=123&subdivision2_geoname_id=123&city_geoname_id=123&granularity=1440", {
method: "GET",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.5centscdn.com/v2/streams/push/123/adinsertion/tracking/reports?r=2026-01-01%2000%3A00%3A00%20-%202026-01-31%2023%3A59%3A59&crid=example_string&session_id=example_string&client_ip=example_string&os=example_string&browser=example_string&content_id=example_string&continent_geoname_id=123&country_geoname_id=123&subdivision1_geoname_id=123&subdivision2_geoname_id=123&city_geoname_id=123&granularity=1440", nil)
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/streams/push/123/adinsertion/tracking/reports?r=2026-01-01%2000%3A00%3A00%20-%202026-01-31%2023%3A59%3A59&crid=example_string&session_id=example_string&client_ip=example_string&os=example_string&browser=example_string&content_id=example_string&continent_geoname_id=123&country_geoname_id=123&subdivision1_geoname_id=123&subdivision2_geoname_id=123&city_geoname_id=123&granularity=1440')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)
puts response.body
{
"result": "success",
"message": "example_string",
"summary": {
"from": "2026-01-01T00:00:00Z",
"to": "2026-01-31T23:59:59Z",
"impressions": 96210,
"starts": 95800,
"first_quartiles": 91000,
"midpoints": 85000,
"third_quartiles": 78000,
"completes": 68500,
"view_rate_25": 94.6,
"view_rate_50": 88.3,
"view_rate_75": 81.1,
"completion_rate": 71.2,
"unique_sessions": 42130
},
"data": [
{
"time": "2026-01-15T10:00:00Z",
"impressions": 512,
"starts": 508,
"first_quartiles": 480,
"midpoints": 450,
"third_quartiles": 410,
"completes": 360
}
]
}
/streams/push/{streamid}/adinsertion/tracking/reportsTarget server for requests. Edit to use your own host.
API key (sent in header)
Numeric stream ID.
Date-time range: YYYY-MM-DD HH:MM:SS - YYYY-MM-DD HH:MM:SS
Filter to a specific creative ID.
Filter to a specific ad insertion playback session ID.
Filter to a specific viewer client IP. Requires the Advanced Analytics add-on.
Filter to a specific viewer operating system. Requires the Advanced Analytics add-on.
Filter to a specific viewer browser. Requires the Advanced Analytics add-on.
Filter to a specific content ID. Requires the Advanced Analytics add-on.
Filter to a specific continent geoname ID. Requires the Advanced Analytics add-on.
Filter to a specific country geoname ID. Requires the Advanced Analytics add-on.
Filter to a specific first-level subdivision geoname ID. Requires the Advanced Analytics add-on.
Filter to a specific second-level subdivision geoname ID. Requires the Advanced Analytics add-on.
Filter to a specific city geoname ID. Requires the Advanced Analytics add-on.
Time-bucket size, in minutes.
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. Provide your API key in the header.
Path Parameters
Numeric stream ID.
Query Parameters
Date-time range: YYYY-MM-DD HH:MM:SS - YYYY-MM-DD HH:MM:SS
2026-01-01 00:00:00 - 2026-01-31 23:59:59Filter to a specific creative ID.
Filter to a specific ad insertion playback session ID.
Filter to a specific viewer client IP. Requires the Advanced Analytics add-on.
Filter to a specific viewer operating system. Requires the Advanced Analytics add-on.
Filter to a specific viewer browser. Requires the Advanced Analytics add-on.
Filter to a specific content ID. Requires the Advanced Analytics add-on.
Filter to a specific continent geoname ID. Requires the Advanced Analytics add-on.
Filter to a specific country geoname ID. Requires the Advanced Analytics add-on.
Filter to a specific first-level subdivision geoname ID. Requires the Advanced Analytics add-on.
Filter to a specific second-level subdivision geoname ID. Requires the Advanced Analytics add-on.
Filter to a specific city geoname ID. Requires the Advanced Analytics add-on.
Responses
successerrorPer-time-bucket metrics for the requested range and granularity.