Unlock Your Full SwiftieStats Profile
Upload your Spotify Extended Streaming History to build your all-time stats, scoreboards, milestones, and full Taylor listening journey.
This is a one-time import for your historical data. For ongoing updates, connect Last.fm after your import.
All-Time Taylor Stats
Your lifetime plays, minutes, songs, albums, eras, and listening patterns.
Scoreboard Eligibility
Join leaderboards and compare your complete listening history with other users.
Your Full Journey
Track milestones, countdowns, album progress, and your Swiftie profile.
Music Universe
See the artists, songs, and albums you listen to outside of Taylor too.
How it works
Request your data from Spotify
Open Spotify → Settings → Privacy → Download your data. Request "Extended streaming history."
Wait for Spotify's email
Spotify usually sends a ZIP file after a few days.
Upload it here
Upload the ZIP or JSON file below. No need to unzip first.
Waiting on Spotify?
Spotify may take a few days to email your archive. Mark that you requested it so you remember to come back.
Upload Your Spotify Archive
Your Privacy, Plain and Simple
Your Spotify archive contains more than we need, so SwiftieStats removes the unnecessary parts before anything is saved.
What we save
- Timestamp
- Milliseconds played
- Skipped flag
- Track, artist, album name
- Spotify track URI
What we never store
- Your raw file
- IP or location data
- Device or platform
- Country or region
- Unnecessary metadata
Want to verify? View the sanitization code
Want to sanitize your own file first?
If you prefer to strip fields yourself before uploading, here's how. The file you upload should keep only: ts, ms_played, master_metadata_track_name, master_metadata_album_artist_name, master_metadata_album_album_name, spotify_track_uri, skipped
macOS / Linux (jq):
jq '[.[] | {ts, ms_played, master_metadata_track_name, master_metadata_album_artist_name, master_metadata_album_album_name, spotify_track_uri, skipped}]' \
Streaming_History_Audio_0.json > sanitized.jsonWindows (PowerShell):
$keep = 'ts','ms_played','master_metadata_track_name',
'master_metadata_album_artist_name',
'master_metadata_album_album_name',
'spotify_track_uri','skipped'
Get-Content Streaming_History_Audio_0.json |
ConvertFrom-Json |
ForEach-Object { $o = @{}; $keep | ForEach-Object { $o[$_] = $_.$_ }; $o } |
ConvertTo-Json | Set-Content sanitized.jsonWant your stats to keep updating?
Your Spotify archive builds your historical profile. Last.fm keeps your new listens updating automatically after that.
Connect Last.fm →