This is a more user friendly version of the fantastic Spotify Downloader of ritiek.
This is a list of some of its features:
- Downloads songs from YouTube in an MP3 format by using Spotify metadata.
- Functional UI based on ReactJS and MATERIAL-UI.
- Search for songs, albums and playlist or simply copy the Spotify's HTTP link.
- Pre-visualize the songs before downloading them in YouTube.
- Fetch info from Spotify and play the songs using its web player.
- Automatically applies metadata to the downloaded song
- Works straight out of the box and does not require to generate or mess with your API keys (already included).
That's how it will look like!
-
Run docker container:
-
Unix:
docker pull ghcr.io/alvsanand/spotify-downloader:latest MUSIC_FOLDER={YOUR_MUSIC_DIRECTORY} docker run --restart=always --name spotify-downloader -p 5000:5000 -u `stat -c "%u:%g" "$MUSIC_FOLDER"` -d -v "$MUSIC_FOLDER:/music" ghcr.io/alvsanand/spotify-downloader:latest
-
Windows:
% First, you must have configured shared folders in Docker Desktop docker pull ghcr.io/alvsanand/spotify-downloader:latest set MUSIC_FOLDER={YOUR_MUSIC_DIRECTORY} docker run --restart=always --name spotify-downloader -p 5000:5000 -d -v "%MUSIC_FOLDER%:/music" ghcr.io/alvsanand/spotify-downloader:latest
-
-
For accessing the UI, go to http://localhost:5000.
-
In order to see the logs:
docker logs -f $(docker ps -aq --filter name=spotify-downloader)
-
Sometimes "youtube_dl" python library is outdated and downloads do not work. So just, we must remove the current execution and launch it again.
docker rm -f $(docker ps -aq --filter name=spotify-downloader) ## See "Run docker container"
In order to be usable, you should use your own Youtube API key:
-
Create you own Youtube API key. See this guide.
-
Go to "Settings" in Spotify Downloader, replace the Youtube API key and click "Save".
-
Now, the app will use the new key.
It is obligatory to set the Youtube API Keys in the configuration section in order to use the app.
Besides, due to the free quota of Youtube API, the app may fail after several successful downloads. Therefore, it is recommended to create and set multiple keys.
You will have to wait until next day to restart the download.
Un order to run in development mode:
-
Start Flask server:
sudo apt-get update && sudo apt-get install build-essential python3-venv python3-dev python3 -m venv venv source venv/bin/activate pip install --upgrade pip pip install -r requirements.txt export LOCAL_MODE=True python app.py
-
Start react server:
cd react-ui npm install npm run start
Downloading copyright songs may be illegal in your country. This tool is for educational purposes only and was created only to show how Spotify's API can be exploited to download music from YouTube. Please support the artists by buying their music.