Discovery

Recommendations

Up to five seeds — any mix of track ids, artist ids and genres — in, a ranked list of similar tracks out, as one GET. Spotify removed its own /v1/recommendations for new apps on 27 Nov 2024; this one still answers.

GET /recommendations?limit=20

Seed set

0 / 5 seeds
150100

How seeding works

The endpoint takes seed_tracks, seed_artists and seed_genres as comma-separated lists, five across all three. Tune the result with audio-feature targets — target_energy, min_tempo, max_valence — or constrain it to a country with market.

Track and artist ids are the last segment of an open.spotify.com URL. The seed button on any result row below stages that track's id here.

Mood playlists

Generate a set for a target mood with audio-feature targets.

Taste matching

Recommend from a user's profile favourites in a social app.

Fitness apps

BPM-matched workout sets from tempo and energy filters.

Sleep and focus

Low-energy, instrumental picks to wind down or concentrate.

Discovery widgets

Embed 'more like this' on any track or artist page.

Retail soundtracks

Suggest in-store music by genre and brand mood.

AI DJ

Segue autonomously from one rec set into the next.

Regional programming

Curate background music per market with the market parameter.

Deprecated by Spotify on 27 Nov 2024 — for whom

Spotify's announcement of 27 November 2024 removed Recommendations (with Related Artists, Audio Features, Audio Analysis, Featured and Category Playlists, the genre-seed list and 30-second preview URLs) for new apps registered on or after that date and for existing apps still in development mode without a pending extension request. Apps that already held extended-quota access were not affected.

The request here takes the same seed parameters. What it does not replace: Spotify's user-personalised algorithmic playlists such as Discover Weekly, which were never an API endpoint.

Before — Spotify Web API

GET https://api.spotify.com/v1/recommendations?seed_tracks=0VjIjW4GlUZAMYd2vXMi3b&limit=10
Authorization: Bearer <OAuth access token>

→ 404 / 403 for apps registered after 27 Nov 2024

After — this API

GET https://spotify-proxy.checkleaked.cc/recommendations?seed_tracks=0VjIjW4GlUZAMYd2vXMi3b&limit=10
x-api-key: <your key>

→ 200, tracks[] with Spotify ids

The full map of deprecated endpoints and their equivalents here: Spotify Web API alternative. Source: Spotify for Developers, 27 Nov 2024.

FAQ

Is Spotify's /v1/recommendations really gone?

For new apps, yes. Since 27 November 2024 Spotify no longer serves Recommendations to apps registered after that date or to development-mode apps without a pending extension request; apps that already held extended quota kept access. This endpoint takes the same seed parameters with one API key and no OAuth.

Do Spotify track and artist ids stay the same?

Yes. Seeds are ordinary 22-character Spotify ids and the response carries Spotify ids, so existing id-based code keeps working after switching the base URL and the auth header.

How does the engine pick tracks?

It combines audio features — tempo, energy, danceability, valence, instrumentalness — with listening-graph signals to find tracks near your seeds.

Why five seeds?

More seeds dilute the signal. Five is enough to mix tracks, artists and genres without the result collapsing into something generic.

Can I tune the mood?

Yes. The endpoint accepts target_, min_ and max_ parameters for energy, danceability, valence, tempo, acousticness, instrumentalness and popularity.

Do genre-only seeds work?

Not reliably. The upstream model wants at least one track-shaped anchor and answers 'seeds need at least one track' for some genre-only sets. Pair a genre with a track or artist id.

Is the result reproducible?

Mostly. A small share rotates over time, which is what makes daily-refreshing playlists possible from a fixed seed set.

Can I cache it?

Yes — results are stable enough to cache for hours. Key the cache on sorted seeds plus limit plus market.

Add personalized recs to your app

No OAuth, no refresh tokens, no rate-limit plumbing.