> For the complete documentation index, see [llms.txt](https://wiki.crosswatch.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.crosswatch.app/getting-started/support-matrix/providers.md).

# Providers

This section shows provider support for sync, watchlists, ratings, history, progress, and setup.

{% hint style="success" %}
Best first pair:

* source: Plex, Jellyfin, or Emby
* target: Trakt, SIMKL, MDBList, or PublicMetaDB
* mode: one-way
  {% endhint %}

{% hint style="warning" %}
Jellyfin and Emby do not have a native watchlist.

CrossWatch maps watchlists to Favorites, Playlists, or Collections.
{% endhint %}

{% hint style="info" %}
Tautulli is read-only.

Use it only as a history source.
{% endhint %}

### Use this page for quick checks

* Which providers can act as sources or targets
* Which features each provider supports
* Which entity types each feature can handle
* Which auth and connection methods each provider uses

### Provider overview

#### Provider roles

| Provider         | Category        |                                          Pair source |                                          Pair target |                                       Named profiles |
| ---------------- | --------------- | ---------------------------------------------------: | ---------------------------------------------------: | ---------------------------------------------------: |
| CrossWatch local | Local tracker   | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |                                          Local state |
| Plex             | Media server    | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| Jellyfin         | Media server    | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| Emby             | Media server    | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| Nuvio            | Media client    | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| Trakt            | Tracker         | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| SIMKL            | Tracker         | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| MDBList          | Tracker         | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| PublicMetaDB     | Tracker         | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| AniList          | Anime tracker   | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| TMDb             | Tracker         | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| Tautulli         | Plex monitoring |                                          Source only |   <i class="fa-xmark" style="color:red;">:xmark:</i> | <i class="fa-check" style="color:green;">:check:</i> |

#### Sync feature support

| Provider         |                                       Watchlist sync |                                         Ratings sync |                                         History sync |                                        Progress sync |
| ---------------- | ---------------------------------------------------: | ---------------------------------------------------: | ---------------------------------------------------: | ---------------------------------------------------: |
| CrossWatch local | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| Plex             | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| Jellyfin         |                                              Limited |   <i class="fa-xmark" style="color:red;">:xmark:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| Emby             |                                              Limited |   <i class="fa-xmark" style="color:red;">:xmark:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| Nuvio            | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| Trakt            | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| SIMKL            | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| MDBList          | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| PublicMetaDB     | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| AniList          |                                              Limited |                                              Limited |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| TMDb             | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| Tautulli         |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |                                          Source only |   <i class="fa-xmark" style="color:red;">:xmark:</i> |

#### Real-time and manager support

| Provider         |                                     Progress Manager |                                       Watcher source |                                       Webhook source |                                         Watcher sink |                                         Webhook sink |
| ---------------- | ---------------------------------------------------: | ---------------------------------------------------: | ---------------------------------------------------: | ---------------------------------------------------: | ---------------------------------------------------: |
| CrossWatch local |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| Plex             | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| Jellyfin         | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| Emby             | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| Nuvio            |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| Trakt            | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> |
| SIMKL            | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| MDBList          | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| PublicMetaDB     | <i class="fa-check" style="color:green;">:check:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| AniList          |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| TMDb             |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |
| Tautulli         |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> |

#### Notes

* Jellyfin and Emby have no native watchlist.
* Jellyfin and Emby Playlist mode is episode-only.
* Jellyfin and Emby ratings sync is disabled.
* Nuvio is experimental. It supports watchlist, history, and progress only.
* AniList supports anime watchlist and ratings only.
* Tautulli is read-only and history-only.
* Playlist sync is not a CrossWatch feature.
* Trakt, SIMKL, and MDBList support Progress Manager, not normal `progress` sync.
* PublicMetaDB supports both normal `progress` sync and Progress Manager.

### Provider entity support

#### Entity coverage

| Provider         | Watchlist entities               | Rating entities                  | History entities                 | Progress entities                |
| ---------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- |
| CrossWatch local | Movies, shows, seasons, episodes | Movies, shows, seasons, episodes | Movies, shows, seasons, episodes | Movies, shows, seasons, episodes |
| Plex             | Movies, shows                    | Movies, shows, seasons, episodes | Movies, episodes                 | Movies, episodes                 |
| Jellyfin         | Movies, shows, library items     | Not supported                    | Movies, episodes                 | Movies, episodes                 |
| Emby             | Movies, shows, library items     | Not supported                    | Movies, episodes                 | Movies, episodes                 |
| Nuvio            | Movies, shows                    | Not supported                    | Movies, episodes                 | Movies, episodes                 |
| Trakt            | Movies, shows                    | Movies, shows, seasons, episodes | Movies, episodes                 | Not a normal sync feature        |
| SIMKL            | Movies, shows, anime             | Movies, shows, anime titles      | Movies, episodes, anime          | Not a normal sync feature        |
| MDBList          | Movies, shows                    | Movies, shows, seasons, episodes | Movies, shows, seasons, episodes | Not a normal sync feature        |
| PublicMetaDB     | Movies, shows                    | Movies, shows, episodes          | Movies, episodes                 | Movies, episodes                 |
| AniList          | Anime movies, anime series       | Anime movies, anime series       | Not supported                    | Not supported                    |
| TMDb             | Movies, shows                    | Movies, shows, episodes          | Not supported                    | Not supported                    |
| Tautulli         | Not supported                    | Not supported                    | Plex movies, episodes            | Not supported                    |

#### Important restrictions

| Provider         | Notes                                                                         |
| ---------------- | ----------------------------------------------------------------------------- |
| CrossWatch local | Local JSON tracker with snapshots                                             |
| Plex             | Uses Plex Discover. Progress removal can be limited                           |
| Jellyfin         | No native watchlist. Playlist is episode-only. Strict ID matching is optional |
| Emby             | No native watchlist. Playlist is episode-only. Strict ID matching is optional |
| Nuvio            | Experimental. Watchlist maps to the Nuvio Library. TMDb is recommended        |
| Trakt            | History writes can also add to Trakt Collections                              |
| SIMKL            | No season or episode ratings                                                  |
| MDBList          | Dropped shows can be excluded from history sync                               |
| PublicMetaDB     | Requires TMDb identity. Progress also needs duration                          |
| AniList          | Anime mapping supports watchlist and ratings only                             |
| TMDb             | Requires a TMDb API key and account session                                   |
| Tautulli         | Read-only source. No writes                                                   |

### Jellyfin and Emby watchlist mapping

| Mode             |                                                 Read |                                                Write | Suitable content                       | Limitations                                  |
| ---------------- | ---------------------------------------------------: | ---------------------------------------------------: | -------------------------------------- | -------------------------------------------- |
| Favorites        | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | Movies, shows, episodes, library items | Uses the provider Favorite flag              |
| Playlist         | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | Episodes                               | Does not represent shows. No item migration. |
| Collections      | <i class="fa-check" style="color:green;">:check:</i> | <i class="fa-check" style="color:green;">:check:</i> | Movies, shows, library items           | Uses a named collection                      |
| Native watchlist |   <i class="fa-xmark" style="color:red;">:xmark:</i> |   <i class="fa-xmark" style="color:red;">:xmark:</i> | N/A                                    | No native watchlist                          |

### Authentication and connection methods

#### Authentication

| Provider         | Authentication                     |                                      Refresh support |
| ---------------- | ---------------------------------- | ---------------------------------------------------: |
| CrossWatch local | None                               |                                                  N/A |
| Plex             | Plex device PIN                    |                                    No refresh action |
| Jellyfin         | Server connection and access token |                                   Provider-dependent |
| Emby             | Server connection and access token |                                   Provider-dependent |
| Nuvio            | Temporary login code and profile   |                                                  Yes |
| Trakt            | OAuth device code                  | <i class="fa-check" style="color:green;">:check:</i> |
| SIMKL            | OAuth                              |                                   Provider-dependent |
| MDBList          | OAuth device code, legacy API key  |                                        Yes for OAuth |
| PublicMetaDB     | API key                            |                                                   No |
| AniList          | OAuth access token                 |                                   Provider-dependent |
| TMDb             | API key plus user session          |                                        Session-based |
| Tautulli         | Server URL plus API key            |                                                   No |

#### Important connection options

| Provider         | Key options                                                                 |
| ---------------- | --------------------------------------------------------------------------- |
| CrossWatch local | Storage path, retention, snapshots, restore selection                       |
| Plex             | Server, owner, managed users, shared users, Home profile, optional Home PIN |
| Jellyfin         | Server URL, user ID, device ID, optional SSL verification                   |
| Emby             | Server URL, user ID, device ID, optional SSL verification                   |
| Nuvio            | Selected Nuvio profile and stored authentication tokens                     |
| Trakt            | Client ID, client secret, access token, refresh token                       |
| SIMKL            | Client ID, client secret, access token                                      |
| MDBList          | Access token, refresh token, API key fallback                               |
| PublicMetaDB     | Base URL                                                                    |
| AniList          | Client ID, client secret, access token                                      |
| TMDb             | Auto-discovered account ID                                                  |
| Tautulli         | Optional user filter and SSL verification                                   |

#### Authentication notes

1. CrossWatch supports multiple named provider profiles.
2. Plex supports shared tokens and separate friend or shared users.
3. TMDb has two roles: `tmdb` for metadata and `tmdb_sync` for account sync.
4. Provider secrets are redacted from public config responses.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://wiki.crosswatch.app/getting-started/support-matrix/providers.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
