- Lists all your Spotify playlists
- Automatically transfers playlists to YouTube
- Fast and reliable transfer
- Detailed progress reports
- Easy setup and usage
- Go 1.21 or higher
- Spotify playlist links
- Google Cloud Console
git clone https://github.com/yourusername/spotomusic.git
cd spotomusicgo mod tidy- Get your Spotify playlist links
- No API key needed for public playlists
- Only playlist links are required
- Go to Google Cloud Console
- Create a new project
- Enable YouTube Data API v3
- Create OAuth 2.0 credentials
- Download the JSON file
export SPOTIFY_PLAYLIST_LINKS="https://open.spotify.com/playlist/YOUR_PLAYLIST_ID_1,https://open.spotify.com/playlist/YOUR_PLAYLIST_ID_2"
export YOUTUBE_CREDENTIALS_FILE="/path/to/your/credentials.json"# List playlists
./spotomusic list
# Transfer a specific playlist
./spotomusic transfer 37i9dQZF1DXcBWIGoYBM5M
# Transfer all playlists
./spotomusic transfer --all
# Interactive mode
./spotomusic transfer --interactive
# Dry run (simulation only)
./spotomusic transfer --all --dry-run# Verbose output
./spotomusic --verbose list
# Specify config file
./spotomusic --config /path/to/config.yaml list
# Dry run
./spotomusic --dry-run transfer --allThe application searches for configuration files in the following order:
- File specified with
--configflag $HOME/.spotomusic.yaml$HOME/.spotomusic/spotomusic.yamlspotomusic.yamlin current directory
spotify:
# username: "spotify_username" # Public playlist owner's username - No longer needed with playlist links
youtube:
credentials_file: "/path/to/credentials.json"
transfer:
max_retries: 3
retry_delay_ms: 1000
skip_existing: true
dry_run: false
logging:
level: "info"
verbose: falsego test ./...go build -o spotomusic .# Linux
GOOS=linux GOARCH=amd64 go build -o spotomusic-linux .
# Windows
GOOS=windows GOARCH=amd64 go build -o spotomusic.exe .
# macOS
GOOS=darwin GOARCH=amd64 go build -o spotomusic-macos .- YouTube Data API: You have a daily quota of 10,000 credits. Each operation (like searching for a video or adding a video to a playlist) consumes credits. This limit can be quickly reached with large playlists. Refer to the official YouTube Data API Quota Usage for detailed information.
-
"YouTube credentials file not found"
- Check the path to the JSON file downloaded from Google Cloud Console
-
"Playlist not found"
- Make sure the provided Spotify playlist links are correct and accessible
- Verify the playlist ID is correct
-
"HTTP 404" error (Spotify)
- Make sure the Spotify playlist link is correct
- Check that the playlist is public
-
"quotaExceeded" error (YouTube)
- You have exceeded your daily YouTube Data API quota. Please try again after 24 hours or request a quota increase from Google Cloud Console.
Log files are stored at $HOME/.spotomusic/logs/spotomusic.log