5 hours ago
Environment:
Issue:
I want to understand how the Jellyfin → Trakt integration is supposed to work, and how to fix my ongoing sync failures. My goals:
However, library syncing does not, and seems to have been erroring out for a long time.
Symptoms
I consistently get Trakt API failures during scheduled sync:
So it detects only 2 movies needing sync (this is likely correct as I temporarily restricted watched libraries to a single, rarely modified, library), but then fails with 420 every time.
Plugin Settings
I’ve tried many variations; currently only:
I suspect now that I've slimmed it down so far, my watched status may no longer be syncing, as it is set to only execute during the Scheduled Task, which fails. Previously I had it doing it in real time and that was working as recently as a few days ago before I started really restricting the settings.
Troubleshooting Performed
Questions
Thanks in advance for your help!
- Jellyfin: v10.11.2 (Issue has been occurring across multiple versions — not new to 10.11)
- Trakt Plugin: v27.0.0.0 (again, across multiple versions)
- Trakt Account: Free version (not VIP)
- OS: Ubuntu 24.04 LTS
- Install: Docker
Issue:
I want to understand how the Jellyfin → Trakt integration is supposed to work, and how to fix my ongoing sync failures. My goals:
- Sync my Jellyfin library to Trakt
- Sync watched/unwatched state from Jellyfin → Trakt
- Ideally in real time, but scheduled sync is fine
- Ideally in real time, but scheduled sync is fine
However, library syncing does not, and seems to have been erroring out for a long time.
Symptoms
I consistently get Trakt API failures during scheduled sync:
Code:
[2025-11-05 07:47:52.381 -05:00] [INF] [82] Trakt.ScheduledTasks.SyncLibraryTask: Movies to "add to" collection: 2
[2025-11-05 07:47:52.503 -05:00] [ERR] [107] Trakt.Api.TraktApi: Exception handled in PostToTrakt
System.Net.Http.HttpRequestException: Response status code does not indicate success: 420 (<none>).
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at Trakt.Api.TraktApi.PostToTrakt[T](String url, Object data, TraktUser traktUser, CancellationToken cancellationToken)
[2025-11-05 07:47:52.507 -05:00] [ERR] [107] Trakt.ScheduledTasks.SyncLibraryTask: Exception handled sending movies to trakt.tv
System.Net.Http.HttpRequestException: Response status code does not indicate success: 420 (<none>).
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at Trakt.Api.TraktApi.PostToTrakt[T](String url, Object data, TraktUser traktUser, CancellationToken cancellationToken)
at Trakt.Api.TraktApi.SendLibraryUpdateAsync(ICollection`1 movies, TraktUser traktUser, EventType eventType, CancellationToken cancellationToken)
at Trakt.ScheduledTasks.SyncLibraryTask.SendMovieCollectionUpdates(Boolean collected, TraktUser traktUser, List`1 movies, IProgress`1 progress, Double currentProgress, Double availablePercent, CancellationToken cancellationToken)
[2025-11-05 07:48:15.681 -05:00] [INF] [107] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Export library to trakt.tv" Completed after 0 minute(s) and 26 seconds
[2025-11-05 07:49:05.587 -05:00] [INF] [31] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Scan Media Library" Completed after 1 minute(s) and 16 secondsSo it detects only 2 movies needing sync (this is likely correct as I temporarily restricted watched libraries to a single, rarely modified, library), but then fails with 420 every time.
Plugin Settings
I’ve tried many variations; currently only:
- During Scheduled Task, mark Trakt watched if local item is watched
- Synchronize collection
I suspect now that I've slimmed it down so far, my watched status may no longer be syncing, as it is set to only execute during the Scheduled Task, which fails. Previously I had it doing it in real time and that was working as recently as a few days ago before I started really restricting the settings.
Troubleshooting Performed
- Re-authorized against Trakt – success
- Limited Trakt sync to only one library folder
- → Log correctly shows only “Movies to add: 2”
- Tried toggling most plugin options
- Verified watched → Trakt worked until recently (so it seems by credentials / authorization isn't the issue)
- Still always fails with HTTP 420.
Questions
- What does the 420 failure mean here?
- Trakt’s docs say rate-limited, but this occurs even when syncing only 2 movies.
- Trakt’s docs say rate-limited, but this occurs even when syncing only 2 movies.
- What could cause the collection sync to error consistently over many months?
- DB issue?
- Plugin config?
- Known bug?
- DB issue?
- Any suggestions/recommendations for fixing this? I originally thought it might be library size, but it seems to be choking at only 2 movies.
Thanks in advance for your help!

