Download Spotify Playlists on Your Mac with spotDL
Welcome, music enthusiasts! This guide is designed to help you easily download Spotify playlists to your Mac using spotdl spotify-downloader
, even if you're new to using command-line tools.
Understanding the Basics
What is Terminal?
- Terminal is a Mac application used for executing text commands.
- To Open Terminal: Go to Applications > Utilities > Terminal.
Navigating Folders in Terminal
- Folders in Terminal are called 'directories'. Use
ls
to list items andcd
to change directories. The Tab key can be used for auto-complete.
Pre-requisites
First, let's install the following essentials:
- Python & pip: Usually pre-installed on Macs. Python
- FFmpeg: Required for processing audio files. FFmpeg
- Homebrew: A package manager for Mac. Homebrew
Installing Homebrew (If not already installed)
Homebrew simplifies the installation of software on Mac.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Follow the on-screen instructions. At the end of the installation, Homebrew will instruct you what to do to add it to your PATH. Copy each of the two commands and paste them in Terminal and hit enter. They will likely look like this (except with your username instead of
your_username
):echo 'eval "$(/usr/local/bin/brew shellenv)"' >> /Users/your_username/.profile
eval "$(/usr/local/bin/brew shellenv)"
Installing FFmpeg
Install FFmpeg using Homebrew:
brew install ffmpeg
Installing spotDL
Let's get spotdl spotify-downloader
set up on your Mac, depending on your version of python either run:
pip install spotdl
or
pip3 install spotdl
- More deets here: spotDL GitHub
Creating a Download Folder
Now, create a folder for your downloads:
- Using Finder: Create a folder in your preferred location (e.g., Desktop).
- Open Terminal in Your Folder: Right-click on the folder and choose 'New Terminal at Folder' to open Terminal directly in your chosen folder. By opening terminal in the folder, when we download the songs they will appear in this folder.
Downloading a Spotify Playlist
Now you're ready to download your Spotify playlists:
- To get the Spotify playlist URL, go to the playlist in Spotify, click the three dots, 'Share', then 'Copy link to playlist'. Edit the link to remove everything after the "?".
- In Terminal, type:
Replacespotdl [Clean Spotify Playlist Link]
[Clean Spotify Playlist Link]
with your link.
Troubleshooting Common Issues
- No matches found: Ensure your Spotify link has removed anything after and including the '?'.
- Command Not Found: Ensure
spotdl
is installed and restart Terminal. - Download Problems: Check your internet connection or playlist link.
Conclusion
Congratulations! You've now downloaded Spotify playlists to your Mac. Any questions or issues? Drop a comment below. Enjoy your music!
Optional: Downloading Higher Bitrate Music using YouTube Music
For better sound quality, spotdl
enables downloads from YouTube Music at 256kbps.
Requirements
- YouTube Music or YouTube Premium: A premium account is required for high-quality streaming.
- High-Quality Streaming Setting: Adjust YouTube Music settings to stream at the highest quality.
Obtaining Cookies
- Extracting Cookies via Developer Tools:
- Open YouTube Music and sign in.
- Access the developer tools (Cmd + Option + I on Mac).
- Navigate to the 'Application' tab and find the cookies under the 'Storage' section.
- Look for cookies related to YouTube or YouTube Music login and save them in a text file.
Setting Up for High-Quality Downloads
- Change Quality Settings in YouTube Music.
- Use the
--cookie-file
option in yourspotDL
command, pointing to your cookies file. - Select M4A or OPUS format with the
--format
option. - Use
--bitrate disable
to skip bitrate conversion.
Example Command
spotdl --cookie-file path/to/your/cookies.txt --bitrate disable --audio youtube-music --format=m4a [Spotify Playlist Link]
- Replace
path/to/your/cookies.txt
with the actual path to your cookies file, and[Spotify Playlist Link]
with your playlist link.
For more details, check the spotDL documentation.