songfer: Download Your World of Music
Effortlessly grab songs, albums, and playlists from YouTube & Spotify in high-quality audio, with beautiful cover art and perfect metadata.
Open-source, privacy-first, and built for music lovers.
- 🎧 Download from YouTube & Spotify:
- Instantly fetch any song, album, or playlist as MP3/AAC.
- 📦 Playlist ZIP Downloads:
- Download entire playlists in a single click.
- 🖼️ Gorgeous Metadata & Album Art:
- Every track comes with ID3 tags and high-res covers.
- 🔒 Account System:
- Free users: 15 downloads/day. Subscribers: 50. Free Server Limitations :)
- 🤖 Smart Music Discovery:
- Get recommendations tailored to your taste.
- 📊 Personal Dashboard:
- Visualize your listening stats and favorites.
- ⚡ Optimized Performance:
- Redis-powered caching and queue management for fast, reliable downloads.
- 🚄 Parallel Processing:
- Albums download multiple tracks simultaneously for maximum speed.
- 🌈 Modern, Responsive UI:
- Built with Next.js, Tailwind CSS, and Django REST API.
- 🌍 Cross-Platform:
- Works on Windows, Mac, Linux, and mobile browsers.
- ✨ 100% Open Source:
- No ads, no tracking, just music.
- Why songfer?
- See It In Action
- About
- How It Works
- Getting Started
- Environment Variables
- Usage
- Contributing
- License
- Star History
songfer was born from a simple idea:
"Music should be accessible, beautiful, and yours to keep—without hassle or compromise."
Created by Monil Mehta after realizing there was no simple solution to download entire playlists from YouTube, songfer is a celebration of open-source, music, and community.
- Paste a YouTube or Spotify URL
- Supports tracks, albums, and playlists.
- Pick Your Format
- MP3 or AAC, always high quality.
- Download & Enjoy
- Tracks are tagged, zipped (if playlist), and delivered with cover art.
- Explore Your Dashboard
- See your stats, get recommendations, and manage your music.
Technical Magic:
- Redis Caching: Lightning-fast response times by caching frequent queries and results
- Task Queue Management: Background processing of downloads using Redis and Celery
- Parallel Processing: Downloads album tracks simultaneously for much faster delivery
- Smart Resource Management: Efficient handling of large playlists without overloading the server
# 1. Clone the repository
git clone https://github.com/MonilMehta/songfer.git
cd songfer/backend
# 2. Install dependencies
pip install -r requirements.txt
# 3. Configure environment variables
copy .env.example .env
# Edit .env as needed (see below)
# 4. Apply migrations & collect static files
python manage.py migrate
python manage.py collectstatic --no-input
# 5. Run the backend server
python manage.py runserver# 1. Go to frontend
cd ../frontend/tunevaults
# 2. Install dependencies
npm install --force
# 3. Configure environment variables
copy .env.example .env.local
# Edit .env.local as needed (see below)
# 4. Run the frontend
npm run devSECRET_KEY– Django secret keyDEBUG– Set toTruefor developmentSPOTIFY_CLIENT_ID– Your Spotify API client IDSPOTIFY_CLIENT_SECRET– Your Spotify API client secretYOUTUBE_API_KEY– (Optional) YouTube Data API key for enhanced metadataREDIS_URL– Redis connection string for caching and task queuing
NEXT_PUBLIC_YOUTUBE– YouTube Data API key (for playlist/track previews)NEXT_PUBLIC_APP_URL– Your frontend base URL (e.g.,http://localhost:3000)
- Download a Song: Paste a YouTube or Spotify link, pick format, and download.
- Download a Playlist: Paste a playlist URL, download all tracks as a ZIP.
- Get Recommendations: Visit your dashboard for music suggestions.
- Upgrade Subscription: Unlock unlimited downloads in your profile.
Pull requests are welcome!
Open an issue to discuss your ideas or improvements.
This project is licensed under the MIT License.
YouTube downloader, Spotify downloader, playlist downloader, YouTube playlist downloader, Spotify playlist downloader, MP3 downloader, AAC downloader, music downloader, open source, Django, Next.js, high quality, album art, ID3 tags, ZIP download, music recommendations, free music downloader, songfer
- Built by Monil Mehta
- Thanks to all contributors and open-source libraries.
Experience music freedom. Download, discover, and own your playlists with songfer!
⭐ Star this repo to support open music! ⭐
