spotussi
$0
free forever
- Plays stored on your own server
- Your full Spotify history imported, free
- Every top list ranked in full, for any range
spotussi records what you play as you play it, imports your history back to day one, and charts all of it for any range you pick.
Every track, artist, album and genre you have played, ranked for any range, with rank movement.
When in the day you listen, hour by hour, and which hour is your busiest.
Import your lifetime streaming history from Spotify, back to your very first play.
Your Spotify streams are read every 12 seconds, so it knows what you finished and what you skipped.
How much you listen, and how much of it your top artists hold, day after day.
Your longest listening runs, from Saturday’s party to the Wednesday you should have slept.
Open any one to see your rank, your first play and when you play it.
A documented API for your scripts, and an MCP server your AI assistant can ask.
Hosted stats apps charge a subscription and keep your plays on their servers. spotussi runs on your own machine, keeps every play in a file you own, and costs nothing.
$0
free forever
$49.99
a year
$6
for lifetime Plus
US prices as listed on 18 October 2026, from last.fm/pro, stats.fm/plus and the stats.fm App Store listing. Last.fm and stats.fm are trademarks of their owners; spotussi is not affiliated with either.
Count plays and short songs win. Count hours and long ones do. Scroll on and Metallica climbs from sixth to third.
Plays: every start past 30 seconds.Time: minutes actually listened, not track length.
Top artists, last 4 weeks, sample data. Every chart and list in spotussi has this switch.
Follow three tracks from the phone they played on to your dashboard and your assistant.
1 · Stream
Listen in Spotify on your phone, laptop or speaker. spotussi reads your player from your server every 12 seconds, so there is nothing to install where you listen.
2 · Ingest
Every read brings in the track, your position, the device and the playlist. When the track changes, spotussi stores one play with the seconds you listened and whether you skipped. Your history export lands in the same table, matched so nothing counts twice.
3 · Dashboard
Overview, top lists and charts include the new play straight away, from today back to the first year you imported. A skip adds to your time listened and never to your plays.
4 · Ask
The built-in MCP server lets an assistant answer from your own history, with the same numbers as the dashboard. Scripts get them from the API.
Built with Go, Svelte and SQLite.
Capture, import and catalog lookups. Goroutines in the same process.
WAL, so writes never block reads. Live backups. Open it in sqlite3.
Every play, columnar. About 35 MB for a lifetime. Swapped in whole after each rebuild.
OpenAPI docs at /api/docs. Revocable tokens. No private endpoints.
Svelte 5, compiled into the binary. MCP on the same API.
< 25 ms
How long a dashboard takes with 500,000 plays loaded: quicker than a blink.
12 s
Your listening is captured every 12 s while music plays, and every 90 s when idle.
29 MiB
Memory in use at idle, little enough for a small arm64 board.
Five steps, most of them in the setup wizard. You need Docker and a Spotify account with Premium. Each step links its guide in the documentation on GitHub.
Save the compose file from the install guide and run docker compose up -d. One container, one data volume.
Open spotussi in your browser, enter the setup token from the container log and choose an owner password. Single sign-on through a forward-auth proxy works too.
Create your own Spotify app, paste its Client ID and approve read-only access. The wizard shows every value to copy.
Request your Extended Streaming History from Spotify. It can take up to 30 days. Drop the zip in when it arrives.
Play music as normal. spotussi checks your player about every 12 seconds, so each play lands as you hear it.
Yes. Spotify only lets Premium accounts create the developer app spotussi connects through. Every instance uses its own app, and the wizard walks you through making it.
Into one SQLite file on your server. spotussi asks Spotify for read-only access only, and the free public catalog sources it uses for artwork and genres can each be switched off.
Request the Extended Streaming History on Spotify's privacy page and import the zip when it arrives. Raw rows are kept forever, so a rule change applies to all of it.
Spotify allows apps like this about 150 catalog lookups a day. Public sources fill the gaps meanwhile, so a lifetime export has its artwork, durations and genres in about six to seven hours.
Yes. The built-in MCP server answers assistants that hold an API token, using the same documented API the dashboard runs on.
There is nothing to buy and no subscription. It runs on any amd64 or arm64 machine with Docker, or as a static binary on Linux and macOS, and you can back it up while it runs with one command.