Know what your users actually watch

A Jellyfin plugin that turns playback into per-user analytics — play history, play counts, watch time and charts — in a clean admin dashboard.

Jellyfin 10.11+ Auto-updating repo SQLite storage Admin-only MIT licensed

Everything you want to know

Built on Jellyfin's own session events — accurate, structured, and admin-only.

Per-user breakdown

Play count, total watch time, distinct items and last-played for every user, with a click-through drilldown.

📈

Charts & widgets

Plays over time, watch time by media type, and per-user trends — summary KPI cards at a glance.

🕮

Play history

A paged, searchable history of what was watched, when, on which client — and each user's top items.

Accurate watch time

Measured as real wall-clock time per session and de-duplicated, so skipping to the end never inflates totals.

Backfill history

Import Jellyfin's existing per-user watch history so activity from before you installed the plugin counts too.

REST API

Every metric is available as JSON under /UserAnalytics for your own dashboards and automations.

Install in two minutes

Add the repository once and install (plus future updates) straight from Jellyfin's catalog.

Open repositories. In Jellyfin go to Dashboard → Plugins → Repositories and click .
Add this repository URL.
https://raw.githubusercontent.com/JTCozart/jellyfin-analytics/master/manifest.json
Install the plugin. Open Catalog, find User Analytics under General, and click Install.
Restart Jellyfin and open User Analytics from the Dashboard menu.