Skip to content

Latest commit

 

History

History
80 lines (50 loc) · 2.57 KB

setup.rst

File metadata and controls

80 lines (50 loc) · 2.57 KB

Setup

Installation

pip install ytmusicapi

Authenticated requests

Copy authentication headers

To run authenticated requests you need to set up you need to copy your request headers from a POST request in your browser. To do so, follow these steps:

  • Open a new tab
  • Open the developer tools (Ctrl-Shift-I) and select the "Network" tab
  • Go to https://music.youtube.com and ensure you are logged in
  • Find an authenticated POST request. The simplest way is to filter by /browse using the search bar
Firefox
  • Verify that the request looks like this: Status 200, Method POST, Domain music.youtube.com, File browse?...
  • Copy the request headers (right click > copy > copy request headers)
Chromium (Chrome/Edge)
  • Verify that the request looks like this: Status 200, Type xhr, Name browse?...
  • Click on the Name of any matching request. In the "Headers" tab, scroll to the section "Request headers" and copy everything starting from "accept: */*" to the end of the section

Using the headers in your project

To set up your project, open a Python console and call :pyYTMusic.setup with the parameter filepath=headers_auth.json and follow the instructions and paste the request headers to the terminal input:

from ytmusicapi import YTMusic
YTMusic.setup(filepath=headers_auth.json)

If you don't want terminal interaction in your project, you can pass the request headers with the headers_raw parameter:

from ytmusicapi import YTMusic
YTMusic.setup(filepath=headers_auth.json, headers_raw="<headers copied above>")

The function returns a JSON string with the credentials needed for Usage <usage>. Alternatively, if you passed the filepath parameter as described above, a file called headers_auth.json will be created in the current directory, which you can pass to YTMusic() for authentication.

These credentials remain valid as long as your YTMusic browser session is valid (about 2 years unless you log out).

Manual file creation

Alternatively, you can paste the cookie to headers_auth.json below and create your own file:

../../headers_auth.json.example