Note · June 20, 2026

Download Spotify cover art in full resolution with Python

Pull the high-res cover for any track — no API key, no account. A one-liner for one, a small loop for a whole folder, and the option to bake it into a preview.

Cover art is one of the two things people actually come to Spotify’s data for — the other is the 30-second preview. The web player serves the art at full size to anyone who opens the link, so you don’t need the official API, an app registration, or OAuth to save it.

One cover, one line

from spotify_scraper import SpotifyClient

with SpotifyClient() as client:
    track = client.get_track("https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b")
    client.download_cover(track, dest="covers/")

download_cover grabs the largest image the page exposes and writes it into dest. Point it at a folder; it handles the filename.

A whole folder of them

Feed it a list of links and let it run:

urls = [
    "https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b",
    "https://open.spotify.com/track/7ouMYWpwJ422jRcDASZB7P",
]

with SpotifyClient() as client:
    for url in urls:
        track = client.get_track(url)
        client.download_cover(track, dest="covers/")
        print("saved", track.name)

If you’re pulling a long list, the async client overlaps the network while it resolves — see the async section in the intro. Either way, cache what you’ve fetched so you’re not asking twice.

Bake it into the preview

If you’re grabbing the preview as well, you can embed the cover straight into the MP3 in the same call:

client.download_preview(track, dest="previews/", embed_cover=True)

Now the file carries its own artwork — handy for a media library that reads tags.

The honest part

This is the public cover the web player already shows — for tools, archives, research, a tidy media folder. It’s metadata and art, not the song; full audio is DRM-protected and nothing here changes that. The library is an unofficial reader of public data, not affiliated with Spotify.

Want to see it before you script it? Try the live demo, then pip install spotifyscraper or read the source on GitHub.

boiler room — ali@aliakhtari.com