Spotify downloader
App with which you can download tracks from Spotify using YouTube
Download your favorite playlists from Spotify using YouTube in just one click! The project is written primarily in Dart, distributed under the MIT License license, first published in 2023. Key topics include: album-downloader, android, android-app, app, downloader.
<div align="center"> <img src="https://raw.githubusercontent.com/C0ntrolDev/spotify_downloader/main/github_images/preview.png"/> </div>
About App
- 📱 🍎 Supported platforms: Android, IOS
- 🇺🇸 🇷🇺 Languages: English, Russian
- 🎥 Download audio from YouTube using SpotifyAPI
Features
- 📥 Download the entire playlist with one click
- ❤️ Download favorite tracks
- 🔄 Change the download source if you didn't like the automatic choice
- 🔔 Track downloads in notifications or on the main page
- 💤 Background download (Android only)
How to download
Android
You can download this apk if you don't know what kind of architecture you have.
If you know what architecture you have, then download one of the apk listed below.
IOS
You can download ipa there.
How to use
Since this is a common problem, you don't need Login for normal use! Login is only needed to download your favorite tracks, and it requires changing client secret and client id to yours!
After you have downloaded the app, you must grant it the permissions it will ask for.
Then you can use the app. Just paste the link to the playlist and click the search button.
If you want to download your favorite tracks, and also download playlists "only for you", you must create Spotify Service App
How create Spotify Service App and use it
- Follow this link and login - https://developer.spotify.com/
- Follow this link and create your own app - https://developer.spotify.com/dashboard/create
- App name - whatever you want
- App description - whatever you want
- Website - unessentially
- Redirect URI - com.cdev.spotifydownloader://callback
- Go to the application settings and copy the clientId and clientSecret
- Open the settings in Spotify Downloader and paste the clientId and clientSecret into the fields specified for them (first delete the default values)
- Click on the log in button
After logging in, you can download your favorite tracks, as well as playlists "only for you"
Additional information
- ⭐ I would appreciate it if you star this repository!
For developers
- Developed on Flutter
- When developing the application, I used a "Clean Architecture". I don't think this application is an ideal representative of this approach. But if you want, you can use it as an example project.
Version 2.0
If you're interested in contributing to this project, there are some key tasks I'd like to get done:
- Implement logging (probably using talker)
- Implement caching for the most recently loaded pages
- Remake the system for getting tracks from SpotifyAPI (make it so that the collection is fetched in parts, prioritizing loading parts that are visible)
- Implement various sources of tracks/audio
- Implement tracks mp3s creation time ordering (for ordered view in mp3 players (like in Spotify)). For example first track in playlist created at 00:01, second track in playlist created at 00:02
- Improve perfomance in big playlists, when downloading all
- Use drift instead of sqflite
Contributors
Showing top 1 contributor by commit count.
