Importing Rdio Playlists (and Your Collection) Into Google Music

My beloved Rdio is dying, and soon. They ran out of money, sold all their assets in a fire sale and have given their users about a week to find a new music home. I tried Apple Music, but quickly ran into limitations (song limit, my patience with their awful UI, horrible apps for importing songs, etc). Asking around, it looked like Google Music was the next best option.

And then the problem was, how to I get almost 5 years of musical history from Rdio into Google Music? All those favorites playlists from 2011-2015, the road trip playlists, the special occasion playlists… all of those will just disappear.

It took a lot of experimentation, but I found a way to export my playlists (and entire collection) from Rdio to Google Music. Here’s what you need (sorry, this is going to require some Terminal time):

  • First, you need to install the Rdio Enhancer Chrome Add-on.
  • Sign up for the Google Music free trial.
  • Install gmusic-playlist – it’s a python library for interacting with Google Music. It has some dependencies, so you’ll need to follow the README instructions carefully.

After you’ve gotten those installed, you need to do the following to save your playlists and collection in a format that’ll work with the importer:

  • Go to Rdio in Chrome.
  • Click Favorites.
  • You should see an Export CSV button. Click it. Depending on the size of your library, this could take a while. It’s going to generate CSV files for your entire collection. My 35,000 song collection took 3 CSV files, and about 5 minutes to generate and download them. Chrome will probably ask you if this site can download multiple files. Say yes and wait for all of them to download (15,000 songs per file).
  • Once you have all those files, it’s time to do playlists!

For each playlist you want to save:

  • Click its link in the left nav bar.
  • Click the 3 dots in a circle button (next to the share button), then “Extras”, then “Export to CSV”.
  • That’ll download another CSV file.
  • You should open up each CSV and delete the first line (the header) or you’ll end up with “Did She Mention My Name” by Gordon Lightfoot in all of your playlists. If that doesn’t bother you, go ahead skip this step.

Now that you have your collection and all the files you want to save, it’s time to set up the gmusic-playlist importer. After you unzip it, open the folder and then open preferences.py in your favorite text editor and make the following changes:

  • username should be your google login email address.
  • Change the track_info_order line to look like this: track\_info\_order = \['title','artist','album','trackNumber'\] (the only change is to change “songid” to “trackNumber”).
  • Change allow_duplicates to True.
  • Change search_personal_library to False.
  • Save the file.

Now you can follow the gmusic-playlist directions to import all those CSVs. Google Music has a limit of 1,000 songs per playlist, so your collection will be broken up, but at least you’ll have all your songs!

Update: I tried to like Google Music. I really did. But, it has some fatal flaws:

  • Their new releases page is bad and not updated with actual new releases.
  • There’s no social at all. It’s awful.
  • The Web UI is just broken enough to be really frustrating, and all the web apps for it are hamstrung by the web’s brokenness.
  • They do very strange things with explicit lyrics.

So, I was going to update this post with instructions on how to import your official Rdio export into Google Music, but… don’t do that.

I’m trying out Spotify Premium again for the first time since I started using Rdio, and they’ve paid attention. Social is better. Sharing is better. The queue is persistent between sessions. They have more music than Rdio did, or that Google Music has. Their new releases page is actually mostly up to date.

Instead of using this process to import things to Google Music, use the official Spotify Rdio Import tool. It takes about five minutes and works really well.

Comments

38 responses to “Importing Rdio Playlists (and Your Collection) Into Google Music”

  1. Donald Merand Avatar

    Thanks for writing this! I was about 90% of the way there doing the same thing this evening, but I missed the trick where you change “SongID” to “TrackNumber”, which of course made the whole thing fail. You just made my day.

  2. […] Groove Music and others! Moving your data to Google Play Music can be achieved by following this guide by Kevin Lawver. If you need support for moving your data from Rdio to another service, there is […]

  3. Dustin Avatar
    Dustin

    Hi – – I’ve gotten all of my playlists exported and have all the files downloaded from the second link, but I can’t figure out how to get the Python script thing to start importing one of my playlists. Any advice?

    1. Kevin Lawver Avatar

      The gmusic-playlist page has details on how to run it on various operating systems. If you’re on OS X, you’ll need to open up Terminal and run the script from the command line. If you’re on Windows, I have no idea. Hopefully someone will be able to help!

      1. Dustin Avatar
        Dustin

        I’m on OSX. I can run the script but it doesn’t work. I seem to be missing a step somewhere. Those directions don’t seem to tell me how to get the script to find my playlist?

  4. Kevin Lawver Avatar

    To make this easier, I’d copy all of your CSV files into the gmusic-playlist-master directory.

    You need to be in Terminal, cd to the directory the ImportList.py file is in (and that now has your csv files in it too).

    And then for every csv file, you type in: python ImportList.py Something.csv (where Something is the name of one of your CSV files).

    It’ll ask you for your Google password and then should be off and running!

  5. Dustin Avatar
    Dustin

    Thanks, I’ve done. It seems my problems has something to do with the gmusicapi file. What did you put in your gmusic-playlist-master directory from that ZIP? I get this error when it starts looking at the gmusicapi file: ImportError: No module named decorator

    1. Kevin Lawver Avatar

      Go back and go through the README for gmusic-playlist again: https://github.com/soulfx/gmusic-playlist. I’ll bet you missed a couple of steps (like pip installing the gmusic api).

      1. Dustin Avatar
        Dustin

        I’ve looked at the read me on the site, and it doesn’t say anything about what to do with the google music api. Maybe there’s a link or something I’m missing. This seems to be the issue, apparently. Thanks for your help.

      2. Kevin Lawver Avatar

        You probably missed installing this: https://github.com/simon-weber/Unofficial-Google-Music-API, which you can do w/ pip (but check out the link and follow the directions).

      3. Dustin Avatar
        Dustin

        Ah there’s another set of instructions in the Google music api link, I see! Oops

  6. Dustin Avatar
    Dustin

    I got it to work, thanks for this and your help!

  7. Parker Avatar
    Parker

    I keep getting server errors that stop the songs being imported halfway through a csv file

    1. Kevin Lawver Avatar

      The 500 errors? They happened to me off and on. I ended up splitting up huge CSV files into separate files with no more than a couple thousand songs in it. And if you get a server error, you can just retry the import since it won’t create the playlist until it’s found all the songs.

      1. Parker Avatar
        Parker

        Yeah, then it says a bunch of things about backend errors. No idea what any of that means, haven’t touched python or done anything like this until a few hours ago. Surprised I even made it this far. I’ll try doing that later and report back.

      2. Parker Avatar
        Parker

        Also, quick question. If I finally succeed in getting all this music into playlists in google, will they be constrained to those enormous playlists? Or will they be added to my artists?

      3. Kevin Lawver Avatar

        I doesn’t look like it’s added all of them to my Artists (or even albums), but at least I have them in my collection in some form.

      4. Dustin Avatar
        Dustin

        I had this happen, and was eventually able to get two playlists with ~15,000 tracks each to upload. I went in and looked for artists that had special characters in their names. They don’t seem to export correctly in the CSV file from RDIO and then I think it confuses the importer. Once I fixed that I was able to get them to work eventually, it may have just been luck that the bigger ones eventually worked, but they did work.

  8. Parker Avatar
    Parker

    Ahh that’s so disappointing! I’m probably going to hold off on continuing this then. Hopefully some sort of official import feature comes along soon enough.

  9. bmilleker Avatar
    bmilleker

    So this is importing your favourites from Rdio to a Google playlist? What about importing to a library? Have a look at the script that I put together: http://bybm.ca/?p=144. It doesn’t do playlists, just libraries.

    1. Kevin Lawver Avatar

      Using Rdio Enhancer, you can export both playlists and all of your favorites as CSV files. The importer creates playlists from CSV files, so they’re not really in your library, just playlists. But, to me, that’s better than nothing – and worked far better than the other things I tried.

  10. Jason Avatar
    Jason

    Thanks for the guide…

    Goddam. I’ve been at this for well over an hour. When I enter “python ImportList.py [name of my list].csv” I get “Syntax Error: invalid syntax” (and an arrow pointing up to ImportList.py)
    I’ve followed all steps prior to this, but was not clear on where I should put all the files/folders involved in the process.

    As you recommended I copied all the CSV files into the gmusic-playlist-master directory. But as for the “gmusicapi-d2a5cc91e209ec5fdf7ba89fe04d32c2a0155dff” folder and the “gmusic-playlist-master” folder containing the ImportList.py file itself– I just put those folders in the Python27 master directory. Is there somewhere else I should be putting these? Is there something I seem to be doing wrong?

    Thanks

    1. Kevin Lawver Avatar

      Ok. You should pip install the gmusic api (the line is in the read me for it). I meant to put the CSV files in the playlist directory. I didn’t get any syntax errors, so I’m not sure what the problem is, but I’ll bet it’s that ImportPlaylist.py can’t find the gmusic API.

  11. null Avatar

    It seems like you can’t import if you have two factor authentication enabled. I keep getting “unable to login” errors. I’ll have to fix that

    1. Kevin Lawver Avatar

      I had to create an app-specific password for it which worked fine.

  12. Luis Gonzalez Avatar

    I am getting an error on : pip install gmusicapi . It says Failed building wheel for gmusicapi. and it fails multiple times on other aspects of the install. what now?

    1. Kevin Lawver Avatar

      I don’t know but the solution might be in the README for the gmusicapi. You might have an older version of Python or be missing some piece of required software.

  13. Dr Ew Avatar

    Thanks so much for the guide, this has made migrating from Rdio much easier. Wish there was a way to bring my collection in the form of something other than a playlist, but oh well.

    I was having numerous stupid errors about this and that when trying to make it work in OSX, so I used VirtualBox and a Ubuntu image to quickly and easily install everything and get it working.

    Quick instructions for Ubuntu:

    1. Open terminal
    2. Type the following: sudo add-apt-repository “deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe”
    3. sudo apt-get install python-pip
    4. sudo pip install gmusicapi
    5. Follow instructions for gmusic-playlist. I recommend copying your Google password, you can paste it into the terminal with shift+control+v

  14. harisakhanris Avatar

    Brilliant! Worked out of the box. Thank you. People have trouble authenticating the account set up an app password and that will do the trick. You can reuse the same password for all of your playlists as you will have to re-authenticate for every playlist import.

  15. Ivan Avatar

    Aside from Rdio’s music service migratory tool, I created a tool that is already readily available at the following link for those who seek to export their music library data into CSV or XLSX format: http://rdio.ivancarosati.com

  16. Anitra Avatar
    Anitra

    Thank you for the information. My concern is signing up for the free trial on Google Music. I want to know before I sign up, how much time do they give you before they shut your account down?

    1. Kevin Lawver Avatar

      You mean Google Music? It’s a free month. After that it’s $9.99. It automatically renews, so you’d have to remember to cancel before the renewal date.

      1. Anitra Avatar
        Anitra

        Got it Thanks. You ARE AWESOME Kevin!!!

  17. Lal Antony (@lal_antony) Avatar

    I put together a website to assist user to get this working easily (mainly for non-tech users). Visit http://rdiotogooglemusic.com Let me know what you guys think.

    1. Kevin Lawver Avatar

      I don’t like that you have to provide a password. Does google music not work with their oauth stuff?

    2. Chris Kerr Avatar
      Chris Kerr

      I tried using your site, but every time I try it I get an Internal Server Error (I tried this with just a tiny CSV of 1 row, it’s not me overloading things). Any ideas?

  18. […] of music that they wanted to move transfer across. I started reading and blog post put together by Kevin Lawver. This introduced me to the Unofficial Google Music API library put together by Simon […]

  19. […] × 980 pixels) – Scaled (94%) MOOVAL – Wrap your favourite music and take it with you Importing Rdio Playlists (and Your Collection) Into Google Music – Ultranormal soulfx/gmusic-playlist Import playlists into Google Play Music ~ Less is more […]