Spotify/YouTube song downloader with option to download whole albums, playlists and also lyrics.
Available on Android, Windows and Linux*.
Important
YouTube recently started blocking IP adresses, when you download too much videos as described in yt-dlp/yt-dlp#3766.
It looks like bans are temporary and doesn't apply to logged users in browser.
So if you are downloading large playlist and download suddenly stops working , just try it later.
- Spotify/YouTube search - you can search by artist, album or track name
- Play songs before you download it
- Download single songs or whole albums
- Download whole Spotify/YouTube playlists - saved to
.m3u
file - Download songs from share screen - tap share in Spotify/YouTube app on Android
- Automatically save track name, artist name, album image and other tags to songs
- Lyrics - embedded directly to audio files
- Synchronized lyrics - saved to
.lrc
files Change audio format -- only m4a audio format is available right nowm4a
ormp3
Download age restricted videos- not available right now- Browser Extension - download music directly from YouTube video page
- Download neodeemer_android.apk
- Open downloaded apk and install it
If it says you can't install unknown apps, just go to Settings and search Install unknown apps, then select your browser and tap Allow from this source.
- Download neodeemer_windows.exe
- Just open the downloaded exe (It doesn't require installation)
- Install Python 3.8.10 or later if you don't have it already
- Clone this repo
- Get your own Spotify and YouTube API keys
- Create
.env
file inneodeemer\neodeemer
(folder where is main.py) like this:SPOTIPY_CLIENT_ID= SPOTIPY_CLIENT_SECRET= YOUTUBE_API_KEY=
- Continue depending on your platform
cd neodeemer\neodeemer
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python main.py
cd neodeemer/neodeemer
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 main.py
You can install Neodeemer UserScript to download music directly from YouTube video page.
- Install TamperMonkey to your browser
- Install Neodeemer UserScript
- Start Neodeemer
- Enable WebApi in Neodeemeer settings
- Go to any YouTube video and click Neodeemer icon under the video, it will add video to download queue
- Click on TamperMonkey extension
- Go to Control Panel > Installed Scripts > Neodeemer UserScript
- Change
localhost
toyourdeviceip
on these lines:// @connect yourdeviceip
whereconst host = "yourdeviceip";
yourdeviceip
is IP adress of device you want to control (e.g. 192.168.0.123).
You can get your device IP depending on your OS:
Android - System Settings > Wi-Fi > YourNetwork > IP Address
Windows - cmd > ipconfig > IPv4 Address
Linux - terminal > ip addr > inet
If encounter some tracks, that has bad quality or even doesn't match the name, you can submit it directly in the app using
If you have other issue or some idea to make the app better, just open a new issue on GitHub.
This app wouldn't be possible to make without these libraries: