Spotify to YouTube Music
raw JSON → 0.8.0 verified Sat May 09 auth: no python
A Python library and CLI tool for transferring Spotify playlists to YouTube Music. Version 0.8.0, requires Python 3.10+. Active development with occasional releases.
pip install spotify-to-ytmusic Common errors
error spotipy.exceptions.SpotifyException: http error: 401 - unauthorized ↓
cause Spotify API credentials are missing or invalid.
fix
Ensure SPOTIFY_CLIENT_ID and SPOTIFY_CLIENT_SECRET environment variables are set correctly.
error FileNotFoundError: [Errno 2] No such file or directory: 'headers_auth.json' ↓
cause YouTube Music authentication file is missing.
fix
Create a headers_auth.json file with your YouTube Music cookies. See README for instructions.
error AttributeError: module 'spotify_to_ytmusic' has no attribute 'Client' ↓
cause The class was renamed to SpotifyToYTMusic in v0.7.0.
fix
Replace
from spotify_to_ytmusic import Client with from spotify_to_ytmusic import SpotifyToYTMusic. Warnings
breaking In v0.7.0, the class `Client` was renamed to `SpotifyToYTMusic`. Old code using `from spotify_to_ytmusic import Client` will fail. ↓
fix Change import to `from spotify_to_ytmusic import SpotifyToYTMusic`.
deprecated The function `spotify_to_ytmusic.transfer_playlists` is deprecated since v0.6.0. Use instance method instead. ↓
fix Use `styt.transfer_playlist(playlist_id)` on a `SpotifyToYTMusic` instance.
gotcha YouTube Music authentication requires a `headers_auth.json` file obtained via browser cookies. The library does not generate this automatically. ↓
fix Follow instructions in the README to export your YouTube Music cookies to `headers_auth.json`.
Imports
- SpotifyToYTMusic wrong
from spotify_to_ytmusic import Clientcorrectfrom spotify_to_ytmusic import SpotifyToYTMusic - TransferError
from spotify_to_ytmusic.exceptions import TransferError
Quickstart
import os
from spotify_to_ytmusic import SpotifyToYTMusic
# Requires Spotify and YouTube Music credentials in environment variables
# See https://github.com/sigma67/spotify_to_ytmusic for setup
sp = os.environ.get('SPOTIFY_CLIENT_ID', '')
styt = SpotifyToYTMusic(
spotify_client_id=sp,
spotify_client_secret=os.environ.get('SPOTIFY_CLIENT_SECRET', ''),
youtube_music_auth_file='headers_auth.json'
)
# Example: transfer a playlist by ID
styt.transfer_playlist('spotify:playlist:37i9dQZF1DXcBWIGoYBM5M')