---
title: Watched shows & movies
description: Read the full watched shows and movies collections for an account.
section: Your data
order: 1
---

# Watched shows & movies

Fetch the complete watched-content collections for the signed-in user: shows rolled up by season and episode, movies as a flat list.

> [!REQUIRED]
> Both endpoints need the `read` scope. See [Authentication](/dev/authentication).

## Watched shows

`GET /v3/sync/watched/shows` returns one entry per show, newest watched first, nested into seasons and episodes.

:::tabs
```bash
curl -H "Authorization: Bearer $TOKEN" \
  "https://flicklist.tv/api/v3/sync/watched/shows"
```
```javascript
const res = await fetch('https://flicklist.tv/api/v3/sync/watched/shows', {
  headers: { Authorization: `Bearer ${token}` }
});
const shows = await res.json();
```
```python
import requests
r = requests.get(
    "https://flicklist.tv/api/v3/sync/watched/shows",
    headers={"Authorization": f"Bearer {token}"},
)
shows = r.json()
```
:::

Each show carries its own `plays` and `last_watched_at`, totaled across every episode, then a `seasons` array. Specials (season 0) never appear, and an episode you hid from your history stays out of the list.

```json
[
  {
    "show": {
      "title": "Breaking Bad",
      "year": 2008,
      "ids": { "fldb": "flt_9f2c8a1b", "slug": "breaking-bad", "tmdb": 1396, "imdb": "tt0903747", "tvdb": 81189, "anilist": null }
    },
    "plays": 62,
    "last_watched_at": "2026-05-14T02:10:33.000Z",
    "reset_at": null,
    "seasons": [
      {
        "number": 1,
        "episodes": [
          { "number": 1, "plays": 1, "last_watched_at": "2026-01-02T03:00:00.000Z" }
        ]
      }
    ]
  }
]
```

`reset_at` is reserved for a future rewatch-reset feature. It's always `null` today.

## Watched movies

`GET /v3/sync/watched/movies` returns a flat list with play counts, newest watched first.

```json
[
  {
    "title": "The Shawshank Redemption",
    "year": 1994,
    "plays": 3,
    "last_watched_at": "2026-05-14T02:10:33.000Z",
    "ids": { "fldb": "flm_7d3a95e0", "slug": "the-shawshank-redemption", "tmdb": 278, "imdb": "tt0111161", "tvdb": null, "anilist": null }
  }
]
```

> [!TIP]
> Both of these are full-collection snapshots, not deltas. Poll [`GET /v3/sync/last_activities`](/dev/sync/up-next) instead of re-fetching shows or movies on a timer. Its per-domain timestamps tell you which collection actually changed, so you only pull a fresh copy when there's something new to get.
