Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sigma67/ytmusicapi
Unofficial API for YouTube Music
https://github.com/sigma67/ytmusicapi
youtube youtube-api youtube-music youtube-music-api ytmusicapi
Last synced: about 1 month ago
JSON representation
Unofficial API for YouTube Music
- Host: GitHub
- URL: https://github.com/sigma67/ytmusicapi
- Owner: sigma67
- License: mit
- Created: 2020-02-18T21:38:05.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-04-08T03:19:16.000Z (7 months ago)
- Last Synced: 2024-04-08T04:27:43.707Z (7 months ago)
- Topics: youtube, youtube-api, youtube-music, youtube-music-api, ytmusicapi
- Language: Python
- Homepage: https://ytmusicapi.readthedocs.io
- Size: 1.29 MB
- Stars: 1,457
- Watchers: 19
- Forks: 178
- Open Issues: 8
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
ytmusicapi: Unofficial API for YouTube Music
############################################.. |pypi-downloads| image:: https://img.shields.io/pypi/dm/ytmusicapi?style=flat-square
:alt: PyPI Downloads
:target: https://pypi.org/project/ytmusicapi/.. |gitter| image:: https://badges.gitter.im/sigma67/ytmusicapi.svg
:alt: Ask questions at https://gitter.im/sigma67/ytmusicapi
:target: https://gitter.im/sigma67/ytmusicapi.. |code-coverage| image:: https://img.shields.io/codecov/c/github/sigma67/ytmusicapi?style=flat-square
:alt: Code coverage
:target: https://codecov.io/gh/sigma67/ytmusicapi.. |latest-release| image:: https://img.shields.io/github/v/release/sigma67/ytmusicapi?style=flat-square
:alt: Latest release
:target: https://github.com/sigma67/ytmusicapi/releases/latest.. |commits-since-latest| image:: https://img.shields.io/github/commits-since/sigma67/ytmusicapi/latest?style=flat-square
:alt: Commits since latest release
:target: https://github.com/sigma67/ytmusicapi/commits|pypi-downloads| |gitter| |code-coverage| |latest-release| |commits-since-latest|
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... features
Features
--------| **Browsing**:
* search (including all filters) and suggestions
* get artist information and releases (songs, videos, albums, singles, related artists)
* get user information (videos, playlists)
* get albums
* get song metadata
* get watch playlists (next songs when you press play/radio/shuffle in YouTube Music)
* get song lyrics| **Exploring music**:
* get moods and genres playlists
* get latest charts (globally and per country)| **Library management**:
* get library contents: playlists, songs, artists, albums and subscriptions, podcasts, channels
* add/remove library content: rate songs, albums and playlists, subscribe/unsubscribe artists
* get and modify play history| **Playlists**:
* create and delete playlists
* modify playlists: edit metadata, add/move/remove tracks
* get playlist contents
* get playlist suggestions| **Podcasts**:
* get podcasts
* get episodes
* get channels
* get episodes playlists| **Uploads**:
* upload songs and remove them again
* list uploaded songs, artists and albums| **Localization**:
* all regions are supported (see `locations FAQ `__
* 16 languages are supported (see `languages FAQ `__If you find something missing or broken,
check the `FAQ `__ or
feel free to create an `issue `__.Requirements
------------- Python 3.8 or higher - https://www.python.org
Setup
-----See the `Documentation `_ for detailed instructions
Usage
------
.. code-block:: pythonfrom ytmusicapi import YTMusic
yt = YTMusic('oauth.json')
playlistId = yt.create_playlist('test', 'test description')
search_results = yt.search('Oasis Wonderwall')
yt.add_playlist_items(playlistId, [search_results[0]['videoId']])The `tests `_ are also a great source of usage examples.
.. end-features
Contributing
------------Pull requests are welcome. There are still some features that are not yet implemented.
Please, refer to `CONTRIBUTING.rst `_ for guidance.