Your most played Spotify songs of all time, and why one song can be filed ten times.
Spotify's own lists each cover a window. Your export covers every play, but it files each one under a track ID, and one song can have several. In one real export, counting by ID pushed six songs out of the all-time top 25.
Spotify does not keep an all-time list of your songs that you can open whenever you like. What it shows you depends on where you look, and each place covers a fixed stretch of time.
| Where | What it covers |
|---|---|
| Listening stats, on your profile | Top songs, one week at a time |
| Wrapped | 1 January to mid November |
| Spotify 20, All-Time Top Songs | Top 120 with play counts, a one-off |
| Apps that sign in to your account | About a year, plus what they record |
| Extended streaming history | Every play since your account began |
Spotify 20 arrived in May 2026 for the company's twentieth anniversary, billed as a limited-time feature. The year in the fourth row is set by Spotify, not by the apps: its developer documentation says the longest range an app can ask for is "calculated from ~1 year of data", so anything older is only there if the app has been recording since you joined it. The last row is the only one that holds everything, and it is a file rather than a screen. You request it from Spotify, it arrives by email, and then something has to count it. The counting is where an all-time list goes wrong without telling you.
Every play is filed under a track ID
Each entry in the Streaming_History_Audio files is one play: when it
ended, how long it ran in ms_played, the track name, the artist, the album,
and spotify_track_uri, the ID of the exact catalogue entry you played.
The obvious way to build a top list is to count plays per ID. It is also the wrong way, because one song often has more than one entry. Spotify's developer documentation says its catalogue often holds several instances of one track, released more than once under different licences for different markets. The export shows a more ordinary cause as well: in this history, songs turn up under one ID on their own single and under another on an album. Each play is filed under whichever entry you happened to press.
One song, ten entries
The clearest case in our export is "VVV" by mikeeysmind. It was played 177 times across ten different track IDs. Every one of the ten carries the same name, the same artist, and an album that is also called "VVV".
Counted as one song, VVV is the 14th most played song in this history. Counted by ID, its busiest entry has 46 plays and ranks 501st.
We cannot tell you why it has ten entries. The export does not say, and the ten may not be identical audio: the file carries no track length and no recording code, so the name is all there is to go on. What it does show is that a list built on IDs would never put this song anywhere near the top, however often it was played.
How far it moves a top 25
VVV is the extreme case. Across the whole export there are 22,628 songs and 23,635 track IDs. Only 939 songs, 4.15%, were filed under more than one ID, which sounds too few to matter. They are not spread evenly. Those 939 songs hold 15.73% of all plays, and 13 of the top 25 songs are among them.
Most splits change nothing. The most played song, "hollow purple" by Senpai Xavi., has 412 plays, 408 of them on one ID, and comes first either way. The splits that move a list are the even ones. These six are in the top 25 counted by song and missing from it counted by ID:
| Song | By song | Plays | Per ID | By ID |
|---|---|---|---|---|
| Wat U Want 2, mikeeysmind | 11th | 186 | 109 and 77 | 75th |
| knight - slowed, escorte | 12th | 182 | 111 and 71 | 72nd |
| VVV, mikeeysmind | 14th | 177 | ten, none over 46 | 501st |
| MILLION DOLLAR BABY, Tommy Richman | 18th | 161 | 116 and 45 | 56th |
| Memory Reboot, VØJ | 19th | 158 | 136 and 22 | 26th |
| bando - sped up + reverb, bbygirl | 24th | 149 | 112, 36 and 1 | 69th |
Counted by ID, none of these songs appears twice, which is why the problem is easy to miss. A duplicate row would look like a bug. Instead the list quietly loses them and promotes six songs that were played less.
Under-counting a split song looks exactly like not having played it.
What we merge, and what we refuse
Quilore counts by song: the track name and the artist, compared after setting aside capital letters and accents, with two kinds of bracket removed, a featured artist credit and a remaster tag. In this export, 72 songs had plays filed under titles written differently. 41 differed only in capital letters, like "wat u want 2" and "Wat U Want 2". 28 differed in a featured artist credit, and 3 in a remaster tag.
Everything else stays apart, even when it sounds like the same song. A remix, a radio edit and a slowed or sped-up version are each counted on their own, so "knight - slowed" is never added to "knight". The reasoning is about which mistake you can see. A song split in two is visible, and you can add the halves up yourself. A song carrying another recording's plays is simply wrong, and nothing on the screen says so.
A mistake we found while writing this
Until the day this article was published, a third kind of bracket was removed as well: anything containing the word "version". It came from the rule in our original specification, which we had already corrected once for treating remixes and edits as the same song. "Version" survived that correction. Measuring this export for this article showed what it did: it merged five different recordings into their originals. "Shootout (8D Version)", played 104 times, was being counted as "Shootout", which was played once. A slowed version, a piano version, an acoustic version and a 7" version went the same way.
The word is no longer removed, and a test now fails if it ever is again. Every figure in this article comes from the corrected count. If you read your export in Quilore before the fix, a song with a version in brackets may have shown plays that belonged to a different recording. Read it again and the two will be counted apart.
Counting your own
- Request Extended streaming history, not Account data. Account data holds about a year.
- Read every
Streaming_History_Audiofile and keep entries wherems_playedis at least 30,000, which is Spotify's own threshold for a stream. - Group by track name and artist, ignoring case. Never group by
spotify_track_uri. - Decide whether "most played" means plays or listening time. In this export they agree on the top song, and 7 of the top 10 by plays are also in the top 10 by time.
If a song you know you played constantly is missing from your list, look for it under a second ID before anything else. It is the likeliest reason by some distance.
About the data
Every listening figure here comes from one real export, belonging to one of the two people who build Quilore and published with their agreement: 160,205 streams outside private sessions, 24 July 2021 to 18 August 2026, read with this site's own engine after the fix described above. A play is a stream of 30 seconds or more. What Spotify's own features cover is taken from its newsroom and its developer documentation, read on 9 October 2026, and Spotify can change any of it. Your own list will have its own splits.
See your own all-time list.
Drop your Spotify export into Quilore. It counts by song, runs in this tab, and nothing leaves your device.