v31

latestOpenAPI 3.1.0raw.githubusercontent.com2026-05-28124212862.9 KB
Metrics

Get metric timeseries data

Returns timeseries data for a specific metric.

Each interval represented in the data array contains an array with the following values:

  • the first element is the interval time
  • the second element is the calculated metric value
  • the third element is the number of views in the interval that have a valid metric value
get/data/v1/metrics/{METRIC_ID}/timeseries

Path parameters

METRIC_ID'aggregate_startup_time' | 'downscale_percentage' | 'exits_before_video_start' | 'live_stream_latency' | 'max_downscale_percentage' | 'max_request_latency' | 'max_upscale_percentage' | 'page_load_time' | 'playback_failure_percentage' | 'playback_success_score' | 'player_startup_time' | 'playing_time' | 'rebuffer_count' | 'rebuffer_duration' | 'rebuffer_frequency' | 'rebuffer_percentage' | 'request_latency' | 'request_throughput' | 'rebuffer_score' | 'requests_for_first_preroll' | 'seek_latency' | 'startup_time_score' | 'unique_viewers' | 'upscale_percentage' | 'video_quality_score' | 'video_startup_preroll_load_time' | 'video_startup_preroll_request_time' | 'video_startup_time' | 'viewer_experience_score' | 'views' | 'weighted_average_bitrate' | 'video_startup_failure_percentage' | 'ad_attempt_count' | 'ad_break_count' | 'ad_break_error_count' | 'ad_break_error_percentage' | 'ad_error_count' | 'ad_error_percentage' | 'ad_exit_before_start_count' | 'ad_exit_before_start_percentage' | 'ad_impression_count' | 'ad_startup_error_count' | 'ad_startup_error_percentage' | 'playback_business_exception_percentage' | 'video_startup_business_exception_percentage' | 'view_content_startup_time' | 'ad_preroll_startup_time' | 'view_dropped_percentage' | 'rendition_change_count' | 'rendition_upshift_count' | 'rendition_downshift_count' required

ID of the Metric

Query parameters

timeframe[]string[]

Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=).

Accepted formats are...

  • array of epoch timestamps e.g. timeframe[]=1498867200&timeframe[]=1498953600
  • duration string e.g. timeframe[]=24:hours or timeframe[]=7:days
filters[]string[]

Filter results using key:value pairs. Must be provided as an array query string parameter.

Basic filtering:

  • filters[]=dimension:value - Include rows where dimension equals value
  • filters[]=!dimension:value - Exclude rows where dimension equals value

For trace dimensions (like video_cdn_trace):

  • filters[]=+dimension:value - Include rows where trace contains value
  • filters[]=-dimension:value - Exclude rows where trace contains value
  • filters[]=dimension:[value1,value2] - Exact trace match

Examples:

  • filters[]=country:US - US views only
  • filters[]=+video_cdn_trace:fastly - Views using Fastly CDN
metric_filters[]string[]

Limit the results to rows that match inequality conditions from provided metric comparison clauses. Must be provided as an array query string parameter.

Possible filterable metrics are the same as the set of metric ids, with the exceptions of exits_before_video_start, unique_viewers, video_startup_failure_percentage, view_dropped_percentage, and views.

Example:

  • metric_filters[]=aggregate_startup_time>=1000
measurement'95th' | 'median' | 'avg' | 'count' | 'sum'

Measurement for the provided metric. If omitted, the default for the metric will be used. The default measurement for each metric is: "sum" : ad_attempt_count, ad_break_count, ad_break_error_count, ad_error_count, ad_impression_count, playing_time "median" : ad_preroll_startup_time, aggregate_startup_time, content_startup_time, max_downscale_percentage, max_upscale_percentage, page_load_time, player_average_live_latency, player_startup_time, rebuffer_count, rebuffer_duration, requests_for_first_preroll, video_startup_preroll_load_time, video_startup_preroll_request_time, video_startup_time, view_average_request_latency, view_average_request_throughput, view_max_request_latency, weighted_average_bitrate "avg" : ad_break_error_percentage, ad_error_percentage, ad_exit_before_start_count, ad_exit_before_start_percentage, ad_playback_failure_percentage, ad_startup_error_count, ad_startup_error_percentage, content_playback_failure_percentage, downscale_percentage, exits_before_video_start, playback_business_exception_percentage, playback_failure_percentage, playback_success_score, rebuffer_frequency, rebuffer_percentage, seek_latency, smoothness_score, startup_time_score, upscale_percentage, video_quality_score, video_startup_business_exception_percentage, video_startup_failure_percentage, view_dropped_percentage, viewer_experience_score "count" : started_views, unique_viewers

order_direction'asc' | 'desc'

Sort order.

group_by'minute' | 'ten_minutes' | 'hour' | 'day'

Time granularity to group results by. If this value is omitted, a default granularity is chosen based on the timeframe.

For timeframes of less than 90 minutes, the default granularity is minute. Between 90 minutes and 6 hours, the default granularity is ten_minutes. Between 6 hours and 15 days inclusive, the default granularity is hour. The granularity of timeframes that exceed 15 days is day. This default behavior is subject to change; it is strongly suggested that you explicitly specify the granularity.

Response

OK

total_row_countinteger required
timeframeinteger[] required