Import your Spotify library into Apple Music
Alternatives To Spotify2am
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Lyricify App2,264
a day ago6
A fantastic app to provide scroll lyrics for Spotify (iTunes, Music Center, QQ Music, Netease Cloud Music, and YesPlayMusic are only supported by Lyricify 3). 一款为 Spotify 提供滚动歌词的软件。(iTunes、Music Center、QQ音乐、网易云音乐、YesPlayMusic 仅 Lyricify 3 支持)
5 days ago5mitPython
🎶Apple Music ↔️ Spotify playlist convertor.
3 years ago1mit
🎧 List of best Soundtracks to boost your Productivity and Focus
2 years ago1mitObjective-C
Screensaver inspired by Apple’s inbuilt iTunes Screensaver. It can display Artwork by Spotify or Profile Data.
Itunes Volume Control244
2 years ago20gpl-3.0Objective-C
Controlling iTunes and Spotify volume using volume up and volume down hotkeys.
6 years ago27Python
Import your Spotify library into Apple Music
4 years ago1gpl-3.0Swift
A efficent MacOS application automatically silencing ads of the spotify desktop app
4 years agoagpl-3.0Dart
A music player component for Flutter (i.e. Spotify, Apple Music, etc.) [AGPL/example/no longer maintaining]
4 months ago3mitSwift
macOS app that allows the control of Spotify and AppleMusic/iTunes music playback from the menu bar.
6 years agoObjective-C++
OSX application to store Spotify playlists as MP3's that can be imported into iTunes to be matched by Apple Music.
Alternatives To Spotify2am
Select To Compare

Alternative Project Comparisons

Spotify to Apple Music

Some simple Python 3 scripts to help you into importing your existing Spotify library into Apple Music.
Work in progress !


1. Export the Spotify songs to an CSV File

The first step is getting the songs you want to import into Apple Music into a CSV file. The simplest way to do this is using Exportify.
If you want to export you whole Spotify library, simply create a new playlist called All and drag your whole library into it using the Spotify desktop app. You can then export the playlist All using Exportify. Save the resulting file as spotify.csv in the same directory as the directory you cloned this repo into.

2. Match the Spotify songs with their Apple Music identifier

In order to add songs to our Apple Music library, we need their Apple Music identifier. Running python3 will use the spotify.csv file to create a new file itunes.csv with each line consisting of the Apple Music identifier of a song in your Spotify library.

3. Use an intercepting proxy to retrieve the Apple Music request headers

Start iTunes and Charles (or another intercepting proxy you like). Make sure SSL Proxying is enabled and working correctly. Next, select a random song on Apple Music you don't have in your library yet, right click and choose 'Add to library'. If everything went well, you're now able to view all the request headers in Charles of a request to We're only interested in Cookie, X-Dsid and X-Guid. Copy the value of these header and paste them in the appropriate place in (line 29 and further).
Next, run python3 and go grab a coffee. You're songs are now being imported into Apple Music.

Current issues

API limit rate

Apple Music doesn't like it when we're adding a lot of songs in a small amount of time. If we do so, the API responds to all further request with 403 Too many requests. After this, you're blocked from the API for an undetermined amount of time. We're currently trying to avoid this by waiting after each request. A delay of 30 seconds seems fine to import large libraries into Apple Music. If you're library is smaller, feel free to decrease the delay in

Missing songs

The script I'm using to retrieve the Apple Music identifier for a Spotify song is quite basic. It simply compares the title and artist to find out if a Spotify and Apple Music song match. Some songs don't have the exact same title (extraneous spacing for example) in both services. This results in the script failing to retrieve an identifier for some songs.

Terminal encoding

Some users are reporting errors like UnicodeEncodeError: 'ascii' codec can't encode character '\xd8' in ... when running the scripts. The problem here is that Python is trying to convert UTF-8 characters to ASCII to print them to standard output. This can be solved by setting the PYTHONIOENCODING environment variable to utf-8.
In Bash, simply call the scripts like this: PYTHONIOENCODING=utf-8 python3 and PYTHONIOENCODING=utf-8 python3 insert-songs.Py

Popular Apple Projects
Popular Spotify Projects
Popular Companies Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.