ytmusicapi: Unofficial API for YouTube Music

The purpose of this library is to automate interactions with YouTube Music, such as retrieving your library content or creating large playlists.

This project is not supported nor endorsed by Google

Features

Browsing:
  • get artist information and releases (songs, videos, albums, singles)
  • get albums
  • search (including all filters)
Library management:
  • get library contents: playlists, songs, artists, albums and subscriptions
  • add/remove library content: rate songs, albums and playlists, subscribe/unsubscribe artists
Playlists:
  • create, delete, and modify playlists
  • get playlist contents, add/remove tracks
Uploads:
  • Upload songs and remove them again
  • List uploaded songs, artists and albums

Usage

from ytmusicapi import YTMusic

ytmusic = YTMusic('headers_auth.json')
playlistId = ytmusic.create_playlist("test", "test description")
search_results = ytmusic.search("Oasis Wonderwall")
ytmusic.add_playlist_items(playlistId, [search_results[0]['videoId']])

The tests are also a great source of usage examples.

For a complete documentation of available functions, refer to the Reference