Skip to main content

Unofficial API for YouTube Music

Project description

PyPI Downloads Ask questions at https://gitter.im/sigma67/ytmusicapi Code coverage Latest release Commits since latest release

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

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:

If you find something missing or broken, check the FAQ or feel free to create an issue.

Requirements

Setup

See the Documentation for detailed instructions

Usage

from 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.

Contributing

Pull requests are welcome. There are still some features that are not yet implemented. Please, refer to CONTRIBUTING.rst for guidance.

Project details


Release history Release notifications | RSS feed

This version

1.8.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ytmusicapi-1.8.2.tar.gz (284.1 kB view details)

Uploaded Source

Built Distribution

ytmusicapi-1.8.2-py3-none-any.whl (87.8 kB view details)

Uploaded Python 3

File details

Details for the file ytmusicapi-1.8.2.tar.gz.

File metadata

  • Download URL: ytmusicapi-1.8.2.tar.gz
  • Upload date:
  • Size: 284.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ytmusicapi-1.8.2.tar.gz
Algorithm Hash digest
SHA256 454facdf5907c32b77cb035f54c76d5a9d3fb0316933b1a1cecd06110ff85ecf
MD5 e14d2cfedeab941a84120d55707e730e
BLAKE2b-256 28d2c94548a3c29cf24a2e5c85cd95e86b1808803882b7835c37bfeab1ea9530

See more details on using hashes here.

File details

Details for the file ytmusicapi-1.8.2-py3-none-any.whl.

File metadata

  • Download URL: ytmusicapi-1.8.2-py3-none-any.whl
  • Upload date:
  • Size: 87.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ytmusicapi-1.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 579dd60704fc2538eb94e2035fb36e904a713f948506ca3d28d151c61c782a86
MD5 76877c9957b0305119c57991bc38162a
BLAKE2b-256 7eeb23417507ba393545e98ba7c6d01e136cb3b9426d496a5eb216de7dc79adb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page