Watcher

Real-time scrobbling from Plex/Emby/Jellyfin to Trakt, SIMKL and MDBList.

Watcher does real-time scrobbling without Plex Pass or Emby Premiere. It reads playback directly from your media server and pushes progress to trackers.

Sources and targets

Sources:

  • Plex: connects via AlertListener and consumes “Playing” alerts.

  • Emby: polls /Sessions?ActiveWithinSeconds=15 (every ~15s).

  • Jellyfin: polls /Sessions?ActiveWithinSeconds=15 (every ~15s).

Targets:

  • Trakt

  • SIMKL

  • MDBList

Prerequisites

  • Connect your media server in Settings → Authentication.

  • Connect at least one target tracker in Settings → Authentication.

circle-info

For Jellyfin/Emby, Trakt is useful as an ID fallback in some cases.

Quick start

1

Connect providers

  1. Connect a media server (Plex/Emby/Jellyfin).

  2. Connect one or more targets (Trakt/SIMKL/MDBList).

2

Enable Watcher

  1. Open Settings → Scrobbler → Watcher.

  2. Set Provider (source) and Sink (target).

  3. Enable Watcher.

3

Optional toggles

  • Autostart: start Watcher when CrossWatch starts.

  • Auto-remove from Watchlist: remove completed movies from watchlists.

  • Filters: restrict which users are scrobbled.

circle-exclamation

UI fields

image
  • Sink: Trakt, SIMKL, MDBList (any combination)

  • Provider: Plex, Emby, Jellyfin

circle-info

Trakt shows real-time “Now watching”. SIMKL shows pause/stop progress in the Playback Progress Manager. MDBList shows progress on its main page.

Options

  • Auto-remove from Watchlist: removes completed movies from watchlists.

  • Ratings (Plex only): sends ratings to targets.

    • Requires the helper webhook: http://<host>:8787/webhook/plexwatcher

Filters

  • Username whitelist: only scrobble listed users.

    • Supports id:<accountID> or uuid:<accountUUID>.

  • Server UUID (Plex only): restrict to one server.

  • User UUID (Emby/Jellyfin): restrict to one user.

Advanced

image
chevron-rightPlayback event tuninghashtag

Pause debounce (sec) (default 5)

  • Ignores rapid duplicate pause events.

  • Config: scrobble.webhook.pause_debounce_seconds

Suppress start @ (%) (default 99)

  • Skips “start” events near the end of a title.

  • Config: scrobble.webhook.suppress_start_at

Regress tolerance (%) (default 5)

  • Clamps progress backwards jumps (seek glitches).

  • Config: scrobble.trakt.regress_tolerance_percent

Stop pause threshold (%) (default 80)

  • Treat STOP below this threshold as PAUSE.

  • Config: scrobble.trakt.stop_pause_threshold

Force stop @ (%) (default 80)

  • Treat STOP at/above this as completed.

  • Config: scrobble.trakt.force_stop_at

Summary

Watcher scrobbles without Plex Pass or Emby Premiere.

Pick one media server source and one or more tracker sinks.

Use filters if you share servers with other users.

Next steps

Last updated