Get Ad Consumption
Returns ad insertion consumption data grouped by the requested time resolution.
curl -X POST "https://api.5centscdn.com/v2/streams/pull/123/adinsertion/consumption" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"groupBy": "month",
"r": "2026-01-01 00:00:00 - 2026-01-01 00:00:00"
}'
import requests
import json
url = "https://api.5centscdn.com/v2/streams/pull/123/adinsertion/consumption"
headers = {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
data = {
"groupBy": "month",
"r": "2026-01-01 00:00:00 - 2026-01-01 00:00:00"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.5centscdn.com/v2/streams/pull/123/adinsertion/consumption", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"groupBy": "month",
"r": "2026-01-01 00:00:00 - 2026-01-01 00:00:00"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"groupBy": "month",
"r": "2026-01-01 00:00:00 - 2026-01-01 00:00:00"
}`)
req, err := http.NewRequest("POST", "https://api.5centscdn.com/v2/streams/pull/123/adinsertion/consumption", 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/streams/pull/123/adinsertion/consumption')
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 = '{
"groupBy": "month",
"r": "2026-01-01 00:00:00 - 2026-01-01 00:00:00"
}'
response = http.request(request)
puts response.body
{
"result": "success",
"message": "example_string",
"from": "2026-01-01 00:00:00",
"to": "2026-01-31 23:59:59",
"serviceIds": [
10001
],
"groupBy": "day",
"totalAdInsertions": 1284,
"totalAdImpressions": 3720,
"totalEgress": 128430000000,
"egressDetails": {
"manifests": 1200000,
"segments": 120000000000,
"ssat": 300000,
"transcoding": 8000000000,
"other": 100000
},
"adInsertionsChart": [
{
"key": "2026-01-15",
"value": 42
}
],
"adImpressionsChart": [
{
"key": "2026-01-15",
"value": 42
}
],
"egressChart": [
{
"key": "2026-01-15",
"value": 42
}
]
}
/streams/pull/{streamid}/adinsertion/consumptionTarget server for requests. Edit to use your own host.
API key (sent in header)
Numeric stream ID.
The media type of the request body
Time resolution for aggregating consumption data.
Date-time range: YYYY-MM-DD HH:MM:SS - YYYY-MM-DD HH:MM:SS
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.
Body
Time resolution for aggregating consumption data.
yearmonthweekdayhourDate-time range: YYYY-MM-DD HH:MM:SS - YYYY-MM-DD HH:MM:SS
2026-01-01 00:00:00 - 2026-01-01 00:00:00Responses
Status of the API response.
successerrorHuman-readable message describing the result.
Start of the requested range.
End of the requested range.
Service account IDs included in this result.
Time resolution the chart series are bucketed by.
dayhourTotal number of ad insertions triggered in the requested range.
Total number of ad impressions delivered in the requested range.
Total egress bytes attributable to ad insertion in the requested range.
Breakdown of total egress bytes by source.
Time-series data points for ad insertions.
Time-series data points for ad impressions.
Time-series data points for egress bytes.