---
title: "Get video retention data"
method: GET
path: "/retention/{video_id}"
tags: ["Analytics API"]
---

# Get video retention data

`GET /retention/{video_id}`

## Request

- Base URL: `https://data.pandavideo.com`
- URL: `https://data.pandavideo.com/retention/{video_id}`
- Auth: API key in header `Authorization`

Retrieves retention analytics data showing viewer drop-off over time

## Path parameters

- `video_id` string, uuid, required

## Query parameters

- `start_date` string, date
- `end_date` string, date

## Response `200`

Video retention data retrieved successfully

- object
  - `retention` object: Retention data indexed by second
  - `viewsData` object: Raw views data by second
  - `video` object
    - `title` string: Video title
    - `duration` number: Video duration in seconds
    - `hls` string: HLS playlist URL
    - `retention_markers` object[]: Array of retention markers (pitch and custom)
      - `time` number: Time in seconds where the marker is placed
      - `type` 'pitch' | 'custom': Type of marker
      - `title` string: Title of the marker

## Other responses

- `400`: Bad request - Invalid input parameters
- `401`: Unauthorized - Invalid or missing authentication
- `404`: Not found - Resource does not exist
- `500`: Internal server error

---

[API](https://skmtc.dev/pandavideo/apis/panda-analytics-video-api.md) - [All operations](https://skmtc.dev/pandavideo/apis/panda-analytics-video-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pandavideo/apis/panda-analytics-video-api/revisions/f773175019ee?raw)
