Need help with gmusicapi?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

2.6K Stars 298 Forks BSD 3-Clause "New" or "Revised" License 1.4K Commits 62 Opened issues


An unofficial client library for Google Music.

Services available


Need anything else?

Contributors list

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:


=> 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 
    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
    __ and
    , as well as plugins for
    __ and
  • 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:


We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.