{"id":22169649,"url":"https://github.com/tombulled/python-youtube-music","last_synced_at":"2025-10-29T23:31:48.013Z","repository":{"id":44772981,"uuid":"247539537","full_name":"tombulled/python-youtube-music","owner":"tombulled","description":"Python 3 YouTube Music Web API Client","archived":false,"fork":false,"pushed_at":"2024-08-12T20:54:05.000Z","size":14372,"stargazers_count":68,"open_issues_count":2,"forks_count":14,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T15:22:19.352Z","etag":null,"topics":["python","youtube","youtube-api","youtube-music","youtube-music-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tombulled.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-15T19:46:26.000Z","updated_at":"2025-03-23T16:07:05.000Z","dependencies_parsed_at":"2024-08-12T23:18:30.392Z","dependency_job_id":"b9bebe20-819d-44ed-b1db-cf3ac1b7b351","html_url":"https://github.com/tombulled/python-youtube-music","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tombulled/python-youtube-music","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tombulled%2Fpython-youtube-music","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tombulled%2Fpython-youtube-music/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tombulled%2Fpython-youtube-music/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tombulled%2Fpython-youtube-music/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tombulled","download_url":"https://codeload.github.com/tombulled/python-youtube-music/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tombulled%2Fpython-youtube-music/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281715446,"owners_count":26549172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-29T02:00:06.901Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","youtube","youtube-api","youtube-music","youtube-music-api"],"created_at":"2024-12-02T06:33:48.615Z","updated_at":"2025-10-29T23:31:47.694Z","avatar_url":"https://github.com/tombulled.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# python-youtube-music\n\n![Made With Python](https://forthebadge.com/images/badges/made-with-python.svg)\n![Built By Neckbeards](https://forthebadge.com/images/badges/built-by-neckbeards.svg)\n![Gluten Free](https://forthebadge.com/images/badges/gluten-free.svg)  \n![Forks](https://img.shields.io/github/forks/tombulled/python-youtube-music?style=for-the-badge)\n![Stars](https://img.shields.io/github/stars/tombulled/python-youtube-music?style=for-the-badge)\n![Issues](https://img.shields.io/github/issues/tombulled/python-youtube-music?style=for-the-badge)\n![License](https://img.shields.io/github/license/tombulled/python-youtube-music?style=for-the-badge)\n\nPython YouTube Music Web API Client - **No longer under *active* development, instead checkout [innertube](https://github.com/tombulled/innertube)**\n\n![YouTube Music](https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Logo_of_YouTube_Music.svg/1280px-Logo_of_YouTube_Music.svg.png)\n\n## Contents:\n* [Dependencies](#dependencies)\n* [Installation](#installation)\n* [Getting Started](#getting-started)\n* [Methods](#methods)\n\n## Dependencies\nLibraries ```ytm``` depends on\n\n### Required Dependencies\n| Library                                     | Install              | Import          | Functionality            |\n| ------------------------------------------- | -------------------- | --------------- | ------------------------ |\n| [Requests](https://github.com/psf/requests) | pip install requests | import requests | Send HTTP/HTTPS requests |\n\n### Optional Dependencies\n| Library                                                 | Install                | Import            | Functionality                |\n| ------------------------------------------------------- | ---------------------- | ----------------- | ---------------------------- |\n| [YoutubeDL](https://github.com/ytdl-org/youtube-dl)     | pip install youtube-dl | import youtube_dl | Download YouTube videos      |\n| [Mutagen](https://github.com/quodlibet/mutagen)         | pip install mutagen    | import mutagen    | Read and write audio metadata|\n| [Pillow (PIL)](https://github.com/python-pillow/Pillow) | pip install Pillow     | import PIL        | Python imaging library       |\n\n## Installation\nInstall ```ytm``` onto your system.\n\n\u003c!--\n### Install From PyPi\nIn a terminal execute:\n\n```console\nuser@host:~$ pip install ytm # You may need to use: python3 -m pip install ytm\nSuccessfully installed ytm\n```\n--\u003e\n\n### Install From Source\nFirstly, clone or download this repository.\n\n#### Basic Installation:\nNo YouTubeMusicDL support\n```console\nuser@host:~$ pip install . # You may need to use: python3 -m pip install .\nSuccessfully installed ytm\n```\n\n#### Full Installation:\nYouTubeMusicDL support\n```console\nuser@host:~$ pip install .[dl] # You may need to use: python3 -m pip install .[dl]\nSuccessfully installed ytm\n```\n\n## Getting Started\nCreate an API instance\n\n```python\n\u003e\u003e\u003e import ytm\n\u003e\u003e\u003e\n\u003e\u003e\u003e api = ytm.YouTubeMusic()\n\u003e\u003e\u003e api\n\u003cYouTubeMusic()\u003e\n\u003e\u003e\u003e\n````\n\nView available methods\n\n```python\n\u003e\u003e\u003e from pprint import pprint\n\u003e\u003e\u003e\n\u003e\u003e\u003e pprint(list(api._methods))\n['album',\n 'artist',\n 'artist_albums',\n 'artist_singles',\n 'guide',\n 'home',\n 'hotlist',\n 'playlist',\n 'queue',\n 'search',\n 'search_albums',\n 'search_artists',\n 'search_playlists',\n 'search_songs',\n 'search_suggestions',\n 'search_videos',\n 'song',\n 'watch',\n 'watch_radio',\n 'watch_shuffle']\n\u003e\u003e\u003e\n```\n\n## Methods\nAPI methods available to retrieve data from YouTube Music:\n\n* [Method - Album](#method---album)\n* [Method - Artist](#method---artist)\n* [Method - Artist Albums](#method---artist-albums)\n* [Method - Artist Singles](#method---artist-singles)\n* [Method - Guide](#method---guide)\n* [Method - Home](#method---home)\n* [Method - Hotlist](#method---hotlist)\n* [Method - Playlist](#method---playlist)\n* [Method - Queue](#method---queue)\n* [Method - Search](#method---search)\n* [Method - Search Albums](#method---search-albums)\n* [Method - Search Artists](#method---search-artists)\n* [Method - Search Playlists](#method---search-playlists)\n* [Method - Search Songs](#method---search-songs)\n* [Method - Search Videos](#method---search-videos)\n* [Method - Search Suggestions](#method---search-suggestions)\n* [Method - Song](#method---song)\n* [Method - Watch](#method---watch)\n* [Method - Watch Radio](#method---watch-radio)\n* [Method - Watch Shuffle](#method---watch-shuffle)\n\n### Method - Album\n\nRetrieve information about an album.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e album = api.album('MPREb_ctJ5HEJw8pg') # Band Of Horses - Everything All The Time\n\u003e\u003e\u003e\n\u003e\u003e\u003e list(album)\n['name', 'id', 'total_tracks', 'radio', 'shuffle', 'explicit', 'duration', 'date', 'type', 'thumbnail', 'description', 'artists', 'tracks', 'variants']\n\u003e\u003e\u003e\n\u003e\u003e\u003e album['name']\n'Everything All The Time'\n\u003e\u003e\u003e album['total_tracks']\n10\n\u003e\u003e\u003e album['explicit']\nFalse\n\u003e\u003e\u003e album['duration']\n2169367\n\u003e\u003e\u003e album['date']\n{'year': 2006, 'month': 3, 'day': 21}\n```\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Artist\n\nRetrieve information about an artist.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e artist = api.artist('UC8Yu1_yfN5qPh601Y4btsYw') # Arctic Monkeys\n\u003e\u003e\u003e\n\u003e\u003e\u003e list(artist)\n['name', 'id', 'subscribers', 'views', 'description', 'albums', 'singles', 'videos', 'songs', 'playlists', 'similar_artists']\n\u003e\u003e\u003e\n\u003e\u003e\u003e artist['name']\n'Arctic Monkeys'\n\u003e\u003e\u003e artist['subscribers']\n'4.34M'\n\u003e\u003e\u003e artist['views']\n2082236489\n\u003e\u003e\u003e artist['description']\n'For tour dates, visit the website www.arcticmonkeys.com'\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Artist Albums\n\nRetrieve information about an artist's albums.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e artist = api.artist('UC8Yu1_yfN5qPh601Y4btsYw') # Arctic Monkeys\n\u003e\u003e\u003e\n\u003e\u003e\u003e artist_id = artist['id']\n\u003e\u003e\u003e params = artist['albums']['params']\n\u003e\u003e\u003e\n\u003e\u003e\u003e albums = api.artist_albums(artist_id, params)\n\u003e\u003e\u003e\n\u003e\u003e\u003e for album in albums:\n\tprint(album['name'])\n\nTranquility Base Hotel \u0026 Casino\nAM\nSuck It and See\nMy Propeller\nCornerstone\nHumbug\nTeddy Picker\nFluorescent Adolescent\nFavourite Worst Nightmare\nBrianstorm\nWho The Fuck Are Arctic Monkeys?\nWhatever People Say I Am, That's What I Am Not\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Artist Singles\n\nRetrieve information about an artist's singles.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e artist = api.artist('UC8Yu1_yfN5qPh601Y4btsYw') # Arctic Monkeys\n\u003e\u003e\u003e\n\u003e\u003e\u003e artist_id = artist['id']\n\u003e\u003e\u003e params = artist['singles']['params']\n\u003e\u003e\u003e\n\u003e\u003e\u003e singles = api.artist_singles(artist_id, params)\n\u003e\u003e\u003e\n\u003e\u003e\u003e for single in singles:\n\tprint(single['name'])\n\nTranquility Base Hotel \u0026 Casino\nWhy'd You Only Call Me When You're High?\nDo I Wanna Know?\nOne For The Road\nR U Mine? / Electricity\nBlack Treacle\nSuck It And See\nThe Hellcat Spangled Shalalala\nDon't Sit Down 'Cause I've Moved Your Chair\nCrying Lightning\nDa Frame 2R / Matador\nLeave Before The Lights Come On\nWhen The Sun Goes Down\nI Bet You Look Good On The Dancefloor\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Guide\n\nRetrieve information about available tabs.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e guide = api.guide()\n\u003e\u003e\u003e\n\u003e\u003e\u003e guide\n{'Home': 'FEmusic_home', 'Hotlist': 'FEmusic_trending', 'Library': 'FEmusic_liked'}\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Home\n\nRetrieve information about shelves displayed on the home page.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e home = api.home()\n\u003e\u003e\u003e\n\u003e\u003e\u003e list(home)\n['continuation', 'shelves']\n\u003e\u003e\u003e\n\u003e\u003e\u003e for shelf in home['shelves']:\n\tprint(shelf['name'])\n\nTop charts\nRelaxing to Country\n\u003e\u003e\u003e\n\u003e\u003e\u003e # Continue Data\n\u003e\u003e\u003e home2 = api.home(home['continuation'])\n\u003e\u003e\u003e\n\u003e\u003e\u003e for shelf in home2['shelves']:\n\tprint(shelf['name'])\n\nOffice radio\nToday's hits\nCool vibes\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Hotlist\nRetrieve information about songs in the hotlist.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e hotlist = api.hotlist()\n\u003e\u003e\u003e\n\u003e\u003e\u003e for song in hotlist:\n\tprint(' \u0026 '.join(song['artist']['names']), '-', song['name'])\n\nAriana Grande \u0026 Justin Bieber - Stuck with U\nMigos - Racks 2 Skinny\nManBetterKnow - Nang\nDua Lipa - Break My Heart\nLittle Mix - Break Up Song (Acoustic Version)\nGrm Daily - S1mba - Rover (Remix) (ft. Poundz, ZieZie \u0026 Ivorian Doll) [Music Video] | GRM Daily\nLil Durk - Doin Too Much\nBlack Pepper - Black Pepper - Dublue\nHayley Williams - Dead Horse\nslowthai - slowthai - ENEMY\nGRM Daily - Offica - Face Reveal [Music Video] | GRM Daily\nExample - Example - 'Erin' (Official Video) (OUT NOW)\nMumford \u0026 Sons - Forever\nHeadie One - HEADIE ONE - ROSE GOLD\nJaykae - Jaykae - Novocaine [feat. Remtrex] (Official Video)\nNAV - No Debate\nThe 1975 - Me \u0026 You Together Song\nSBK - SBK - Numbers (Official Video)\nSean Paul - Back It up Deh\nBaauer - AETHER\n\u003e\u003e\u003e\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Playlist\nRetrieve information about a playlist.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e playlist = api.playlist('RDCLAK5uy_lXWhlJsihey6xq1b50d7Uv93NLqle8TSc')\n\u003e\u003e\u003e\n\u003e\u003e\u003e list(playlist)\n['name', 'type', 'year', 'thumbnail', 'duration', 'id', 'total_tracks', 'artist', 'radio', 'shuffle', 'tracks', 'continuation']\n\u003e\u003e\u003e\n\u003e\u003e\u003e playlist['name']\n'Take It Easy Indie'\n\u003e\u003e\u003e playlist['year']\n2020\n\u003e\u003e\u003e playlist['duration']\n'6+ hours'\n\u003e\u003e\u003e playlist['total_tracks']\n163\n\u003e\u003e\u003e\n\u003e\u003e\u003e for track in playlist['tracks'][:5]: # First 5 Tracks\n\tprint(track['artist']['name'], '-', track['name'])\n\n\nLord Huron - The Night We Met (feat. Phoebe Bridgers)\nThe Lumineers - Cleopatra\nThe xx - I Dare You\nHozier - Work Song\ngirl in red - we fell in love in october\n\u003e\u003e\u003e\n\u003e\u003e\u003e # Continue Data\n\u003e\u003e\u003e playlist2 = api.playlist(continuation = playlist['continuation'])\n\u003e\u003e\u003e\n\u003e\u003e\u003e for track in playlist2['tracks'][:5]: # First 5 Tracks\n\tprint(track['artist']['name'], '-', track['name'])\n\n\nMaddie Jay - Mood Swings\nCloud Control - Dojo Rising\nBroken Bells - The Angel and the Fool\nGeorge Glew - Bittersweet\nCold War Kids - First\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Queue\nRetrieve information about queued songs.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e queue = api.queue('Gz3-4UuMWjQ', 'Ye8Er8MtiLk')\n\u003e\u003e\u003e\n\u003e\u003e\u003e for song in queue:\n\tprint(song['artist']['name'], '-', song['name'])\n\nAmber Run - Amen\nAmber Run - Kites\n\u003e\u003e\u003e\n\u003e\u003e\u003e queue2 = api.queue(playlist_id = 'RDCLAK5uy_k5DxhF_vXgbHHoaQ_d2hRBlY11Qgr3xpY')\n\u003e\u003e\u003e\n\u003e\u003e\u003e for song in queue2[:5]: # First 5 Songs\n\tprint(song['artist']['name'], '-', song['name'])\n\nJustin Bieber \u0026 N≠ - Sorry\nMark Ronson - Uptown Funk (feat. Bruno Mars)\nCalvin Harris - This Is What You Came For (feat. Rihanna)\nFifth Harmony - Work from Home (feat. Ty Dolla $ign)\nKaty Perry - Roar\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Search\n\nRetrieve information about a specific search.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e results = api.search('alt-j')\n\u003e\u003e\u003e\n\u003e\u003e\u003e list(results)\n['albums', 'playlists', 'videos', 'artists', 'songs', 'top_results']\n\u003e\u003e\u003e\n\u003e\u003e\u003e results['top_results']\n'artists'\n\u003e\u003e\u003e\n\u003e\u003e\u003e results['artists'][0]['name']\n'alt-J'\n\u003e\u003e\u003e\n\u003e\u003e\u003e results['albums'][0]['name']\n'An Awesome Wave'\n\u003e\u003e\u003e\n\u003e\u003e\u003e results[results['top_results']][0]['name']\n'alt-J'\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Search Albums\nRetrieve information about albums related to a specific search query.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e albums = api.search_albums('nevermind')\n\u003e\u003e\u003e\n\u003e\u003e\u003e for album in albums['items'][:5]: # First 5 Albums\n\tprint(album['artist']['name'], '-', album['name'])\n\nNirvana - Nevermind\nAlexander Jean - Nevermind\nSex Pistols - Never Mind The Bollocks, Here's The Sex Pistols (40th Anniversary Deluxe Edition)\nPoyo Spirit - Nevermind\nDistruction Boyz, Zhao - Nevermind (Radio Edit)\n\u003e\u003e\u003e\n\u003e\u003e\u003e # Continue Data\n\u003e\u003e\u003e albums2 = api.search_albums(continuation = albums['continuation'])\n\u003e\u003e\u003e\n\u003e\u003e\u003e for album in albums2['items'][:5]: # First 5 Albums\n\tprint(album['artist']['name'], '-', album['name'])\n\nSoriya - Nevermind\nWisp X - Nevermind\nP_frmdatribe - Nevermind\nRenel - Nevermind\nJacob Lee - Nevermind\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Search Artists\n\nRetrieve information about artists related to a specific search query.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e artists = api.search_artists('john')\n\u003e\u003e\u003e\n\u003e\u003e\u003e for artist in artists['items'][:5]: # First 5 Artists\n\tprint(artist['name'])\n\nJohn Legend\nJohn Mayer\nJohn Newman\nElton John\nJohn Lennon\n\u003e\u003e\u003e\n\u003e\u003e\u003e # Continue Data\n\u003e\u003e\u003e artists2 = api.search_artists(continuation = artists['continuation'])\n\u003e\u003e\u003e\n\u003e\u003e\u003e for artist in artists2['items'][:5]: # First 5 Artists\n\tprint(artist['name'])\n\nJohn Mellencamp\nJohn Carpenter\nJohn Williams\nJohn Coltrane\nJohn Barry\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Search Playlists\nRetrieve information about playlists related to a specific search query.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e playlists = api.search_playlists('indie')\n\u003e\u003e\u003e\n\u003e\u003e\u003e for playlist in playlists['items'][:5]: # First 5 Playlists\n\tprint(playlist['name'])\n\nCoffee Shop Indie\nUpbeat Indie Pop\nIndie Folk Favorites\nIndie Rock Chasers\nTake It Easy Indie\n\u003e\u003e\u003e\n\u003e\u003e\u003e # Continue Data\n\u003e\u003e\u003e playlists2 = api.search_playlists(continuation = playlists['continuation'])\n\u003e\u003e\u003e\n\u003e\u003e\u003e for playlist in playlists2['items'][:5]: # First 5 Playlists\n\tprint(playlist['name'])\n\nA Decade of Easy Indie\nIndie Disco Overload\nSunshine Indie\nPop \u0026 Indie Easy Listening\n00s Indie Guitar Anthems\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Search Songs\n\nRetrieve information about songs related to a specific search query.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e songs = api.search_songs('cry')\n\u003e\u003e\u003e\n\u003e\u003e\u003e for song in songs['items'][:5]: # First 5 Songs\n\tprint(song['artists'][0]['name'], '-', song['name'])\n\nRihanna - Cry\nKAZKA - CRY (English Version)\nJames Blunt - Cry\nCarly Rae Jepsen - Cry\nSystem F - Cry (Original Extended)\n\u003e\u003e\u003e\n\u003e\u003e\u003e # Continue Data\n\u003e\u003e\u003e songs2 = api.search_songs(continuation = songs['continuation'])\n\u003e\u003e\u003e\n\u003e\u003e\u003e for song in songs2['items'][:5]: # First 5 Songs\n\tprint(song['artists'][0]['name'], '-', song['name'])\n\nMarilyn Manson - Cry Little Sister\nJorja Smith - Don't Watch Me Cry\nOasis - Stop Crying Your Heart Out\nVolbeat - I'm So Lonesome I Could Cry\nColdplay - Cry Cry Cry\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Search Videos\n\nRetrieve information about videos related to a specific search query.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e videos = api.search_videos('time')\n\u003e\u003e\u003e\n\u003e\u003e\u003e for video in videos['items'][:5]: # First 5 Videos\n\tprint(video['artist']['name'], '-', video['name'])\n\nLizzy Capri - Lizzy Capri - TIME (Official Lyric Video)\nNF - Time\nPink Floyd Remasted Songs - Pink Floyd - Time (2011 Remastered)\nChase \u0026 Status - Time\nLil Baby - Time\n\u003e\u003e\u003e\n\u003e\u003e\u003e # Continue Data\n\u003e\u003e\u003e videos2 = api.search_videos(continuation = videos['continuation'])\n\u003e\u003e\u003e\n\u003e\u003e\u003e for video in videos2['items'][:5]: # First 5 Videos\n\tprint(video['artist']['name'], '-', video['name'])\n\nAnjunadeep - Simon Doty feat. Forrest - This Time\nAlesso - TIME\nImagine Dragons - It's Time\nCulture Club - Time (Clock of the Heart)\nFreddie Mercury - Time Waits For No One\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Search Suggestions\n\nRetrieve a list of search suggestions.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e suggestions = api.search_suggestions('foo fight')\n\u003e\u003e\u003e\n\u003e\u003e\u003e from pprint import pprint\n\u003e\u003e\u003e\n\u003e\u003e\u003e pprint(suggestions)\n['foo fighters',\n 'foo fighters everlong',\n 'foo fighters times like these',\n 'foo fighters learn to fly',\n 'foo fighters best of you',\n 'foo fighters live',\n 'foo fighters pretender']\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Song\n\nRetrieve information about a song/video.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e song = api.song('pPt_FZ9m2bM')\n\u003e\u003e\u003e\n\u003e\u003e\u003e list(song)\n['rating', 'duration', 'description', 'thumbnail', 'name', 'id', 'views', 'dislikes', 'likes', 'explicit', 'recommended', 'date', 'artist']\n\u003e\u003e\u003e\n\u003e\u003e\u003e song['name']\n'The Key to Life on Earth'\n\u003e\u003e\u003e song['artist']['name']\n'Declan McKenna'\n\u003e\u003e\u003e song['views']\n53130\n\u003e\u003e\u003e song['rating']\n4.9008608\n\u003e\u003e\u003e song['duration']\n247\n\u003e\u003e\u003e song['explicit']\nFalse\n\u003e\u003e\u003e song['date']\n{'year': 2020, 'month': 4, 'day': 14}\n\u003e\u003e\u003e\n\u003e\u003e\u003e for track in song['recommended'][:5]: # First 5 Tracks\n\tprint(track['artist']['name'], '-', track['name'])\n\nDeclan McKenna - British Bombs\nNone - Mix - The Key to Life on Earth\nDeclan McKenna - Beautiful Faces\nDeclan McKenna - Declan McKenna - The Key to Life on Earth (Official Video)\nWill Joseph Cook - Will Joseph Cook - Girls Like Me\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Watch\n\nRetrieve information about a song/playlist being watched.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e watch = api.watch('dIwwjy4slI8', 'RDCLAK5uy_mgonaF5RiN90kqT-edkFB53N81dZ9XHp8')\n\u003e\u003e\u003e\n\u003e\u003e\u003e list(watch)\n['id', 'name', 'continuation', 'total', 'tracks', 'radio', 'current']\n\u003e\u003e\u003e\n\u003e\u003e\u003e watch['name']\n'Celestial Instrumentals'\n\u003e\u003e\u003e watch['total']\n52\n\u003e\u003e\u003e watch['radio']\nFalse\n\u003e\u003e\u003e\n\u003e\u003e\u003e for track in watch['tracks'][:5]: # First 5 tracks\n\tprint(track['name'])\n\nSays\nThe Light\nSun Drugs\nDark Lights\nTogether Alone\n\u003e\u003e\u003e\n\u003e\u003e\u003e # Continue data\n\u003e\u003e\u003e watch2 = api.watch(continuation = watch['continuation'])\n\u003e\u003e\u003e\n\u003e\u003e\u003e for track in watch2['tracks'][:5]: # First 5 tracks\n\tprint(track['name'])\n\nGoodnight\nIndoor Swimming At The Space Station\nHoppípolla\nSleeping on the Roof\nZero Gravity\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Watch Radio\n\nRetrieve information about a song/playlist being watched in radio mode.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e song_radio = api.watch_radio(song_id = '8A9_1hGmtj0')\n\u003e\u003e\u003e\n\u003e\u003e\u003e list(song_radio)\n['id', 'name', 'continuation', 'total', 'tracks', 'radio', 'current']\n\u003e\u003e\u003e\n\u003e\u003e\u003e song_radio['id']\n'RDAMVM8A9_1hGmtj0'\n\u003e\u003e\u003e\n\u003e\u003e\u003e for track in song_radio['tracks'][:5]: # First 5 Tracks\n\tprint(track['name'])\n\nTravel Is Dangerous\nA Gallant Gentleman\nMotion Picture Soundtrack\nDon't Stay Here\nEverything In Its Right Place\n\u003e\u003e\u003e\n\u003e\u003e\u003e playlist_radio = api.watch_radio(playlist_id = 'RDCLAK5uy_kNj0whsN9sFy3dqiTCfu34HoOdeZIjfyw')\n\u003e\u003e\u003e\n\u003e\u003e\u003e list(playlist_radio)\n['id', 'name', 'continuation', 'total', 'tracks', 'radio', 'current']\n\u003e\u003e\u003e\n\u003e\u003e\u003e playlist_radio['id']\n'RDAMPLRDCLAK5uy_kNj0whsN9sFy3dqiTCfu34HoOdeZIjfyw'\n\u003e\u003e\u003e playlist_radio['name']\n'Ambient Post Rock'\n\u003e\u003e\u003e\n\u003e\u003e\u003e for track in playlist_radio['tracks'][:5]: # First 5 Tracks\n\tprint(track['name'])\n\nOnly The Winds\nThe Winter\nThe Kindness In Letting Go\nAldgate Patterns\nI'm Not\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n### Method - Watch Shuffle\nRetrieve information about a playlist being watched in shuffle mode.\n\n\u003cdetails\u003e\n\u003csummary\u003eView Example\u003c/summary\u003e\n\u003cp\u003e\n\n```python\n\u003e\u003e\u003e watch = api.watch_shuffle('RDCLAK5uy_l6Wg_lE2_Wx7GdOE21bKJvYPIif8n1fAQ')\n\u003e\u003e\u003e\n\u003e\u003e\u003e list(watch)\n['id', 'name', 'continuation', 'total', 'tracks', 'radio', 'current']\n\u003e\u003e\u003e\n\u003e\u003e\u003e watch['name']\n'Peaceful Indie Dreams'\n\u003e\u003e\u003e\n\u003e\u003e\u003e for track in watch['tracks'][:5]: # First 5 Tracks\n\tprint(track['name'])\n\nMake It Holy\nBible Belt (Acoustic)\nTake Care\nAtlas Hands\nSweetheart, What Have You Done to Us\n\u003e\u003e\u003e\n```\n\n\u003c/p\u003e\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftombulled%2Fpython-youtube-music","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftombulled%2Fpython-youtube-music","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftombulled%2Fpython-youtube-music/lists"}