JBeExJBeEx

spotDL

spotDL

Descripción del programa spotDL

spotDL es una aplicación de línea de comandos, escrita en Python y publicada bajo licencia MIT, que convierte listas de reproducción, álbumes y canciones de Spotify en archivos de audio locales ya etiquetados. Su particularidad es importante: no extrae el audio de Spotify. Toma únicamente los metadatos de la plataforma (título, artista, álbum, portada, duración) y localiza después una versión equivalente del tema en YouTube o YouTube Music para descargarla.

Esa arquitectura es su rasgo distintivo frente a otros descargadores: al no tocar el contenido protegido de Spotify, spotDL se limita a combinar la información de un sitio con el audio público de otro. El resultado es una colección perfectamente etiquetada —con carátula incrustada— que cualquier reproductor o servidor multimedia (como Jellyfin o Navidrome) organiza de forma automática.

El proyecto es de código abierto, está en desarrollo muy activo (serie v4) y lo mantiene su comunidad en GitHub. Al ser una herramienta viva, lo recomendable es instalar siempre la última versión con pip. Funciona en Windows, macOS y Linux, con opciones adicionales para Docker y para Android mediante Termux.

Características clave de spotDL

1. Emparejamiento inteligente Spotify → YouTube

Compara título, artista y duración de cada pista de Spotify con los resultados de YouTube Music para encontrar la versión correcta, tratando de evitar directos, versiones o temas homónimos. Una vez localizada la coincidencia, descarga el audio con la mejor calidad disponible e incrusta los metadatos y la portada en el archivo final.

2. Varias operaciones para distintos flujos

spotDL no se limita a descargar: ofrece varias operaciones que cambian su comportamiento.

  • download (por defecto): descarga las canciones e incrusta los metadatos de Spotify.
  • save: guarda solo los metadatos en un archivo .spotdl, sin descargar audio.
  • sync: mantiene una carpeta local igualada a una lista de Spotify, añadiendo lo nuevo y quitando lo retirado.
  • meta: actualiza los metadatos de archivos ya descargados sin volver a bajarlos.
  • web: arranca una interfaz web sencilla en el navegador (limitada a canciones sueltas).
  • url: devuelve el enlace de origen de cada pista de la lista.

3. Procesamiento por lotes y sincronización

Admite la descarga completa de listas, álbumes y discografías en una sola orden, con progreso por pista y reanudación de trabajos interrumpidos. La sincronización compara una carpeta local con el estado actual de una lista de Spotify y la mantiene al día sin intervención manual, lo que la hace muy útil para quien gestiona un servidor de música propio.

4. Metadatos y carátulas completos

Incrusta en cada archivo el título, artista, álbum, número de pista, año, género y la carátula en alta calidad, tomados de la ficha de Spotify. Así la biblioteca queda ordenada y reconocible en cualquier reproductor, sin el típico caos de nombres arbitrarios.

5. Varias vías de instalación

Se instala con un comando desde el gestor de paquetes de Python, pero también ofrece un ejecutable compilado para Windows, imágenes Docker, paquete para algunas distribuciones de Linux y un script para Termux en Android, cubriendo prácticamente cualquier escenario.

Explicación detallada de su funcionamiento

spotDL trabaja en tres fases encadenadas. Primero consulta los metadatos de Spotify a partir de la URL que le pasas y construye la lista de pistas. Después, para cada tema, busca la correspondencia en YouTube y descarga el audio empleando el motor yt-dlp. Por último, convierte el archivo con FFmpeg al formato elegido e incrusta todos los datos y la portada.

En la práctica, esto resuelve el desorden de las colecciones musicales locales: en lugar de descargas sueltas con nombres arbitrarios, obtienes una biblioteca etiquetada que cualquier reproductor organiza solo. También sirve para tener copias locales de tus listas antes de cambiar de dispositivo o para usar la música sin conexión permanente.

El enfoque tiene un límite claro: la calidad del audio depende de lo que ofrece YouTube —hasta 128 kbps para usuarios estándar y 256 kbps con cuenta de YouTube Music Premium—, lejos del audio sin pérdida. Además, el emparejamiento automático puede equivocarse con directos o remasterizaciones, por lo que en colecciones exigentes conviene revisar el resultado.

Descarga e instalación de spotDL

Necesitas Python (una versión reciente) y FFmpeg. spotDL puede descargar FFmpeg por su cuenta con spotdl --download-ffmpeg, lo que ahorra la instalación manual. La instalación básica, igual en los tres sistemas, es:

# Instalar spotDL (requiere Python)
pip install spotdl

# Que spotDL descargue FFmpeg automáticamente
spotdl --download-ffmpeg

En macOS y Linux también puedes instalar FFmpeg desde el gestor de paquetes (brew install ffmpeg o sudo apt install ffmpeg). En Windows, quien prefiera no tocar Python puede descargar el ejecutable compilado desde la sección de releases del proyecto, que además arranca la interfaz web por defecto.

  • Desarrollador: comunidad del proyecto spotDL (código abierto, sin empresa detrás).
  • Página oficial: github.com/spotDL/spotify-downloader.
  • Versión: en desarrollo activo (serie v4); instala la última con pip.
  • Sistemas: Windows, macOS y Linux; también Docker y Android (Termux).
  • Requisitos: Python reciente y FFmpeg.
  • Licencia: MIT (código abierto).

Cómo usar spotDL

El flujo básico es copiar la URL de la canción, álbum o lista desde el botón de compartir de Spotify y pasársela al programa. La operación download es la que se ejecuta por defecto:

# Descargar una canción, un álbum o una lista (pegando su URL de Spotify)
spotdl "URL_de_Spotify"

# Sincronizar una carpeta con una lista y mantenerla al día
spotdl sync "URL_de_la_lista" --save-file lista.spotdl
spotdl sync lista.spotdl

Algunas opciones habituales para afinar el resultado:

  • --output / -o: carpeta de destino de los archivos.
  • --bitrate: calidad de audio (por ejemplo, 128k o 256k).
  • --save-file: archivo .spotdl donde guardar los metadatos de la lista.
  • --format: formato de salida (mp3, opus, flac…), dentro de lo que permita la fuente.

Para quien prefiere no usar la terminal, el comando spotdl web abre una interfaz en el navegador, aunque limitada a descargas individuales.

Alternativas

Si prefieres una experiencia gráfica sin tocar la terminal, SpotiFlyer es una opción multiplataforma de código abierto con la misma idea de descargar listas por URL, y existe también alguna interfaz gráfica construida sobre el propio spotDL. En el mismo ámbito, en el blog ya cubrimos otras herramientas como SpotiDown y Sidify Music Converter, con enfoques distintos (web y aplicación de escritorio, respectivamente).

¿Para quién es?

spotDL encaja de maravilla con quien quiere construir una biblioteca musical local a partir de sus listas: usuarios que preparan música para viajes sin cobertura, quienes alimentan un servidor de música propio o quienes automatizan tareas, dada su naturaleza de línea de comandos. La operación de sincronización es su gran baza para mantener colecciones al día.

No es la opción adecuada para quien busca calidad sin pérdida (el tope lo marca YouTube), ni para quien no tenga ninguna soltura con la terminal (aunque la interfaz web lo suaviza). Un apunte neutro: los propios desarrolladores recuerdan que la responsabilidad del uso recae en el usuario, que debe limitarse al contenido que tenga derecho a descargar según la normativa de su país y las condiciones de las plataformas.

Preguntas frecuentes

¿spotDL es gratis o de pago?

Es completamente gratuito y de código abierto bajo licencia MIT, que permite usarlo, modificarlo y redistribuirlo sin coste. No hay versión de pago ni funciones bloqueadas; el proyecto se sostiene con donaciones.

¿Funciona en Windows, macOS y Linux?

Sí, es multiplataforma, siempre que tengas Python y FFmpeg. Además hay ejecutable compilado para Windows, imágenes Docker para servidores y posibilidad de instalarlo en Android mediante Termux.

¿Descarga el audio directamente de Spotify?

No. Usa Spotify solo para leer los metadatos de las pistas y localiza después el audio equivalente en YouTube o YouTube Music. Por eso la calidad máxima la marca esa fuente y no el audio original de Spotify.

¿Qué calidad de audio ofrece?

La máxima disponible en la fuente: hasta 128 kbps para usuarios estándar de YouTube y 256 kbps con cuenta de YouTube Music Premium. No ofrece audio sin pérdida, así que no es la vía para quien busca calidad máxima.

¿Puede descargar podcasts?

spotDL está orientado a música (canciones, álbumes y listas de reproducción). Para episodios de pódcast los resultados dependen de que exista audio equivalente en la fuente, por lo que no es su uso principal.