Adapter: Trakt
Trakt adapter lets CrossWatch sync with Trakt. It supports watchlist, ratings, and history.
Connect Trakt first. Use: Trakt (Authentication provider).
What it supports
Direction: source or target in a pair (one-way or two-way)
Features:
Watchlist
Ratings (1–10)
History (plays with
watched_at)Playlists (not supported)
Indexing: present-state snapshot (reads “what exists now”)
IDs:
trakt,imdb,tmdb,tvdb, and sometimesslug
Watchlist behavior
Read:
/sync/watchlistWrite: add/remove watchlist entries
Ratings behavior
Read: ratings for movies/shows/seasons/episodes
Write: upsert and remove ratings
Trakt ratings are integers 1–10. Anything else is rejected.
History behavior
Read: movie and episode play history
Write:
Add = scrobble with
watched_atRemove = remove plays (“unscrobble”)
Multiple plays are supported by sending multiple distinct watched_at timestamps.
History options (advanced)
Options under Pair → History → Advanced
Add collections to Trakt
When syncing history to Trakt, also writes collection membership.
This can increase write volume on large libraries.
Number Fallback
If episode IDs are missing but you have show IDs + season/episode numbers, CrossWatch posts using the
shows → seasons → episodespayload.
Settings and state (advanced)
Endpoints used
Watchlist:
GET /sync/watchlistPOST /sync/watchlistPOST /sync/watchlist/remove
Ratings:
GET /sync/ratings/{movies|shows|seasons|episodes}POST /sync/ratingsPOST /sync/ratings/remove
History:
GET /sync/history/{movies|episodes}POST /sync/historyPOST /sync/history/remove
Local cache and unresolved files
Stored under /config/.cw_state/.
Watchlist ETag/shadow:
trakt_watchlist.shadow.jsonWatchlist unresolved:
trakt_watchlist.unresolved.jsonRatings index cache:
trakt_ratings.index.jsonHistory unresolved:
trakt_history.unresolved.json
Diagnostics
Logs are prefixed with
[TRAKT:watchlist],[TRAKT:ratings],[TRAKT:history].Requests use retries with exponential backoff.
Trakt rate-limit headers (
X-RateLimit-*) are honored.OAuth tokens are refreshed automatically when needed.
Last updated