Download your Flow Music songs
Back up your own songs as M4A files with embedded titles.
Requires Python 3, curl, and ExifTool.
Quick start
- Install dependencies. On Arch Linux:
sudo pacman -S curl exiftool. - Log in to Flow Music and open your song library. In browser DevTools → Network, find the
clips/auth-userrequest and copy its Authorization token, without theBearerprefix. - Run these commands from the repository folder:
python3 save_songs.py
python3 download_audio.py
Paste the token when prompted; input is hidden. Keep it private. If it expires, rerun with a fresh token. Saved progress is kept.
Get new songs
python3 save_songs.py --update
python3 download_audio.py
How it works
save_songs.pyfetches 100 clips per request intosongs.json, saving each page. Disliked songs are excluded. Updates append new IDs and stop at saved IDs using newest-first ordering.download_audio.pydownloads onlyaudio_urlwith curl and embedstitleusing ExifTool. Files go indownloads/, named by clip ID. Completed files are skipped on reruns.
Optional helpers:
python3 extract_songs.py # Create songs-list.json with titles and media URLs
python3 check_duplicates.py # Check songs.json for duplicate clip IDs