jente509/spodo

Spotify Downloader

Python

0

8 commits

updated Oct 18, 2026

See the code

See what people are saying

SourceMessageScoreDate

I'm not a developer, but I vibe-coded Spodo: a desktop Spotify downloader with YouTube anti-bot bypass & full ID3 tagging! (r/SideProject)

Hey everyone! πŸ‘‹ Full disclosure upfront: \*\*I am NOT a software developer.\*\* I have zero programming background and no idea how any of the code under the hood actually works. I was frustrated with existing Spotify downloaders constantly breaking or getting blocked by YouTube's annoying \*"Sign…

1

Oct 16, 2026

README

🎡 Spodo

A sleek, high-performance desktop Spotify playlist, album, and track downloader with embedded ID3 metadata, album artwork, bilingual UI, and automated YouTube anti-bot bypass.

Python Pair Programmed with Gemini CustomTkinter License: MIT

Features β€’ Quickstart β€’ Anti-Bot Bypass β€’ About β€’ Contributors


[!TIP] πŸ‡³πŸ‡± Nederlandstalig? Spodo is bedacht door een Nederlandse IT-student en bevat volledige ondersteuning voor Nederlands en Engels. Wissel direct tussen talen via de knop rechtsboven (πŸ‡³πŸ‡± NL).

[!NOTE]

ℹ️ Project Context

Full disclosure: I am an IT student, not a software developer, and don't know the deep ins and outs of how this code runs under the hood.

Frustrated by existing downloaders breaking or getting blocked by YouTube bot checks, I built Spodo together with Google Gemini, which handled the Python architecture, code, and bug fixes.

If you encounter any bugs, feel free to open a GitHub Issue!


✨ Key Features

  • ⚑ Fast Spotify Downloading: Fetch tracks, albums, or entire playlists via public Spotify URLs or your connected personal Spotify account.
  • 🏷️ Studio-Quality ID3 Tagging: Automatically embeds track title, artists, album title, release year, track number, and high-resolution album artwork into the file.
  • 🎧 Audio Formats & Bitrates:
    • MP3 (up to 320 kbps)
    • M4A / AAC
    • FLAC (Lossless)
    • OPUS
  • πŸͺ Smart YouTube Anti-Bot Bypass:
    • Automatically avoids YouTube "Sign in to confirm you’re not a bot" challenges.
    • 1-click cookie synchronization from your preferred browser (Brave, Chrome, Edge, Firefox, Opera, Safari, Vivaldi).
    • Securely caches extracted cookies into an isolated file so downloads work seamlessly even while your browser remains open.
    • Alternative support for standard cookies.txt imports.
  • 🎨 Modern Dark & Light Mode:
    • Beautiful CustomTkinter interface.
    • Instant toggle (πŸŒ™ / β˜€οΈ) in the top navigation bar.
  • πŸ“¦ Zero-Config FFmpeg: Automatically detects or downloads a standalone FFmpeg on Windows so you never need to configure system PATH variables.
  • 🌐 Bilingual UI: Seamless 1-click toggle between English and Nederlands directly in the header (πŸ‡¬πŸ‡§ EN / πŸ‡³πŸ‡± NL).

πŸš€ Quickstart

1. Requirements

  • Python 3.10 or higher
  • (Optional) A web browser (Brave, Chrome, Edge, Firefox) for YouTube cookies if downloading large playlists.

2. Clone Repository

git clone https://github.com/jente509/spodo.git
cd spodo

3. Launch

  • Windows: Double-click run.bat or run:
    run.bat
    
  • Linux / macOS:
    chmod +x run.sh
    ./run.sh
    

The launch script automatically creates a Python virtual environment (venv), installs dependencies from requirements.txt, and boots Spodo.


βš™οΈ Spotify API Credentials (Optional)

Spodo works out-of-the-box in Public Mode for any public playlist or track link. To access your private playlists and Liked Songs:

  1. Visit the Spotify Developer Dashboard.
  2. Create a free app and set Redirect URI to: http://127.0.0.1:3001/api/callback
  3. Click the βš™ (Settings) button in Spodo and enter your Client ID and Client Secret.

πŸͺ Preventing YouTube Bot Blocks

If YouTube prompts you with "Sign in to confirm you’re not a bot":

  1. Open Spodo's βš™ (Settings).
  2. Under YouTube Cookies, select your everyday browser (e.g., Brave, Chrome, Edge, Firefox).
  3. Click πŸ”„ Synchronize from [Browser].
  4. Spodo will safely extract your YouTube cookies into an isolated file, preventing database lock errors and ensuring uninterrupted downloads.

πŸ‘₯ Contributors

ContributorRole
Jente (@jente509)Project Creator (IT student)
Gemini (Google DeepMind)AI Code Architecture & Development

πŸ“„ License

Distributed under the MIT License.

Crafted because i wanted a downloader that works
python
spotify
spotify-downloader
yt-dlp

jente509/spodo

Spotify Downloader

Python

0

8 commits

updated Oct 18, 2026

See the code

See what people are saying

SourceMessageScoreDate

I'm not a developer, but I vibe-coded Spodo: a desktop Spotify downloader with YouTube anti-bot bypass & full ID3 tagging! (r/SideProject)

Hey everyone! πŸ‘‹ Full disclosure upfront: \*\*I am NOT a software developer.\*\* I have zero programming background and no idea how any of the code under the hood actually works. I was frustrated with existing Spotify downloaders constantly breaking or getting blocked by YouTube's annoying \*"Sign…

1

Oct 16, 2026

README

🎡 Spodo

A sleek, high-performance desktop Spotify playlist, album, and track downloader with embedded ID3 metadata, album artwork, bilingual UI, and automated YouTube anti-bot bypass.

Python Pair Programmed with Gemini CustomTkinter License: MIT

Features β€’ Quickstart β€’ Anti-Bot Bypass β€’ About β€’ Contributors


[!TIP] πŸ‡³πŸ‡± Nederlandstalig? Spodo is bedacht door een Nederlandse IT-student en bevat volledige ondersteuning voor Nederlands en Engels. Wissel direct tussen talen via de knop rechtsboven (πŸ‡³πŸ‡± NL).

[!NOTE]

ℹ️ Project Context

Full disclosure: I am an IT student, not a software developer, and don't know the deep ins and outs of how this code runs under the hood.

Frustrated by existing downloaders breaking or getting blocked by YouTube bot checks, I built Spodo together with Google Gemini, which handled the Python architecture, code, and bug fixes.

If you encounter any bugs, feel free to open a GitHub Issue!


✨ Key Features

  • ⚑ Fast Spotify Downloading: Fetch tracks, albums, or entire playlists via public Spotify URLs or your connected personal Spotify account.
  • 🏷️ Studio-Quality ID3 Tagging: Automatically embeds track title, artists, album title, release year, track number, and high-resolution album artwork into the file.
  • 🎧 Audio Formats & Bitrates:
    • MP3 (up to 320 kbps)
    • M4A / AAC
    • FLAC (Lossless)
    • OPUS
  • πŸͺ Smart YouTube Anti-Bot Bypass:
    • Automatically avoids YouTube "Sign in to confirm you’re not a bot" challenges.
    • 1-click cookie synchronization from your preferred browser (Brave, Chrome, Edge, Firefox, Opera, Safari, Vivaldi).
    • Securely caches extracted cookies into an isolated file so downloads work seamlessly even while your browser remains open.
    • Alternative support for standard cookies.txt imports.
  • 🎨 Modern Dark & Light Mode:
    • Beautiful CustomTkinter interface.
    • Instant toggle (πŸŒ™ / β˜€οΈ) in the top navigation bar.
  • πŸ“¦ Zero-Config FFmpeg: Automatically detects or downloads a standalone FFmpeg on Windows so you never need to configure system PATH variables.
  • 🌐 Bilingual UI: Seamless 1-click toggle between English and Nederlands directly in the header (πŸ‡¬πŸ‡§ EN / πŸ‡³πŸ‡± NL).

πŸš€ Quickstart

1. Requirements

  • Python 3.10 or higher
  • (Optional) A web browser (Brave, Chrome, Edge, Firefox) for YouTube cookies if downloading large playlists.

2. Clone Repository

git clone https://github.com/jente509/spodo.git
cd spodo

3. Launch

  • Windows: Double-click run.bat or run:
    run.bat
    
  • Linux / macOS:
    chmod +x run.sh
    ./run.sh
    

The launch script automatically creates a Python virtual environment (venv), installs dependencies from requirements.txt, and boots Spodo.


βš™οΈ Spotify API Credentials (Optional)

Spodo works out-of-the-box in Public Mode for any public playlist or track link. To access your private playlists and Liked Songs:

  1. Visit the Spotify Developer Dashboard.
  2. Create a free app and set Redirect URI to: http://127.0.0.1:3001/api/callback
  3. Click the βš™ (Settings) button in Spodo and enter your Client ID and Client Secret.

πŸͺ Preventing YouTube Bot Blocks

If YouTube prompts you with "Sign in to confirm you’re not a bot":

  1. Open Spodo's βš™ (Settings).
  2. Under YouTube Cookies, select your everyday browser (e.g., Brave, Chrome, Edge, Firefox).
  3. Click πŸ”„ Synchronize from [Browser].
  4. Spodo will safely extract your YouTube cookies into an isolated file, preventing database lock errors and ensuring uninterrupted downloads.

πŸ‘₯ Contributors

ContributorRole
Jente (@jente509)Project Creator (IT student)
Gemini (Google DeepMind)AI Code Architecture & Development

πŸ“„ License

Distributed under the MIT License.

Crafted because i wanted a downloader that works
python
spotify
spotify-downloader
yt-dlp