Tony Wang5 min de lecturaCómo Scrapear Spotify en 2026 (API y Python)
Scrapea Spotify en 2026 — DIY con la Web API OAuth (y su cierre de 2024), sin código, o una API estructurada para catálogo, búsqueda y playlists.
La forma más rápida de scrapear Spotify en 2026 es llamar a una API estructurada que devuelve JSON normalizado — búsqueda pública del catálogo, tracks, artistas, álbumes, playlists y discovery — en lugar de lidiar con OAuth y la Web API de Spotify, cada vez más cerrada. Puedes hacerlo tú mismo con la API oficial, pero necesita OAuth (y una app respaldada por Premium), y eliminó varios de los endpoints en los que más se apoyaba la gente. Esta guía cubre los tres enfoques, qué devuelve cada uno, dónde falla cada uno y los aspectos legales básicos.
¿Por qué scrapear Spotify?
Los datos públicos del catálogo de Spotify impulsan toda una categoría de investigación musical:
- Inteligencia de catálogo y playlists — rastrea qué playlists incluyen qué tracks y cómo cambian las playlists.
- Monitoreo de artistas y sellos — sigue una discografía, artistas relacionados y colocaciones a lo largo del tiempo.
- Investigación de A&R y tendencias — detecta artistas emergentes y su cercanía a través de los endpoints de discovery.
- Investigación de recomendaciones — estudia cómo se relacionan los tracks y álbumes dentro del catálogo.
¿Es legal scrapear Spotify?
Opción 1: hazlo tú mismo con la API oficial (y por qué es limitada)
La vía oficial es la Web API con OAuth a través de spotipy:
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials
sp = spotipy.Spotify(auth_manager=SpotifyClientCredentials(client_id="...", client_secret="..."))
results = sp.search(q="daft punk", type="artist")
Funciona para consultas básicas y luego choca contra varias paredes:
- Bloqueo por OAuth + Premium. Cada llamada necesita un token OAuth (Client ID/Secret), y las apps en Development Mode requieren que el propietario de la app mantenga una suscripción Premium activa de Spotify — si vence, la app deja de funcionar.
- El cierre de noviembre de 2024. El 27 de noviembre de 2024, Spotify dejó de dar soporte a
audio-features,audio-analysis,recommendations,related-artistsyfeatured-playlists; las apps nuevas reciben403y todavía no hay ningún reemplazo — así que buena parte del tooling de discovery y análisis simplemente ya no se puede construir sobre la API oficial. - Cuotas cada vez más estrictas. Los cambios de la Web API de febrero de 2026 limitan las apps en Development Mode a alrededor de 25 usuarios sin una aprobación de Extended Quota Mode, y los límites de tasa se calculan sobre una ventana móvil de 30 segundos.
- Scrapear la app en sí es aún más difícil. Rodear la API implica renderizar la app de una sola página en React de Spotify y hacer ingeniería inversa de su GraphQL interno — proxies, navegadores headless y roturas cada vez que cambia la API interna.
Opción 2: herramientas sin código
Los extractores visuales y los "actors" de tipo "Spotify scraper" de los marketplaces exportan CSV/JSON y sirven para extracciones puntuales, pero resultan incómodos dentro de un pipeline de producto y se rompen con los mismos cambios de la app.
Opción 3: una API estructurada de Spotify
Para workflows repetibles sobre datos públicos, una Spotify scraping API devuelve JSON normalizado sin OAuth que gestionar. Busca en el catálogo:
curl "https://api.crawlora.net/api/v1/spotify/search?q=daft%20punk" \
-H "x-api-key: $CRAWLORA_API_KEY"
Luego encadena búsqueda → detalle → discovery en Python:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/spotify"
# search returns Spotify uris (spotify:track:..., spotify:artist:...)
hits = requests.get(f"{base}/search", headers=h, params={"q": "daft punk"}).json()["data"]
# address detail endpoints by uri or id
artist = requests.get(f"{base}/artist", headers=h, params={"id": "0TnOYISbd1XYRBk9myaseg"}).json()["data"]
albums = requests.get(f"{base}/artist/albums", headers=h, params={"id": "0TnOYISbd1XYRBk9myaseg"}).json()["data"]
related = requests.get(f"{base}/artist/related", headers=h, params={"id": "0TnOYISbd1XYRBk9myaseg"}).json()["data"]
Una respuesta de búsqueda es JSON normalizado (los campos son ilustrativos — revisa los docs):
{
"code": 200,
"msg": "OK",
"data": {
"searchTerm": "daft punk",
"offset": 0,
"limit": 10,
"topResults": [
{ "uri": "spotify:artist:4tZwfgrHOc3mvqYlEYSvVi", "type": "Artist", "title": "Daft Punk", "externalUrl": "https://open.spotify.com/artist/4tZwfgrHOc3mvqYlEYSvVi" }
],
"artists": [
{ "uri": "spotify:artist:4tZwfgrHOc3mvqYlEYSvVi", "type": "Artist", "title": "Daft Punk", "externalUrl": "https://open.spotify.com/artist/4tZwfgrHOc3mvqYlEYSvVi" }
]
}
}
Direcciona tracks, artistas, álbumes y playlists por su uri (por ejemplo, spotify:artist:…) o id. Los endpoints de discovery — artist/related, track/recommended y track/similar-albums — cubren precisamente los datos relacionales que la API oficial eliminó en 2024. Los endpoints de búsqueda y listado paginan mediante offset/limit. Guarda una fila por elemento y vuelve a extraer con una programación regular.
Qué puedes recopilar
Metadatos públicos del catálogo: búsqueda entre tracks, artistas, álbumes, playlists, shows/episodios y audiolibros; detalle y discografía de artistas; tracks de álbumes; contenido de playlists; y discovery (artistas relacionados, tracks recomendados, álbumes similares) — cada uno con su uri de Spotify y su URL de open.spotify.com. Solo metadatos públicos.
Limitaciones y desafíos comunes
- Metadatos públicos, no audio-features. Esto devuelve datos públicos de catálogo y discovery, no los valores de BPM/tonalidad/danceability que Spotify dejó de dar soporte en 2024 — para eso ejecutarías una herramienta abierta como Essentia sobre audio sobre el que tengas derechos.
- Sin datos privados ni de usuario. El historial de escucha, la biblioteca y los datos de la cuenta están detrás de un inicio de sesión y son inaccesibles; recopila solo el catálogo público.
- uri vs. id. La búsqueda devuelve uris de Spotify; los endpoints de detalle aceptan una
urioid, así que conserva el id de la búsqueda para direccionarlos. - El catálogo cambia. Las playlists y discografías cambian, así que vuelve a extraer con una programación regular en lugar de confiar en una instantánea única.
Dónde se usa esto
- Inteligencia de catálogo musical y playlists — rastrea colocaciones y cambios en el catálogo. Consulta el caso de uso music catalog & playlist intelligence.
- Monitoreo de artistas y sellos — sigue discografía, artistas relacionados y colocaciones.
- Investigación de tendencias y A&R — detecta artistas emergentes a través de los endpoints de discovery.
Sources
Empieza a recopilar
Pruébalo primero, gratis: ejecuta cualquier URL pública en el Free Web Scraper, o revisa si un sitio bloquea bots con el Anti-Bot Checker — sin necesidad de registrarte.
Prueba el endpoint de búsqueda en el Playground, revisa el schema en los API docs y consulta el pricing. Mira también how to scrape Apple Podcasts para el resto del stack de audio, y how to scrape YouTube — el otro lugar donde se reproducen los mismos tracks y artistas, y una buena segunda lectura sobre el alcance de un artista. Para el kit de herramientas más amplio, how to choose a web scraping API, y is web scraping legal.
Parte de nuestra serie de guías how-to-scrape — cada plataforma que cubrimos, en un solo índice.
Preguntas frecuentes
¿Spotify tiene una API oficial?
Sí, la Web API, pero requiere OAuth y se ha ido cerrando cada vez más. El 27 de noviembre de 2024 Spotify dejó de dar soporte a audio-features, audio-analysis, recommendations, related-artists y featured-playlists (las apps nuevas reciben 403 sin reemplazo), y las apps en Development Mode requieren el Spotify Premium del propietario y, desde febrero de 2026, tienen un tope de ~25 usuarios sin una extensión de cuota.
¿Puedo scrapear Spotify sin OAuth?
Para datos públicos del catálogo, sí — una API estructurada devuelve búsqueda, tracks, artistas, álbumes, playlists y discovery como JSON normalizado sin tokens OAuth ni una app respaldada por Premium. Los datos privados de usuario (historial de escucha, biblioteca) siguen fuera de los límites, detrás de un inicio de sesión.
¿Puedo obtener audio-features como BPM y tonalidad?
De Spotify ya no — dejó de dar soporte a los endpoints audio-features y audio-analysis en 2024 sin reemplazo. Un scraper de catálogo devuelve metadatos públicos y discovery, no esos valores; para derivar BPM/tonalidad ejecutarías una herramienta abierta como Essentia sobre audio sobre el que tengas derechos.
¿Cómo direcciono un track, artista o playlist?
Todo se usa con una uri de Spotify (por ejemplo, spotify:artist:...) o id. La búsqueda devuelve uris en sus resultados; pasa la uri o id a /spotify/track, /spotify/artist, /spotify/album o /spotify/playlist. Los endpoints de listado paginan mediante offset y limit.
¿Qué datos de Spotify puedo recopilar?
Metadatos públicos del catálogo: búsqueda entre tracks, artistas, álbumes, playlists, shows/episodios y audiolibros; detalle y discografía de artistas; tracks de álbumes; contenido de playlists; y discovery (artistas relacionados, tracks recomendados, álbumes similares) — cada uno con su uri de Spotify y su URL de open.spotify.com.
¿Es legal scrapear Spotify?
Recopilar metadatos públicos del catálogo suele ser web scraping público de menor riesgo, pero los términos de Spotify restringen el acceso automatizado, los datos privados/de usuario están fuera de los límites, y nunca debes eludir el DRM ni descargar audio. Usa solo metadatos públicos y revisa los términos. No es asesoría legal.
¿Con qué frecuencia puedo actualizar?
Las playlists y discografías cambian, así que vuelve a extraer con una programación regular dentro de tu plan y los límites de uso responsable, en lugar de hacer polling continuo.