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
  • Library management:
  • get the playlists, songs, artists, albums and subscriptions in your library
  • rate songs, albums and playlists
  • subscribe/unsubscribe artists
  • Playlists: create, delete, and modify playlists and playlist items
  • Search: Search for songs on YouTube Music
  • Uploads:
  • Upload songs and remove them again
  • List uploaded songs, artists and albums

Usage Example

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

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.