You can use this tool to retrieve data about your listening history on Spotify, export them in a .csv or .xlsx file and do some lovely analysis.
You can download the binary files (only for Windows) in the Releases page.
This tools uses the official Spotify Web API and in order to access them you have to:
-
Go to the Dashboard page at the Spotify Developer website and, if necessary, log in.
-
Click on "Create an App"
-
Choose a name for the app and click on "Create"
-
Now you have your personal App, congrats. Click on "EDIT SETTINGS" and in the "Redirect URIs" field enter this string:
http://localhost:8888/callback/ -
Click on "SAVE".
-
Open the Spotify Data Retriever app and paste them in the appropriate forms
-
Choose the options you like and press "START"
-
Profit(?)
Python 3.9 or newer. One command, Linux/macOS:
./run.shThe first run creates the virtual environment and installs the dependencies; every later run goes straight to the app — no activation needed.
With uv installed there is an even shorter zero-setup path (no manual venv at all):
uv run main.pyOn Windows (or without uv), the classic way still works:
python -m venv .venv
.venv\Scripts\pip install -r requirements.txt
.venv\Scripts\python main.pyExports (.csv/.xlsx), the Spotify token caches and your credentials (.env) all live either next to the app or in ~/spotify-analyzer-data; none of them are committed (see .gitignore).
The analysis and export logic is covered by a headless test suite that stubs the Spotify API and the GUI:
python tests/test_core.py