Transfer playlists from Spotify to Play Music with PyPortify
It may seem like a first world problem (it is), but one of the biggest reasons why I’ve stayed using Spotify for so long is the time and effort it can take to move all my playlists and saved songs across music services. Where a content management service like WordPress allows you to export all your blog posts and take them elsewhere, since you don’t own the songs you listen to in Spotify, Google Play Music All Access, or the countless other music streaming services, they understandably don’t provide any way to export that music. As a result I justified not giving any other service a fair shake by saying I’d only switch if the alternative were at least 10x better.
I set out today to give Play Music All Access that fair shake and thought I’d share how I transferred my music over without much hassle.
The answer to all my problems (and maybe yours, too) was in the form of PyPortify, a port of a similar (free) app called Portify that was released back in 2013 but stopped working for most people at some point before the beginning of 2015. PyPortify is pretty simple to install and use, but for this post I’m just going to share how to do it on Mac OS X – it’s not too much different on Linux, and instructions for Windows, Linux, and Mac are available on the GitHub source page.
Update: I did not have Xcode installed when I completed this install, but if you do, you may need to run it and install updated components before you’ll be able to go through this tutorial.
First you’ll need to install Homebrew. It’s a popular command-line application that makes it easy to download and install applications and packages for your Mac – like if you, say for example, need the Python programming language to run an app that was written in it (like PyPortify). Open the Terminal application, paste in this command, and hit <Return>:
ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
Once that’s finished installing and the blinking cursor returns, paste and hit <Return> on the following:
brew install python
Finally, when you’re done with both of those, paste and <Enter> this command:
pip install pyportify
This should just take a minute or two to download and install, and once it’s finished paste and <Enter> this:
pyportify
In your terminal you should get something back like this:
Now open a browser to http://localhost:3132
Don’t close your terminal window. Paste that URL as it is in your terminal – including the http and the numbers at the end – in your browser and hit <Return>. You’ll get a site which looks like this:
Click “Get started” and you’ll be asked to log into your Google account, so it can have access to your Play Music account. What you’ll want to do here is go to the My Account dashboard for your Google account and create an app password (click here for that). Once you’re done transferring all your music to All Access you can revoke this password so PyPortify doesn’t have access any longer. Next you’ll have to log into your Spotify account. If you sign into it with your Facebook account, those credentials will work just fine, and Facebook has app passwords as well that you can generate and use for PyPortify.
Finally once all of that is done, you’ll see a page like this:
Here you get to choose all the Spotify playlists you want to transfer to Google Play Music, just click the check box to the right of each playlist you want to transfer. Once you start the transfer, you’ll see a page that says it’s transferring but the “Found,” “Not Found,” and “Filtered Karaoke” numbers might not be moving up from zero. But go back to your open terminal and…
It’s working! Navigate to Google Play Music, open the left-hand drawer, scroll down to the playlists section, and you should see the playlists you chose to transfer starting to show up.
Of course not all music that’s available on Spotify may be available on Google Play Music All Access, but I’ve found that the overlap is pretty close. Also, using PyPortify is technically against the terms of service of both services, so do it at your own risk, but we haven’t heard of anything bad happening as a result of using this service. Enjoy!