{"id":15008878,"url":"https://github.com/simon-weber/gmusicapi","last_synced_at":"2025-10-03T17:31:24.838Z","repository":{"id":2271509,"uuid":"3228110","full_name":"simon-weber/gmusicapi","owner":"simon-weber","description":"An unofficial client library for Google Music.","archived":true,"fork":false,"pushed_at":"2020-12-26T18:14:42.000Z","size":4143,"stargazers_count":2485,"open_issues_count":61,"forks_count":257,"subscribers_count":133,"default_branch":"develop","last_synced_at":"2024-09-29T16:21:55.701Z","etag":null,"topics":["client-lib","gmusicapi","google","google-music","python","python-2","python-3"],"latest_commit_sha":null,"homepage":"https://unofficial-google-music-api.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simon-weber.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-01-20T17:19:12.000Z","updated_at":"2024-09-18T07:35:18.000Z","dependencies_parsed_at":"2022-07-14T08:18:14.198Z","dependency_job_id":null,"html_url":"https://github.com/simon-weber/gmusicapi","commit_stats":null,"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simon-weber%2Fgmusicapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simon-weber%2Fgmusicapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simon-weber%2Fgmusicapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simon-weber%2Fgmusicapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simon-weber","download_url":"https://codeload.github.com/simon-weber/gmusicapi/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235165448,"owners_count":18946239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client-lib","gmusicapi","google","google-music","python","python-2","python-3"],"created_at":"2024-09-24T19:21:17.399Z","updated_at":"2025-10-03T17:31:19.521Z","avatar_url":"https://github.com/simon-weber.png","language":"Python","readme":"gmusicapi: an unofficial API for Google Play Music\n==================================================\n\ngmusicapi allows control of\n`Google Music \u003chttp://music.google.com\u003e`__ with Python.\n\n.. code-block:: python\n\n    from gmusicapi import Mobileclient\n    \n    api = Mobileclient()\n    # after running api.perform_oauth() once:\n    api.oauth_login('\u003ca previously-registered device id\u003e')\n    # =\u003e True\n    \n    library = api.get_all_songs()\n    sweet_track_ids = [track['id'] for track in library\n                       if track['artist'] == 'The Cat Empire']\n    \n    playlist_id = api.create_playlist('Rad muzak')\n    api.add_songs_to_playlist(playlist_id, sweet_track_ids)\n    \n**gmusicapi is not supported nor endorsed by Google.**\n\nThat said, it's actively maintained, and powers a bunch of cool projects:\n\n-  alternate clients, including\n   `one designed for the visually impaired \u003chttps://github.com/chrisnorman7/gmp3\u003e`__,\n   `a web-based jukebox which ships with its own server \u003chttps://github.com/chrisnorman7/jukebox\u003e`__,\n   `command line \u003chttps://github.com/christopher-dg/pmcli\u003e`__\n   `clients \u003chttps://github.com/and3rson/clay\u003e`__,\n   `a FUSE filesystem \u003chttps://github.com/EnigmaCurry/GMusicFS\u003e`__,\n   and `an Alexa skill \u003chttps://github.com/stevenleeg/geemusic\u003e`__\n-  library management tools for\n   `syncing tracks \u003chttps://github.com/thebigmunch/gmusicapi-scripts\u003e`__,\n   `syncing playlists \u003chttps://github.com/soulfx/gmusic-playlist\u003e`__,\n   and `migrating to a different account \u003chttps://github.com/brettcoburn/gmusic-migrate\u003e`__\n-  proxies for media players, such as\n   `gmusicproxy \u003chttps://github.com/gmusicproxy/gmusicproxy\u003e`__ and\n   `gmusicprocurator \u003chttps://github.com/malept/gmusicprocurator\u003e`__,\n   as well as plugins for \n   `Mopidy \u003chttps://github.com/hechtus/mopidy-gmusic\u003e`__,\n   `Squeezebox \u003chttps://github.com/squeezebox-googlemusic/squeezebox-googlemusic\u003e`__ and\n   `Tizonia \u003chttps://github.com/tizonia/tizonia-openmax-il\u003e`__.\n-  enhancements like `autoplaylists / smart playlists \u003chttps://autoplaylists.simon.codes\u003e`__\n\n\nGetting started\n---------------\nStart with `the usage docs \u003chttp://unofficial-google-music-api.readthedocs.io/en/latest/usage.html#usage\u003e`__, which will guide you through installation and the available apis.\n\nOnce you're up and running, you can explore the rest of the docs at http://unofficial-google-music-api.readthedocs.io.\n\nIf the documentation doesn't answer your questions, or you just want to get\nin touch, either `drop by #gmusicapi on Freenode\n\u003chttp://webchat.freenode.net/?channels=gmusicapi\u003e`__ or shoot me an email.\n\nStatus and updates\n------------------\n\n|build_status|\n\n.. |build_status| image:: https://travis-ci.org/simon-weber/gmusicapi.png?branch=develop\n        :target: https://travis-ci.org/simon-weber/gmusicapi\n\n* January 2020: Python 2 support dropped.\n* November 2018: proper OAuth support for the mobileclient.\n* February 2016: Python 3 support!\n* September 2015: Google switched to a new music uploading endpoint, breaking uploading for outdated versions of gmusicapi.\n* June 2015: Full mobileclient and webclient functionality was restored.\n* May 2015: Limited mobileclient functionality was restored.\n* April 2015: Google deprecated clientlogin, breaking both the webclient and mobileclient.\n* November 2013: I started working fulltime at Venmo, meaning this project is back to night and weekend development.\n\nFor fine-grained development updates, follow me on Twitter:\n`@simonmweber \u003chttps://twitter.com/simonmweber\u003e`__.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimon-weber%2Fgmusicapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimon-weber%2Fgmusicapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimon-weber%2Fgmusicapi/lists"}