A simple command-line Python script to bulk download all of your private songs from Suno AI.
This tool iterates through your library pages, downloads each song, and can optionally embed the cover art directly into the MP3 file's metadata.
- Bulk Download: Downloads all songs from your private library.
- Metadata Embedding: Automatically embeds the title, artist, and cover art (thumbnail) into the MP3 file.
- File Sanitization: Cleans up song titles to create valid filenames for any operating system.
- Duplicate Handling: If a file with the same name already exists, it saves the new file with a version suffix (e.g.,
My Song v2.mp3) to avoid overwriting. - Proxy Support: Allows routing traffic through an HTTP/S proxy.
- User-Friendly Output: Uses colored console output for clear and readable progress updates.
- Python 3.6+
pip(Python's package installer, usually comes with Python)
-
Clone the repository:
git clone https://github.com/your-username/your-repo-name.git cd your-repo-name(Alternatively, you can download the repository as a ZIP file and extract it.)
-
Install the required Python packages:
pip install -r requirements.txt
The script requires a Suno Authorization Token to access your private library. Here’s how to find it:
- Open your web browser and go to suno.com and log in.
- Open your browser's Developer Tools. You can usually do this by pressing
F12orCtrl+Shift+I(Windows/Linux) orCmd+Option+I(Mac). - Go to the Network tab in the Developer Tools.
- In the filter box, type
feedto easily find the right request. - Refresh the Suno page or click around your library. You should see a new request appear in the list.
- Click on that request (it might be named something like
v2?hide_disliked=...). - In the new panel that appears, go to the Headers tab.
- Scroll down to the Request Headers section.
- Find the
Authorizationheader. The value will look likeBearer [long_string_of_characters]. - Copy only the long string of characters (the token itself), without the word
Bearer.
Example (Copy the whole string) https://i.imgur.com/PQtOIM5.jpeg
Important: Your token is like a password. Do not share it with anyone.
Open your terminal or command prompt, navigate to the script's directory, and run it using the following command structure.
Basic Usage (downloads audio only):
python suno_downloader.py --token "your_token_here"This will download all songs into a new folder named suno-downloads.
Full-Featured Usage (with thumbnails and a custom directory):
python suno_downloader.py --token "your_token_here" --directory "My Suno Music" --with-thumbnailThis will download all songs and their thumbnails into a folder named My Suno Music.
--token(Required): Your Suno authorization token.--directory(Optional): The local directory where files will be saved. Defaults tosuno-downloads.--with-thumbnail(Optional): A flag to download and embed the song's cover art.--proxy(Optional): A proxy server URL (e.g.,http://user:pass@127.0.0.1:8080). You can provide multiple proxies separated by commas.
This is an unofficial tool and is not affiliated with Suno, Inc. It is intended for personal use only to back up your own creations. Please respect Suno's Terms of Service. The developers of this script are not responsible for any misuse.
This project is licensed under the MIT License. See the LICENSE file for details.