All Projects
Personal Project Β· September 2025

Spotify to YouTube Music Migration

A two-part tool that exports liked songs from Spotify using Go and automatically likes them on YouTube Music using Python, providing a free alternative to paid migration services.

Technologies
Go 1.22+Python 3.10+Spotify APIYouTube Music APIJSONOAuth 2.0ytmusicapiHTTP Clients
Terminal Preview
spotify-to-ytmusic β€” Migration Tool
$ go run export.go 🎡 Spotify to YouTube Music Migration Tool ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [1/2] Exporting from Spotify... βœ“ Authenticated with Spotify API βœ“ Fetching liked songs... βœ“ Page 1/8 β€” 50 songs retrieved βœ“ Page 2/8 β€” 50 songs retrieved ... βœ“ Page 8/8 β€” 23 songs retrieved βœ“ Exported 373 songs β†’ liked_songs.json $ python import.py [2/2] Importing to YouTube Music... βœ“ Authenticated with YouTube Music βœ“ Processing 373 songs... [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘] 289/373 βœ“ Liked: "Bohemian Rhapsody" β€” Queen βœ“ Liked: "Blinding Lights" β€” The Weeknd ⚠ Skipped: "Local File Track" β€” not found βœ“ Liked: "Starboy" β€” The Weeknd Summary: 361 liked Β· 12 skipped Β· 0 errors
Overview

Overview

This project provides a free, open-source alternative to paid music migration services by combining the strengths of Go and Python.

The Go exporter authenticates with Spotify’s OAuth 2.0 API, retrieves all liked songs with pagination handling, and saves them as a structured JSON file.

The Python importer reads the exported JSON, searches YouTube Music for each track, and automatically likes matching songs using the ytmusicapi library.

Features

Features

Export (Go)

  • Spotify OAuth 2.0 authentication flow
  • Automatic pagination for large libraries
  • JSON export with artist and track metadata
  • Rate limiting and error handling

Import (Python)

  • YouTube Music authentication via ytmusicapi
  • Fuzzy search matching for track discovery
  • Automatic like/save functionality
  • Progress tracking with skip detection
Back to All Projects