Search + K

Command Palette

Search for a command to run...

Sign In

Get Recommendations

Deprecated
GET /recommendations
Copy endpoint
https://api.spotify.com/v1

Recommendations are generated based on the available information for a given seed entity and matched against similar artists and tracks. If there is sufficient information about the provided seeds, a list of tracks will be returned together with pool size details.

For artists and tracks that are very new or obscure there might not be enough data to generate a list of tracks.

Parameters

query Query Parameters

Name Type
limit
number
market
string
seed_artists required
string
seed_genres required
string
seed_tracks required
string
min_acousticness
number
max_acousticness
number
target_acousticness
number
min_danceability
number
max_danceability
number
target_danceability
number
min_duration_ms
number
max_duration_ms
number
target_duration_ms
number
min_energy
number
max_energy
number
target_energy
number
min_instrumentalness
number
max_instrumentalness
number
target_instrumentalness
number
min_key
number
max_key
number
target_key
number
min_liveness
number
max_liveness
number
target_liveness
number
min_loudness
number
max_loudness
number
target_loudness
number
min_mode
number
max_mode
number
target_mode
number
min_popularity
number
max_popularity
number
target_popularity
number
min_speechiness
number
max_speechiness
number
target_speechiness
number
min_tempo
number
max_tempo
number
target_tempo
number
min_time_signature
number
max_time_signature
number
target_time_signature
number
min_valence
number
max_valence
number
target_valence
number

Responses

200 application/json

A set of recommendations

interface RecommendationsObject {
seeds: RecommendationSeedObject
interface RecommendationSeedObject {
afterFilteringSize?: number;
afterRelinkingSize?: number;
href?: string;
id?: string;
initialPoolSize?: number;
type?: string;
}
[]
;
tracks: TrackObject
interface TrackObject {
album?: SimplifiedAlbumObject;
artists?: SimplifiedArtistObject[];
available_markets?: string[];
disc_number?: number;
duration_ms?: number;
explicit?: boolean;
external_ids?: ExternalIdObject;
external_urls?: ExternalUrlObject;
href?: string;
id?: string;
is_playable?: boolean;
linked_from?: {};
restrictions?: TrackRestrictionObject;
name?: string;
popularity?: number;
preview_url?: string | null;
track_number?: number;
type?: "track";
uri?: string;
is_local?: boolean;
}
[]
;
}

Client Errors

401 application/json

Bad or expired token. This can happen if the user revoked a token or the access token has expired. You should re-authenticate the user.

{ error: ErrorObject
interface ErrorObject {
status: number;
message: string;
}
; }
403 application/json

Bad OAuth request (wrong consumer key, bad nonce, expired timestamp...). Unfortunately, re-authenticating the user won't help here.

{ error: ErrorObject
interface ErrorObject {
status: number;
message: string;
}
; }
429 application/json

The app has exceeded its rate limits.

{ error: ErrorObject
interface ErrorObject {
status: number;
message: string;
}
; }