AnalyticsAnalytics

Get video statistics

GET/analytics/v1/videos/{videoId}/stats

Returns aggregated statistics for a video over a date range

X-API-Key<token>

In: header

Path Parameters

videoId*string

Video ID

Query Parameters

start?string

Start date (inclusive)

end?string

End date (inclusive)

Response Body

200application/json

OK

type: object

avg_watch_time_ms?number
completion_rate?number
completions?integer
starts?integer
total_views?integer
total_watch_time_ms?number
unique_viewers?integer
video_id?string
watches?integer
400application/json

Bad Request

type: object

code?integer

HTTP status code

details?string

Optional details about the error

error?string

Error message describing what went wrong

401application/json

Unauthorized

type: object

code?integer

HTTP status code

details?string

Optional details about the error

error?string

Error message describing what went wrong

curl -X GET "https://api.rixl.com/analytics/v1/videos/string/stats"
fetch("https://api.rixl.com/analytics/v1/videos/string/stats", {
  method: "GET"
})
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {
  url := "https://api.rixl.com/analytics/v1/videos/string/stats"

  req, _ := http.NewRequest("GET", url, nil)

  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "https://api.rixl.com/analytics/v1/videos/string/stats"

response = requests.request("GET", url)

print(response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;

HttpClient client = HttpClient.newBuilder()
  .connectTimeout(Duration.ofSeconds(10))
  .build();

HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
  .uri(URI.create("https://api.rixl.com/analytics/v1/videos/string/stats"))
  .GET()
  .build();

try {
  HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
  System.out.println("Status code: " + response.statusCode());
  System.out.println("Response body: " + response.body());
} catch (Exception e) {
  e.printStackTrace();
}
using System;
using System.Net.Http;
using System.Text;

var client = new HttpClient();
var response = await client.GetAsync("https://api.rixl.com/analytics/v1/videos/string/stats");
var responseBody = await response.Content.ReadAsStringAsync();

OK

application/json

{
  "avg_watch_time_ms": 0,
  "completion_rate": 0,
  "completions": 0,
  "starts": 0,
  "total_views": 0,
  "total_watch_time_ms": 0,
  "unique_viewers": 0,
  "video_id": "string",
  "watches": 0
}

Bad Request

application/json

{
  "code": 400,
  "details": "The provided ID is not valid",
  "error": "Bad Request"
}

Unauthorized

application/json

{
  "code": 401,
  "details": "The provided ID is not valid",
  "error": "Unauthorized"
}