ytmusicapi is a Python 3 library to send requests to the YouTube Music API. It emulates YouTube Music web client requests using the user's cookie data for authentication.
- search (including all filters)
- get artist information and releases (songs, videos, albums, singles, related artists)
- get user information (videos, playlists)
- get albums
- get song metadata
- get watch playlists (playlist that appears when you press play in YouTube Music)
- get song lyrics
- get moods and genres playlists
- get latest charts (globally and per country)
- get library contents: playlists, songs, artists, albums and subscriptions
- add/remove library content: rate songs, albums and playlists, subscribe/unsubscribe artists
- create and delete playlists
- modify playlists: edit metadata, add/move/remove tracks
- get playlist contents
- Upload songs and remove them again
- List uploaded songs, artists and albums
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.
- Python 3.5 or higher - https://www.python.org
See the Documentation for detailed instructions
Pull requests are welcome. There are still some features that are not yet implemented. Please, refer to CONTRIBUTING.rst for guidance.