Skip to Content
Getting StartedImport Data

Import Watch History

Tracearr can import your existing watch history from Tautulli (for Plex) and Jellystat (for Jellyfin/Emby). This lets you keep your historical data when migrating to Tracearr.

Access the import feature at SettingsImport.

Before importing, make sure you’ve synced your media server in Settings → Servers. Tracearr matches imported sessions to existing users by their media server user ID. Sessions for users that don’t exist in Tracearr will be skipped.

Import from Tautulli

Tautulli import connects directly to your Tautulli instance via API — no file export needed.

Step 1: Connect to Tautulli

  1. Enter your Tautulli URL (e.g., http://localhost:8181)
  2. Enter your API Key
    • Find this in Tautulli: SettingsWeb InterfaceAPI Key
  3. Click Test Connection to verify

Step 2: Configure Import

Once connected, you’ll see import options:

OptionDescription
Target ServerSelect which Plex server to import sessions to
Overwrite friendly namesReplace existing user nicknames with names from Tautulli
Include detailed stream dataFetch codec, bitrate, and resolution data for each session. Enables bandwidth/quality stats but significantly increases import time. (Beta)

Step 3: Start Import

Click Start Import to begin. You’ll see real-time progress showing:

  • Processed — Total records checked
  • Page — Current page of results being fetched
  • Imported — Successfully imported sessions
  • Skipped — Records that weren’t imported
  • Errors — Records that failed to import

Tautulli import fetches data in pages via the API. Large libraries may take several minutes depending on your history size and network speed.

Why Records Are Skipped

Records may be skipped for these reasons:

  • User not found — The Plex user doesn’t exist in Tracearr. Sync your server first.
  • Duplicate session — The session was already imported in a previous run.
  • In-progress session — Active or incomplete sessions without a reference ID are skipped.

Import from Jellystat

Jellystat import uses a JSON backup file that you export from Jellystat.

Step 1: Export from Jellystat

  1. In Jellystat, go to SettingsBackup
  2. Select “Activity” as the backup type
  3. Click Export and save the JSON file

You must export an Activity backup specifically. Full backups are not supported — only the Activity backup contains the playback history needed for import.

Step 2: Upload and Configure

  1. Select your Target Server (Jellyfin or Emby)
  2. Drag and drop your JSON file or click to select it
  3. Configure import options:
OptionDescription
Enrich with media metadataFetches season/episode numbers and artwork from your server. Slower but provides better data quality. (Recommended)
Update existing recordsUpdates previously imported sessions with codec, bitrate, and transcode data from the backup. Useful when re-importing to backfill new fields.

Step 3: Start Import

Click Start Import to begin. Progress shows:

  • Processed — Records parsed from the backup
  • Imported — Successfully imported sessions
  • Skipped — Records that weren’t imported
  • Enriched — Records enhanced with additional metadata (if enabled)
  • Errors — Records that failed

Why Records Are Skipped

Records may be skipped for these reasons:

  • User not found — The Jellyfin/Emby user doesn’t exist in Tracearr. Sync your server first.
  • Duplicate session — The session was already imported in a previous run.

If many records are skipped due to “user not found”, ensure you’ve synced your server recently in Settings → Servers.

Migrating from Playback Reporting Plugin

If you’re using the Jellyfin Playback Reporting plugin  to track watch history, you can migrate that data to Tracearr through Jellystat.

Direct import from the Playback Reporting plugin is planned for a future Tracearr release. For now, use Jellystat as an intermediary.

Migration Path

  1. Install Jellystat temporarily alongside your Jellyfin server
  2. Import your Playback Reporting data into Jellystat:
    • In Jellystat, go to Settings
    • Click TaskComplete Sync with Jellyfin
    • Click TaskImport Playback Reporting Plugin Data
  3. Export from Jellystat — Go to SettingsBackup → select ActivityExport
  4. Import into Tracearr — Follow the Jellystat import steps above

This is a one-time migration. Once your data is in Tracearr, you can uninstall both the Playback Reporting plugin and Jellystat if desired.

Some users have reported issues with TV show metadata when importing from the Playback Reporting plugin to Jellystat. Movies typically import cleanly, but TV episodes may show incomplete data. This is a limitation of the plugin’s data format, not Tracearr.

After Importing

After import completes, you may want to run some maintenance jobs in Settings → Jobs:

JobWhen to Run
Normalize PlayersIf device names appear inconsistent (e.g., “AndroidTV” vs “Android TV”)
Fix Imported ProgressIf imported sessions show 0% progress
Backfill User DatesIf users show “Never” for last activity despite having history
Full Aggregate RebuildIf charts or statistics look incorrect

See the FAQ for more details on these jobs.

Re-importing Data

You can run imports multiple times safely:

  • Duplicate detection — Sessions already in Tracearr are automatically skipped
  • Incremental updates — Only new sessions since the last import are added
  • Stream details update — Use the “Update existing records” option (Jellystat) to backfill codec/bitrate data on previously imported sessions
Last updated on