GET https://api.spotify.com/v1/playlists/{playlist_id}

Request Parameters

Path Parameters

Path Parameter Value
playlist_id The Spotify ID for the playlist.

Header Fields

Header Field Value
Authorization Required. A valid access token from the Spotify Accounts service: see the Web API Authorization Guide for details. Both Public and Private playlists belonging to any user are retrievable on provision of a valid access token.

Query Parameters

Query Parameter Value
fields Optional. Filters for the query: a comma-separated list of the fields to return. If omitted, all fields are returned. For example, to get just the playlist’s description and URI: fields=description,uri. A dot separator can be used to specify non-reoccurring fields, while parentheses can be used to specify reoccurring fields within objects. For example, to get just the added date and user ID of the adder: fields=tracks.items(added_at,added_by.id). Use multiple parentheses to drill down into nested objects, for example: fields=tracks.items(track(name,href,album(name,href))). Fields can be excluded by prefixing them with an exclamation mark, for example: fields=tracks.items(track(name,href,album(!name,href)))
market Optional. An ISO 3166-1 alpha-2 country code or the string from_token. Provide this parameter if you want to apply Track Relinking. For episodes, if a valid user access token is specified in the request header, the country associated with the user account will take priority over this parameter.
Note: If neither market or user country are provided, the episode is considered unavailable for the client.
additional_types Optional. A comma-separated list of item types that your client supports besides the default track type. Valid types are: track and episode. Note: This parameter was introduced to allow existing clients to maintain their current behaviour and might be deprecated in the future. In addition to providing this parameter, make sure that your client properly handles cases of new types in the future by checking against the type field of each object.

Response Format

On success, the response body contains a playlist object in JSON format and the HTTP status code in the response header is 200 OK. If an episode is unavailable in the given market, its information will not be included in the response. On error, the header status code is an error code and the response body contains an error object. Requesting playlists that you do not have the user’s authorization to access returns error 403 Forbidden.

For the description in the Playlist object, it should be expected that HTML will be escaped.

Example (get a user’s playlist)

curl -X GET "https://api.spotify.com/v1/playlists/59ZbFPES4DQwEjBpWHzrtC" -H "Authorization: Bearer {your access token}"
  "collaborative" : false,
  "description" : "Having friends over for dinner? Here´s the perfect playlist.",
  "external_urls" : {
    "spotify" : "http://open.spotify.com/user/spotify/playlist/59ZbFPES4DQwEjBpWHzrtC"
  "followers" : {
    "href" : null,
    "total" : 143350
  "href" : "https://api.spotify.com/v1/users/spotify/playlists/59ZbFPES4DQwEjBpWHzrtC",
  "id" : "59ZbFPES4DQwEjBpWHzrtC",
  "images" : [ {
    "url" : "https://i.scdn.co/image/68b6a65573a55095e9c0c0c33a274b18e0422736"
  } ],
  "name" : "Dinner with Friends",
  "owner" : {
    "external_urls" : {
      "spotify" : "http://open.spotify.com/user/spotify"
    "href" : "https://api.spotify.com/v1/users/spotify",
    "id" : "spotify",
    "type" : "user",
    "uri" : "spotify:user:spotify"
  "public" : null,
  "snapshot_id" : "bNLWdmhh+HDsbHzhckXeDC0uyKyg4FjPI/KEsKjAE526usnz2LxwgyBoMShVL+z+",
  "tracks" : {
    "href" : "https://api.spotify.com/v1/users/spotify/playlists/59ZbFPES4DQwEjBpWHzrtC/tracks",
    "items" : [ {
      "added_at" : "2014-09-01T04:21:28Z",
      "added_by" : {
        "external_urls" : {
          "spotify" : "http://open.spotify.com/user/spotify"
        "href" : "https://api.spotify.com/v1/users/spotify",
        "id" : "spotify",
        "type" : "user",
        "uri" : "spotify:user:spotify"
      "is_local" : false,
      "track" : {
        "album" : {
          "album_type" : "single",
          "available_markets" : [ "AD", "AR", "AT", "AU", "BE", "BG", "BO", "BR", "CH", "CL", "CO", "CR", "CY", "CZ", "DK", "DO", "EC", "EE", "ES", "FI", "FR", "GB", "GR", "GT", "HK", "HN", "HU", "IE", "IS", "IT", "LI", "LT", "LU", "LV", "MC", "MT", "MY", "NI", "NL", "NO", "NZ", "PA", "PE", "PH", "PL", "PT", "PY", "RO", "SE", "SG", "SI", "SK", "SV", "TR", "TW", "UY" ],
          "external_urls" : {
            "spotify" : "https://open.spotify.com/album/5GWoXPsTQylMuaZ84PC563"
          "href" : "https://api.spotify.com/v1/albums/5GWoXPsTQylMuaZ84PC563",
          "id" : "5GWoXPsTQylMuaZ84PC563",
          "images" : [ {
            "height" : 640,
            "url" : "https://i.scdn.co/image/47421900e7534789603de84c03a40a826c058e45",
            "width" : 640
          }, {
            "height" : 300,
            "url" : "https://i.scdn.co/image/0d447b6faae870f890dc5780cc58d9afdbc36a1d",
            "width" : 300
          }, {
            "height" : 64,
            "url" : "https://i.scdn.co/image/d926b3e5f435ef3ac0874b1ff1571cf675b3ef3b",
            "width" : 64
          } ],
          "name" : "I'm Not The Only One",
          "type" : "album",
          "uri" : "spotify:album:5GWoXPsTQylMuaZ84PC563"
        "artists" : [ {
          "external_urls" : {
            "spotify" : "https://open.spotify.com/artist/2wY79sveU1sp5g7SokKOiI"
          "href" : "https://api.spotify.com/v1/artists/2wY79sveU1sp5g7SokKOiI",
          "id" : "2wY79sveU1sp5g7SokKOiI",
          "name" : "Sam Smith",
          "type" : "artist",
          "uri" : "spotify:artist:2wY79sveU1sp5g7SokKOiI"
        } ],
        "available_markets" : [ "AD", "AR", "AT", "AU", "BE", "BG", "BO", "BR", "CH", "CL", "CO", "CR", "CY", "CZ", "DK", "DO", "EC", "EE", "ES", "FI", "FR", "GB", "GR", "GT", "HK", "HN", "HU", "IE", "IS", "IT", "LI", "LT", "LU", "LV", "MC", "MT", "MY", "NI", "NL", "NO", "NZ", "PA", "PE", "PH", "PL", "PT", "PY", "RO", "SE", "SG", "SI", "SK", "SV", "TR", "TW", "UY" ],
        "disc_number" : 1,
        "duration_ms" : 204732,
        "explicit" : false,
        "external_ids" : {
          "isrc" : "GBUM71403920"
        "external_urls" : {
          "spotify" : "https://open.spotify.com/track/4i9sYtSIlR80bxje5B3rUb"
        "href" : "https://api.spotify.com/v1/tracks/4i9sYtSIlR80bxje5B3rUb",
        "id" : "4i9sYtSIlR80bxje5B3rUb",
        "name" : "I'm Not The Only One - Radio Edit",
        "popularity" : 45,
        "preview_url" : "https://p.scdn.co/mp3-preview/dd64cca26c69e93ea78f1fff2cc4889396bb6d2f",
        "track_number" : 1,
        "type" : "track",
        "uri" : "spotify:track:4i9sYtSIlR80bxje5B3rUb"
    "limit" : 100,
    "next" : "https://api.spotify.com/v1/users/spotify/playlists/59ZbFPES4DQwEjBpWHzrtC/tracks?offset=100&limit=100",
    "offset" : 0,
    "previous" : null,
    "total" : 105
  "type" : "playlist",
  "uri" : "spotify:user:spotify:playlist:59ZbFPES4DQwEjBpWHzrtC"

Try it

Example (get selected fields of a playlist)

curl -X GET "https://api.spotify.com/v1/playlists/59ZbFPES4DQwEjBpWHzrtC?fields=href,name,owner(!href,external_urls),tracks.items(added_by.id,track(name,href,album(name,href)))" -H "Authorization: Bearer {your access token}"

Try it

playlist object (full)

Key Value Type Value Description
collaborative Boolean true if the owner allows other users to modify the playlist.
description string The playlist description. Only returned for modified, verified playlists, otherwise null .
external_urls an external URL object Known external URLs for this playlist.
followers a followers object Information about the followers of the playlist.
href string A link to the Web API endpoint providing full details of the playlist.
id string The Spotify ID for the playlist.
images an array of image objects Images for the playlist. The array may be empty or contain up to three images. The images are returned by size in descending order. See Working with Playlists. Note: If returned, the source URL for the image ( url ) is temporary and will expire in less than a day.
name string The name of the playlist.
owner a public user object The user who owns the playlist
public Boolean or null The playlist’s public/private status: true the playlist is public, false the playlist is private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists.
snapshot_id string The version identifier for the current playlist. Can be supplied in other requests to target a specific playlist version: see Remove tracks from a playlist
tracks array of playlist track objects inside a paging object Information about the tracks of the playlist. Note, a track object may be null. This can happen if a track is no longer available.
type string The object type: “playlist”
uri string The Spotify URI for the playlist.

paging object

Key Value Type Value Description
href string A link to the Web API endpoint returning the full result of the request.
items an array of objects The requested data.
limit integer The maximum number of items in the response (as set in the query or by default).
next string URL to the next page of items. ( null if none)
offset integer The offset of the items returned (as set in the query or by default).
previous string URL to the previous page of items. ( null if none)
total integer The total number of items available to return.

NOTE: looking for GET https://api.spotify.com/v1/users/{user_id}/playlists/{playlist_id}? Read the blog post.