Guide

Spotify audio features API after the 2024 deprecation: tempo, energy, danceability, recommendations

On 27 November 2024 Spotify removed audio features, audio analysis, recommendations and related artists from the Web API for newly registered apps and for apps in development mode. The three that have an equivalent here — audio features, recommendations and related artists — are documented below, with the one that does not.

By Eduardo Airaudo, maintainer of the API · Updated 15 September 2026

What changed, and for whom

Spotify's announcement names the removed endpoints — Related Artists, Recommendations, Audio Features, Audio Analysis, Featured Playlists, Category Playlists, the genre-seed list, algorithmic and Spotify-owned editorial playlists, and 30-second preview URLs in multi-get responses — and limits the removal to two groups: apps registered after that date, and apps still in development mode without a pending extension request. Apps that already held extended quota kept access.

For anyone starting a project now, that is every project. A new app calling GET /v1/audio-features receives a 403, and there is no scope, plan or form that changes it. The endpoints below return the same kind of data behind one API key instead of an OAuth app registration.

The three that map, and the one that does not

GET /v1/audio-features?ids=
GET /audio_features

Twelve features per track: tempo, energy, danceability, valence, key, mode and more. ids is comma-separated.

GET /v1/recommendations
GET /recommendations

seed_tracks, seed_artists, seed_genres and limit. Genre-only seed sets are rejected upstream.

GET /v1/artists/{id}/related-artists
GET /artist_related

The related-artists block of the artist page, with a recorded sample on its endpoint page.

GET /v1/audio-analysis/{id}
No equivalent

The beat, bar and segment grid is not served here. Audio features cover the track-level numbers only.

Audio features: one call, many tracks

GET /audio_features?ids= takes one or more comma-separated track ids and returns twelve features per track — tempo, energy, danceability, valence, key, mode and the rest of the set the official endpoint returned. The parameter is ids, plural, even for a single track; the singular form is rejected with a 400.

This endpoint has no recorded sample on this site, so its page shows the live path only — press Run there to see a real response rather than a description of one. The audio features demo draws the same response as a chart.

Recommendations and related artists

GET /recommendations takes the same three seed parameters as the official endpoint — seed_tracks, seed_artists, seed_genres — plus limit. One difference to plan for: a request seeded by genres alone is rejected upstream, so pair a genre with at least one track or artist id.

GET /artist_related?id= returns the related-artists block of the artist page. The recorded response, captured 2025-06-07, lists relatedContent.relatedArtists.items[] with an id, a URI, a profile name and visuals per artist, and a totalCount of 40.

Questions

Is the Spotify audio features endpoint gone for everyone?

No. Spotify's 27 November 2024 post removed it for apps registered after that date and for development-mode apps without a pending extension request. Apps that already had extended quota kept it. A new project cannot obtain it.

Are these the same twelve features Spotify returned?

The endpoint returns the track-level feature set — tempo, energy, danceability, valence, key, mode and the rest. Run it on the endpoint page to read the exact keys from a live response; this site does not describe a response it has not recorded.

How many tracks can I pass to /audio_features at once?

ids is comma-separated and accepts one or more track ids. The spec sets no maximum for this endpoint; the batch endpoints elsewhere in the reference cap at 25 ids, which is a sensible batch size here too.

Does /recommendations accept the same seeds as Spotify's did?

Yes: seed_tracks, seed_artists and seed_genres, plus limit. There is no separate genre-seed list endpoint; pass genres directly. A request with genres only and no track or artist id is rejected upstream.

What about audio analysis — beats, bars, segments?

There is no equivalent here. /audio_features returns the per-track numbers; the time-aligned analysis grid Spotify used to serve is not available through this API.

Do I need OAuth or an app registration?

No. One API key in a header. Apify runs need no key at all. The guide on calling the API without OAuth covers what a key can and cannot do.

Sources

Get a key and fetch the features

No app registration, no extension request. RapidAPI's free tier is 1,000 requests a month; every plan includes every endpoint.