TLDR: I’m switching service because Spotify is making miserable for artist and indirectly funding AI military tech. I used spotify_to_tidal to move my playlists and favourite songs from Spotify to TIDAL. You can use this fork, which is a PR in progress, to also import albums and artists, at your own risk. I use AntennaPod to replace the podcast feature of Spotify.
But why?
As a user, I really like Spotify. It does everything I wanted and because many of my friends were using it, I could discover new music by checking their playlists or liked songs. As a musician though, I have long felt uncomfortable with how it does its business and treats artists.
So when the news hit a few months ago that Spotify CEO’s Daniel Ek invested $700M in Helsing, a defence startup specialised in AI-powered combat drones and military software, I knew it was time to go.
To be clear, this was just the tipping point. Here are a few other reasons Spotify was on my naughty list for a while:
- They underpay artists, both objectively and compared to other platforms, for a long time
- They accept, and do not label, AI-generated music, which exploits existing music without compensating artists
- They reduced payment pay artists by “bundling” their music with audiobooks (a move approved by US courts)
- They partner with production companies hiring ghost artists to produce music that cost them less, at the expense of musicians’ ability to make a living (I highly recommend reading this investigation by Liz Pelly on the topic)
So I decided to switch. I tested a few options that I discarded (Deezer: poor music recommendations and playlist, Qobuz: no linux native app…) and landed on TIDAL. Without getting into details, it basically fits my very demanding needs:
- Pays artists decently (options become quickly limited here)
- Decent music recommendations/playlists
- Artist radio feature (start a radio from a song/artist)
- Not funding defense tech companies
Note: TIDAL is owned in majority by Block, a company founded by Jack Dorsey (the Twitter guy). I don’t feel strongly about the guy either way. He’s a bit too into crypto for my taste and I’m not into worshipping tech oligarchs anyway. But most of the projects he funds or supports fall into the “going into the right direction” category (see Nostr, Bluesky…), so I’ll take it.
Note 2: Because TIDAL doesn’t offer podcast (and I’m totally fine with that), I reinstalled AntennaPod, an amazing RSS/podcast manager for Android. It turned out to be much better than Spotify so big win here.
Moving my music to TIDAL
Now for the interesting part: moving service. I’m a strong defender of the right to data portability, aka, the right to leave a service for another while bringing all your data. Think about it this way: it would be absurd if you could not bring your photos to a new phone because it’s a different brand right? Well, I want the same experience when I’m moving to a new digital service, whatever it is. And in Europe, GDPR Article 20 mandates that.
But reality is often disappointing.
Spotify allows users to download all their data, which I did. But my request to TIDAL to import the data was rejected. In the end, most music streaming platforms basically indicate using a third-party service to migrate your data. Qobuz even graciously offers a code to access the premium version for one of these tools.
TIDAL doesn’t, and import with these tools is limited to 500 songs which is maybe a tenth of my music collection.
So if GDPR has abandoned me and TIDAL doesn’t have the cash to pay for a premium version of a migration tool, what is left?
What’s left is open-source developers using APIs.
Enter Spotify_to_tidal, a nice command line tool that lets you synchronise your Spotify playlists and liked songs with TIDAL. The instructions on the GitHub repository are pretty clear, the long story short is:
git clone https://github.com/spotify2tidal/spotify_to_tidal.git
cd spotify_to_tidal
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
Then follow these instructions to get a key. Update config.yml
and run:
spotify_to_tidal
Because I also wanted to import my favourite artists and album (yes, it’s 2025 and I love a good album), I used this fork, which is a work in progress adding this feature. It’s not perfect and I had some minor issues but the PR is almost merged.
Privacy note: I checked network calls when running this tool and it didn’t seem to leak any data. All the requests were going to Spotify or TIDAL.
This worked almost perfectly. A few songs/artists were not found and I had to add them manually (10 out of maybe 1500 is totally acceptable).
I’ve been using TIDAL for 3 months now and I’m really happy. The only complaint I have is that I can’t control music playing on one device from another device (e.g.: music is playing from my computer and I can’t change song from my phone) but I can live with that.
I particularly like the shared link feature which offers the option to listen to the track on another service.
A typical link share page. Also another album you should check
I’ve been dreaming lately of a standard for opening music links that would be integrated into OSs and browsers. Just like when you click a URL you can open it with your favourite browser, I’d love to be able to share music links that are service independent and when clicked, simply open your favourite music streaming service. This is not it, but it’s something.
Final thoughts
There are likely other services as good as TIDAL and I might change again in the future, hopefully with better luck when trying to exercise my right to data portability. In the meantime TIDAL does the job and I can once again thank open source developer for making the transition quite smooth.
Now the only thing left to do is consider removing my own music from Spotify entirely.