Scrob
Scrob adapter notes for syncing watchlist, ratings, history, and progress.
Scrob can synchronize with CrossWatch as a source or target. It supports one-way and two-way pairs.
Scrob support is experimental. The adapter is new and may change as it is tested and improved.
Supported features
Watchlist
Movies, shows
Yes
Yes
Ratings
Movies, shows, seasons, episodes
Yes
Yes
History
Movies, episodes
Yes
Yes
Progress
Movies, episodes
Yes
Yes
Collection
Movies, shows, seasons, episodes
Yes
Yes
Scrob does not support playlist synchronization.
Collection sync is one-way only. Scrob can be a Collection source or target.
Using Scrob in a pair
First, connect Scrob under Settings → Connections → Trackers → Scrob.
You can then select Scrob when creating or editing a synchronization pair.
Examples:
Trakt → Scrob
Scrob → Trakt
Trakt ↔ Scrob
CrossWatch only shows features supported by both providers.
Start a new pair with one-way synchronization and one feature. Enable more features or two-way synchronization after confirming the results.
Only enable Remove when source deletions should affect Scrob.
Watchlist
Scrob Watchlist synchronization supports:
Movies
Shows
CrossWatch maps the Scrob watchlist to a personal list named Watchlist.
If CrossWatch needs to write to a missing list, it creates a private list. Items can be added or removed in either direction.
Seasons and episodes are not supported as Watchlist items.
Ratings
Scrob Ratings synchronization supports:
Movies
Shows
Seasons
Episodes
Scrob uses ratings from 1 to 10. CrossWatch rounds incoming ratings to the nearest supported whole number.
CrossWatch can create, update, and remove ratings. Episode ratings require the episode to already exist in Scrob.
History
Scrob History synchronization supports:
Movies
Episodes
Scrob stores individual play events rather than one watched state. CrossWatch preserves timestamps, multiple plays, and rewatches where the other provider supports them.
CrossWatch can add and remove individual history entries when removal is enabled for the pair.
Shows and seasons are not written as standalone History entries.
Progress
Scrob supports Playback Progress synchronization for:
Movies
Episodes
Progress is a native CrossWatch sync feature. It is separate from Watcher and real-time scrobbling.
CrossWatch can read, add, update, and remove stored progress. Scrob exposes this data through its Continue Watching state.
For example, Trakt → Scrob with Progress enabled synchronizes supported playback positions to Scrob.
Progress range
Scrob keeps active Continue Watching positions above 5% and below 90%.
CrossWatch only writes progress inside this range. It also requires a known playback duration.
Progress at or below 5%, or at or above 90%, is not stored as an active position.
Matching and IDs
CrossWatch primarily uses TMDb identifiers when synchronizing with Scrob.
Movies and shows normally require a TMDb ID. Episode operations also require the show TMDb ID, season number, and episode number.
TVDb information can support some episode operations when available. Good metadata matching is important when the other provider uses different identifiers.
Deletes
Scrob detects and applies removals for Watchlist, Ratings, History, and Progress.
CrossWatch safety controls still apply. CrossWatch only removes data when the feature and pair configuration allow it.
For a new Scrob pair, leave removals disabled until after a clean synchronization run.
Power users
Adapter
The Scrob synchronization provider is implemented in:
providers/sync/_mod_SCROB.py
Feature implementations are located in:
providers/sync/scrob/_watchlist.py
providers/sync/scrob/_ratings.py
providers/sync/scrob/_history.py
providers/sync/scrob/_progress.py
The sync adapter is version 0.1 and remains experimental.
Provider capabilities
Watchlist semantics
Scrob supports Watchlist reads, additions, removals, and observed deletes for movies and shows.
TMDb is required. The default list name is Watchlist.
Set the Scrob provider option watchlist_name to use a different list. CrossWatch creates the configured list when its first write requires it.
Ratings semantics
Scrob supports reads, additions, updates, removals, and observed deletes for movies, shows, seasons, and episodes.
The rating scale has a minimum of 1, maximum of 10, and step of 1. TMDb is the primary identifier.
Episode ratings require Scrob to already know the episode.
History semantics
Scrob History uses event semantics. Separate plays remain separate events instead of collapsing into one watched state.
CrossWatch preserves individual timestamps when available. Movies use TMDb as the primary identifier.
Episodes use a series TMDb ID, season number, and episode number. A TVDb series ID can also be included.
Progress semantics
Scrob supports reads, additions, updates, removals, and observed deletes for movie and episode progress.
Writes require a supported media identifier, playback percentage, and playback duration.
CrossWatch converts Scrob Continue Watching data into the common Progress model. Movie progress can use TMDb or IMDb data.
Episode progress uses show identifiers with season and episode numbers.
Progress removal
CrossWatch stores the Scrob media identifier with each indexed Continue Watching entry.
It uses that identifier to remove the corresponding entry later.
Observed deletes
Scrob supports observed deletes for Watchlist, Ratings, History, and Progress.
Normal deletion safeguards still apply. The pair feature must allow removal before CrossWatch writes a deletion to Scrob.
Index behavior
The Scrob adapter uses index_semantics: present.
CrossWatch reads each enabled feature into the provider index. It then compares both sides and plans additions, updates, or removals.
Health check
The adapter checks the Scrob Now Playing API.
A successful response marks Scrob as available for synchronization.
API and authentication
Synchronization uses the Scrob connection configured under Settings → Connections → Trackers → Scrob.
The adapter uses the stored Scrob API key and authenticated account session. Pairs do not need additional credentials.
Summary
Scrob is a bidirectional CrossWatch synchronization provider for Watchlist, Ratings, History, and Progress.
It can operate on either side of a standard synchronization pair. Progress is a native sync feature and does not depend on Watcher or real-time scrobbling.
Last updated
Was this helpful?