How to read your Spotify streaming history on Android
Spotify will send you every song you have ever played, as a set of JSON files. Getting them is the easy part; the files land in your Downloads folder with names like Streaming_History_Audio_2019-2020_3.json, and most phones have nothing installed that opens them. Here is what to ask for, what arrives, and how to read it.
Short answer
Sign in at spotify.com, open your account page and find Privacy settings → Download your data. Tick Extended streaming history for everything since you joined; the plain account-data request only covers recent listening. Spotify emails you a zip when it is ready. Extract it with your file manager and open the files whose names start with Streaming_History_Audio in a JSON viewer. Each one is usually a few megabytes, so Sonnet shows them as formatted text for free and the folding tree view needs the one-time Pro unlock.
Get Sonnet free Reads the files offline, nothing uploaded.
1. Two different requests on one page
Spotify splits your data into separate requests, ticked separately on the same privacy page, and they are not interchangeable:
- Account data — your profile, playlists, library and a recent slice of listening history, in files whose names begin with
StreamingHistory. This is the quick one. - Extended streaming history — every play going back to the day you created the account, in files named
Streaming_History_Audio_<years>_<n>.json, numbered from zero. This is the one people actually want, and it takes longer.
If you want your full history, tick the extended option. Sources disagree on exactly how far back the shorter account-data export reaches — some describe a month, some a year — so treat it as “recent” and check the dates in the file you get.
Spotify moves this page around. As of September 2026 the community parser projects that read these exports all point people at the account privacy settings page at spotify.com/account/privacy.
2. How long it takes
Spotify says a request can take up to 30 days. In practice it is usually much faster: developers who have documented their own requests report waits of two to three business days, three to eight days, and “usually much faster” than the stated limit. The extended history is generally described as the slower of the two requests, so budget for the longer wait if that is the one you need.
Two practical consequences. First, if you want your numbers by a particular date, ask weeks ahead rather than days. Second, the download link in the email does not last forever — one write-up puts the window at about two weeks — so download the zip when the mail arrives, not when you next think about it.
3. Extract the zip on your phone
- Open the email on your phone and download the zip. It lands in Downloads.
- Open Files by Google or your phone’s file manager, tap the zip and choose Extract.
- Open the extracted folder. In one documented download the zip was called
my_spotify_data.zipand unpacked into a folder namedMyData; yours may differ.
4. Which files hold your plays
| File | What it holds | Worth opening? |
|---|---|---|
Streaming_History_Audio_<years>_<n>.json | Your music and podcast plays, split into chunks by date range and numbered from 0 | Yes: this is the history |
Streaming_History_Video_<years>.json | Video plays, if you have any. Usually much smaller | Sometimes |
StreamingHistory…json | The recent listening history from the account-data request, with simpler entries | Yes, if that is the export you asked for |
| Everything else | Playlists, library, search history, inferences and account details | Browse them: most are small and readable |
File names as used by the community parser projects that read these exports, checked September 2026. Spotify has changed the layout before — older exports used different names — so trust what is actually in your folder over any guide, including this one.
5. What each entry says
Each history file is one big JSON array, and each entry in it is a single play. Open one in Sonnet and the tree gives you a foldable list of plays to scroll through. The fields in the extended export are unusually detailed:
ts— when the play ended, in UTC rather than your local time, which shifts some plays into a different day than you remember.ms_played— how long you listened, in milliseconds.30000is thirty seconds. An entry with a very small number here is usually a track you skipped.master_metadata_track_name,master_metadata_album_artist_name,master_metadata_album_album_name— the track, artist and album. On podcast rows these are typically empty andepisode_nameandepisode_show_namecarry the content instead.spotify_track_uri(orspotify_episode_uri) — Spotify’s own identifier for what was played, which is what you need if you want to match a row back to the catalogue.reason_startandreason_end— why playback began and ended, with short codes such asclickrow.platform,conn_country,shuffle,skipped,offline,incognito_mode— the device you used, the country you connected from, and the state of the player at the time.
The account-data version of the history is a shorter record of the same idea: the time the play ended, the artist, the track, and how many milliseconds you listened.
Tip: search in Sonnet jumps straight to an artist’s name inside a long history file, and it is part of the one-time Pro unlock. Without it, fold the array and scroll by date.
6. What opens on a phone, and what does not
Size is the thing that decides whether this works on the phone at all, and it varies enormously — the extended history goes back to the day you joined, so a decade-old account produces far more than a year-old one. Developers who have parsed their own exports report individual history files running from a few megabytes to roughly a dozen, with the history split across several files by date range rather than arriving as one enormous one. Check yours before you start: long-press the file in your file manager and look at its size.
Against that, Sonnet’s limits. The full folding tree is for JSON up to about 2 MB for free, and files up to 20 MB open as read-only formatted text you can copy and share. Sonnet Pro, a one-time unlock rather than a recurring charge, raises that to 50 MB files and a tree up to about 30 MB.
So for most people the extended history files land in the band where the free app shows them as formatted text and the tree needs Pro. The account-data history files are typically small enough for the free tree. If any single file is over 50 MB, it belongs to a different class of tool — how to open a large JSON file on Android covers what works at that size.
7. It is raw data, not a recap
Worth setting expectations: the export is a list of plays, not a summary. There is no “most played track” field anywhere in it — that number comes from adding up thousands of ms_played values, which is a job for a computer or one of the many history-analysis projects people have written. What the files on your phone are genuinely good for is looking things up: what you were listening to on a particular evening, when you first played a song, which device a play came from, whether a stretch of history is missing before you hand the file to something else.
One more thing in the export’s favour: it is yours and it is offline. Sonnet reads the file from the device and shows it; the contents are not uploaded anywhere.
Read your listening history on your phone
Sonnet opens JSON files as a collapsible tree, entirely offline, so your history stays on the device. No ads, no account. Free on Google Play, with an optional one-time Pro unlock for bigger files and search.