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 Settings → Import.
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
- Enter your Tautulli URL (e.g.,
http://localhost:8181) - Enter your API Key
- Find this in Tautulli: Settings → Web Interface → API Key
- Click Test Connection to verify
Step 2: Configure Import
Once connected, you’ll see import options:
| Option | Description |
|---|---|
| Target Server | Select which Plex server to import sessions to |
| Overwrite friendly names | Replace existing user nicknames with names from Tautulli |
| Include detailed stream data | Fetch 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
- In Jellystat, go to Settings → Backup
- Select “Activity” as the backup type
- 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
- Select your Target Server (Jellyfin or Emby)
- Drag and drop your JSON file or click to select it
- Configure import options:
| Option | Description |
|---|---|
| Enrich with media metadata | Fetches season/episode numbers and artwork from your server. Slower but provides better data quality. (Recommended) |
| Update existing records | Updates 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
- Install Jellystat temporarily alongside your Jellyfin server
- Import your Playback Reporting data into Jellystat:
- In Jellystat, go to Settings
- Click Task → Complete Sync with Jellyfin
- Click Task → Import Playback Reporting Plugin Data
- Export from Jellystat — Go to Settings → Backup → select Activity → Export
- 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:
| Job | When to Run |
|---|---|
| Normalize Players | If device names appear inconsistent (e.g., “AndroidTV” vs “Android TV”) |
| Fix Imported Progress | If imported sessions show 0% progress |
| Backfill User Dates | If users show “Never” for last activity despite having history |
| Full Aggregate Rebuild | If 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