gmusicapi: an unofficial API for Google Play Music

gmusicapi allows control of Google Music <>__ with Python.

.. code-block:: python

from gmusicapi import Mobileclient

api = Mobileclient()
# after running api.perform_oauth() once:
api.oauth_login('<a previously-registered device id>')
# => True

library = api.get_all_songs()
sweet_track_ids = [track['id'] for track in library
                   if track['artist'] == 'The Cat Empire']

playlist_id = api.create_playlist('Rad muzak')
api.add_songs_to_playlist(playlist_id, sweet_track_ids)

gmusicapi is not supported nor endorsed by Google.

That said, it's actively maintained, and powers a bunch of cool projects:

  • alternate clients, including one designed for the visually impaired <>, a web-based jukebox which ships with its own server <>, command line <>__ clients <>, a FUSE filesystem <>, and an Alexa skill <>__
  • library management tools for syncing tracks <>, syncing playlists <>, and migrating to a different account <>__
  • proxies for media players, such as gmusicproxy <>__ and gmusicprocurator <>, as well as plugins for Mopidy <>, Squeezebox <>__ and Tizonia <>__.
  • enhancements like autoplaylists / smart playlists <>__

Getting started

Start with the usage docs <>__, which will guide you through installation and the available apis.

Once you're up and running, you can explore the rest of the docs at

If the documentation doesn't answer your questions, or you just want to get in touch, either drop by #gmusicapi on Freenode <>__ or shoot me an email.

Status and updates


.. |build_status| image:: :target:

  • January 2020: Python 2 support dropped.
  • November 2018: proper OAuth support for the mobileclient.
  • February 2016: Python 3 support!
  • September 2015: Google switched to a new music uploading endpoint, breaking uploading for outdated versions of gmusicapi.
  • June 2015: Full mobileclient and webclient functionality was restored.
  • May 2015: Limited mobileclient functionality was restored.
  • April 2015: Google deprecated clientlogin, breaking both the webclient and mobileclient.
  • November 2013: I started working fulltime at Venmo, meaning this project is back to night and weekend development.

For fine-grained development updates, follow me on Twitter: @simonmweber <>__.


An unofficial client library for Google Music.

GmusicAPI Info

⭐ Stars2540
🔗 Source
🕒 Last Update10 months ago
🕒 Created11 years ago
🐞 Open Issues61
➗ Star-Issue Ratio42
😎 Authorsimon-weber