Export your Tidal playlists (including private ones) to JSON format with complete metadata.
Tired of feeling held to ransome and continuing a subscription just to preserve a playlist? This should help you make a backup of the tracks you had in your lists so you have a record of them.
- ✅ Complete track metadata (ISRCs, track IDs, durations, BPM, etc.)
- ✅ Handles large playlists (700+ tracks)
- ✅ Clean, minimal JSON output
- ✅ Simple HTML viewer with album artwork
- ✅ Works via browser console (no API keys needed)
Note - this isn't perfect, you might need to try a couple of times. If sometimes it captures many more tracks than expected when you export. If that happens I found clicking the playlist again and trying again usually gets a fresh export.
I did try using the API's to export the playlists but they were buggy and only partially working.
See EXTRACT_FROM_BROWSER.md for detailed instructions.
Quick version:
- Open https://listen.tidal.com in your browser
- Open DevTools Console (F12)
- Paste the contents of
tidal-devtool-playlists.js - Navigate to a playlist and scroll to load all tracks
- Run
exportPlaylistData()- data is copied to clipboard - Save to
playlist/playlistname.json - Repeat for each playlist
Once you've extracted all your playlists:
node generate-viewer.jsThis will:
- Read all JSON files from
playlist/folder - Download album artwork from iTunes API
- Generate
playlists.html- a beautiful, browsable interface
Then open playlists.html in your browser!
playlist-export/
├── playlist/ # Your exported playlists (JSON)
├── covers/ # Album artwork (auto-generated)
├── tidal-devtool-playlists.js # Browser console script
├── generate-viewer.js # Generate HTML viewer
├── playlists.html # Generated viewer (open in browser)
├── EXTRACT_FROM_BROWSER.md # Detailed extraction guide
└── README.md
{
"id": "playlist-uuid",
"name": "Playlist Name",
"description": "...",
"totalTracks": 653,
"tracks": [
{
"position": 1,
"id": 12345678,
"title": "Track Title",
"artist": "Artist Name",
"album": "Album Name",
"duration": 257,
"isrc": "ABCDE1234567",
"explicit": false
}
]
}Tidal's API doesn't allow third-party applications to access user playlists (requires deprecated OAuth scopes). The browser console method:
- Captures actual API responses as you browse
- Works with private playlists
- Gets complete metadata (ISRCs, etc.)
- No API keys or authentication setup needed
MIT