Skip to content

febriarief/api-spotify-downloader

Repository files navigation

Spotify Downloader Logo

Spotify Downloader Web App

About Spotify Downloader API

This repository not only houses a robust API for Spotify track downloading but also incorporates a Python script for seamless integration with the ZSpotify's library. This script allows users to effortlessly download Spotify tracks, and it has been enhanced with additional code to meet the specific integration requirements of our API.

Features

  • Real-Time Updates: Experience real-time updates on track download progress, enhancing the user's sense of control and feedback.
  • Spotify Integration: Connect effortlessly to the Spotify platform, enabling users to specify tracks for download.
  • Laravel Framework: Benefit from the robust features and structure provided by the Laravel framework for a secure and scalable API.
  • Python Processing: Enhance the capabilities of the application with Python code, ensuring efficient and reliable handling of Spotify track downloads.

Requirements

  • PHP version >= 8
  • Python version >= 3.10

Pre-installation

  • Angular Web UI
    You can find my angular web ui project here
  • Cloudinary account
    This application uses Cloudinary as a storage services. You can support me by registering for an account using my referral: Sign up Cloudinary
  • Spotify account
    Free Account will download 160k bitrate of track.
    Premium Account will download 320k bitrate of track.
    Recommend using a burner account to avoid any possible account bans.

Installation

  1. Clone the repository to your local environment.
git clone https://github.com/febriarief/api-spotify-downloader.git
  1. Install laravel packages
composer install
  1. Copy file .env.example to .env.
  2. Since we are using the beyondcode/laravel-websockets package, it is recommended to change the values of PUSHER_APP_ID and PUSHER_APP_KEY to spotify-track-downloader from the .env file. Documentation of beyondcode/laravel-websockets
PUSHER_APP_ID=spotify-track-downloader
PUSHER_APP_KEY=spotify-track-downloader
  1. Modify several keys in the .env file below to match the values in your Cloudinary account.
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
CLOUDINARY_URL=
CLOUDINARY_UPLOAD_PRESET=
  1. Migrate database
php artisan migrate
  1. Create python virtual environment
python -m venv venv
  1. Activate python virtual environment & install module dependencies.
Windows:
venv\Script\activate && pip install -r requirements.txt

Linux:
source venv\bin\activate && pip install -r requirements.txt
  1. Change QUEUE_CONNECTION value from the .env file with redis or database
QUEUE_CONNECTION=redis

or 

QUEUE_CONNECTION=database
  1. Run laravel websocket
php artisan websockets:serve
  1. Run laravel queue process
php artisan queue:work
  1. Build angular project and place it to public folder and name it console.

After Installation

  1. Open terminal and point to app\Python\spotify.
  2. Login to your spotify account. Run command:
Windows:
venv\Script\activate && python main.py -l true

Linux:
source venv\bin\activate && python main.py -l true

Spotify Downloader Web App

3. Input your email/username and password.

Python Script for Spotify Track Download

To complement the API, a Python script leveraging ZSpotify has been included. This script facilitates the download of Spotify tracks effortlessly. Note that this script is an extension of the original ZSpotify functionality, specifically tailored to seamlessly integrate with our API.

Disclaimer

This application is not an official product of Spotify. Users are advised to use it at their own risk. Respect copyright and licensing agreements when downloading and using Spotify tracks.

Contribution

Feel free to contribute to the development of this Spotify Track Downloader API. Fork the repository, make your changes, and submit a pull request.

Thanks

Thanks to jsavargas for creating ZSpotify.

License

This application is also licensed under the MIT License, promoting an open and collaborative development environment.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published