Skip to content
DocumentationAPI Reference

Get Playlist Items

TrackListPageResponse Playlists.Tracks.List(TrackListParamsparameters, CancellationTokencancellationToken = default)
GET/playlists/{playlist_id}/tracks

Get full details of the items of a playlist owned by a Spotify user.

ParametersExpand Collapse
TrackListParams parameters
required string playlistID

The Spotify ID of the playlist.

string additionalTypes

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.

string fields

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 total number of items and the request limit:
fields=total,limit
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=items(added_at,added_by.id)
Use multiple parentheses to drill down into nested objects, for example:
fields=items(track(name,href,album(name,href)))
Fields can be excluded by prefixing them with an exclamation mark, for example:
fields=items.track.album(!external_urls,images)

Long limit

The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 100.

minimum1
maximum100
string market

An ISO 3166-1 alpha-2 country code. If a country code is specified, only content that is available in that market will be returned.
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 content is considered unavailable for the client.
Users can view the country that is associated with their account in the account settings.

Long offset

The index of the first item to return. Default: 0 (the first item). Use with limit to get the next set of items.

ReturnsExpand Collapse
class TrackListPageResponse:
required string Href

A link to the Web API endpoint returning the full result of the request

required Long Limit

The maximum number of items in the response (as set in the query or by default).

URL to the next page of items. ( null if none)

required Long Offset

The offset of the items returned (as set in the query or by default)

URL to the previous page of items. ( null if none)

required Long Total

The total number of items available to return.

IReadOnlyList<PlaylistTrackObject> Items
DateTimeOffset AddedAt

The date and time the track or episode was added. Note: some very old playlists may return null in this field.

formatdate-time

The Spotify user who added the track or episode. Note: some very old playlists may return null in this field.

string ID

The Spotify user ID for this user.

ExternalUrlObject ExternalUrls

Known public external URLs for this user.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

string Spotify

The Spotify URL for the object.

string Href

A link to the Web API endpoint for this user.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Type Type

The object type.

string Uri

The Spotify URI for this user.

Boolean IsLocal

Whether this track or episode is a local file or not.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Track Track

Information about the track or episode.

Accepts one of the following:
class TrackObject:
string ID

The Spotify ID for the track.

Album Album

The album on which the track appears. The album object includes a link in href to full information about the album.

required string ID

The Spotify ID for the album.

required AlbumType AlbumType

The type of the album.

Accepts one of the following:
"album"Album
"single"Single
"compilation"Compilation
required IReadOnlyList<SimplifiedArtistObject> Artists

The artists of the album. Each artist object includes a link in href to more detailed information about the artist.

string ID

The Spotify ID for the artist.

ExternalUrlObject ExternalUrls

Known external URLs for this artist.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

string Spotify

The Spotify URL for the object.

string Href

A link to the Web API endpoint providing full details of the artist.

string Name

The name of the artist.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Type Type

The object type.

string Uri

The Spotify URI for the artist.

required IReadOnlyList<string> AvailableMarkets

The markets in which the album is available: ISO 3166-1 alpha-2 country codes. NOTE: an album is considered available in a market when at least 1 of its tracks is available in that market.

required ExternalUrlObject ExternalUrls

Known external URLs for this album.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

string Spotify

The Spotify URL for the object.

required string Href

A link to the Web API endpoint providing full details of the album.

required IReadOnlyList<ImageObject> Images

The cover art for the album in various sizes, widest first.

required Long? Height

The image height in pixels.

required string Url

The source URL of the image.

required Long? Width

The image width in pixels.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

required string Name

The name of the album. In case of an album takedown, the value may be an empty string.

required string ReleaseDate

The date the album was first released.

required ReleaseDatePrecision ReleaseDatePrecision

The precision with which release_date value is known.

Accepts one of the following:
"year"Year
"month"Month
"day"Day
required Long TotalTracks

The number of tracks in the album.

JsonElement Type "album"constant

The object type.

required string Uri

The Spotify URI for the album.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Included in the response when a content restriction is applied.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Reason Reason

The reason for the restriction. Albums may be restricted if the content is not available in a given market, to the user's subscription type, or when the user's account is set to not play explicit content. Additional reasons may be added in the future.

Accepts one of the following:
"market"Market
"product"Product
"explicit"Explicit
IReadOnlyList<SimplifiedArtistObject> Artists

The artists who performed the track. Each artist object includes a link in href to more detailed information about the artist.

string ID

The Spotify ID for the artist.

ExternalUrlObject ExternalUrls

Known external URLs for this artist.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

string Spotify

The Spotify URL for the object.

string Href

A link to the Web API endpoint providing full details of the artist.

string Name

The name of the artist.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Type Type

The object type.

string Uri

The Spotify URI for the artist.

IReadOnlyList<string> AvailableMarkets

A list of the countries in which the track can be played, identified by their ISO 3166-1 alpha-2 code.

Long DiscNumber

The disc number (usually 1 unless the album consists of more than one disc).

Long DurationMs

The track length in milliseconds.

Boolean Explicit

Whether or not the track has explicit lyrics ( true = yes it does; false = no it does not OR unknown).

ExternalIDObject ExternalIds

Known external IDs for the track.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

ExternalUrlObject ExternalUrls

Known external URLs for this track.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

string Spotify

The Spotify URL for the object.

string Href

A link to the Web API endpoint providing full details of the track.

Boolean IsLocal

Whether or not the track is from a local file.

Boolean IsPlayable

Part of the response when Track Relinking is applied. If true, the track is playable in the given market. Otherwise false.

Part of the response when Track Relinking is applied, and the requested track has been replaced with different track. The track in the linked_from object contains information about the originally requested track.

string ID

The Spotify ID for the track.

ExternalUrlObject ExternalUrls

Known external URLs for this track.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

string Spotify

The Spotify URL for the object.

string Href

A link to the Web API endpoint providing full details of the track.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

string Type

The object type: "track".

string Uri

The Spotify URI for the track.

string Name

The name of the track.

Long Popularity

The popularity of the track. The value will be between 0 and 100, with 100 being the most popular.
The popularity of a track is a value between 0 and 100, with 100 being the most popular. The popularity is calculated by algorithm and is based, in the most part, on the total number of plays the track has had and how recent those plays are.
Generally speaking, songs that are being played a lot now will have a higher popularity than songs that were played a lot in the past. Duplicate tracks (e.g. the same track from a single and an album) are rated independently. Artist and album popularity is derived mathematically from track popularity. Note: the popularity value may lag actual popularity by a few days: the value is not updated in real time.

Deprecatedstring? PreviewUrl

A link to a 30 second preview (MP3 format) of the track. Can be null

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Included in the response when a content restriction is applied.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

string Reason

The reason for the restriction. Supported values:

  • market - The content item is not available in the given market.
  • product - The content item is not available for the user's subscription type.
  • explicit - The content item is explicit and the user's account is set to not play explicit content.

Additional reasons may be added in the future. Note: If you use this field, make sure that your application safely handles unknown values.

Long TrackNumber

The number of the track. If an album has several discs, the track number is the number on the specified disc.

Type Type

The object type: "track".

string Uri

The Spotify URI for the track.

class EpisodeObject:
required string ID

The Spotify ID for the episode.

Deprecatedrequired string? AudioPreviewUrl

A URL to a 30 second preview (MP3 format) of the episode. null if not available.

required string Description

A description of the episode. HTML tags are stripped away from this field, use html_description field in case HTML tags are needed.

required Long DurationMs

The episode length in milliseconds.

required Boolean Explicit

Whether or not the episode has explicit content (true = yes it does; false = no it does not OR unknown).

required ExternalUrlObject ExternalUrls

External URLs for this episode.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

string Spotify

The Spotify URL for the object.

required string Href

A link to the Web API endpoint providing full details of the episode.

required string HtmlDescription

A description of the episode. This field may contain HTML tags.

required IReadOnlyList<ImageObject> Images

The cover art for the episode in various sizes, widest first.

required Long? Height

The image height in pixels.

required string Url

The source URL of the image.

required Long? Width

The image width in pixels.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

required Boolean IsExternallyHosted

True if the episode is hosted outside of Spotify's CDN.

required Boolean IsPlayable

True if the episode is playable in the given market. Otherwise false.

required IReadOnlyList<string> Languages

A list of the languages used in the episode, identified by their ISO 639-1 code.

required string Name

The name of the episode.

required string ReleaseDate

The date the episode was first released, for example "1981-12-15". Depending on the precision, it might be shown as "1981" or "1981-12".

required ReleaseDatePrecision ReleaseDatePrecision

The precision with which release_date value is known.

Accepts one of the following:
"year"Year
"month"Month
"day"Day
required ShowBase Show

The show on which the episode belongs.

required string ID

The Spotify ID for the show.

required IReadOnlyList<string> AvailableMarkets

A list of the countries in which the show can be played, identified by their ISO 3166-1 alpha-2 code.

required IReadOnlyList<CopyrightObject> Copyrights

The copyright statements of the show.

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

The copyright text for this content.

The type of copyright: C = the copyright, P = the sound recording (performance) copyright.

required string Description

A description of the show. HTML tags are stripped away from this field, use html_description field in case HTML tags are needed.

required Boolean Explicit

Whether or not the show has explicit content (true = yes it does; false = no it does not OR unknown).

required ExternalUrlObject ExternalUrls

External URLs for this show.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

string Spotify

The Spotify URL for the object.

required string Href

A link to the Web API endpoint providing full details of the show.

required string HtmlDescription

A description of the show. This field may contain HTML tags.

required IReadOnlyList<ImageObject> Images

The cover art for the show in various sizes, widest first.

required Long? Height

The image height in pixels.

required string Url

The source URL of the image.

required Long? Width

The image width in pixels.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

required Boolean IsExternallyHosted

True if all of the shows episodes are hosted outside of Spotify's CDN. This field might be null in some cases.

required IReadOnlyList<string> Languages

A list of the languages used in the show, identified by their ISO 639 code.

required string MediaType

The media type of the show.

required string Name

The name of the episode.

required string Publisher

The publisher of the show.

required Long TotalEpisodes

The total number of episodes in the show.

JsonElement Type "show"constant

The object type.

required string Uri

The Spotify URI for the show.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

JsonElement Type "episode"constant

The object type.

required string Uri

The Spotify URI for the episode.

Deprecatedstring Language

The language used in the episode, identified by a ISO 639 code. This field is deprecated and might be removed in the future. Please use the languages field instead.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Included in the response when a content restriction is applied.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

string Reason

The reason for the restriction. Supported values:

  • market - The content item is not available in the given market.
  • product - The content item is not available for the user's subscription type.
  • explicit - The content item is explicit and the user's account is set to not play explicit content.

Additional reasons may be added in the future. Note: If you use this field, make sure that your application safely handles unknown values.

ResumePointObject ResumePoint

The user's most recent position in the episode. Set if the supplied access token is a user token and has the scope 'user-read-playback-position'.

Boolean FullyPlayed

Whether or not the episode has been fully played by the user.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Long ResumePositionMs

The user's most recent position in the episode in milliseconds.

Boolean Published

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

Get Playlist Items

TrackListParams parameters = new() { PlaylistID = "3cEYpjA9oz9GiPac4AsH4n" };

var page = await client.Playlists.Tracks.List(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
{
  "href": "https://api.spotify.com/v1/me/shows?offset=0&limit=20\n",
  "limit": 20,
  "next": "https://api.spotify.com/v1/me/shows?offset=1&limit=1",
  "offset": 0,
  "previous": "https://api.spotify.com/v1/me/shows?offset=1&limit=1",
  "total": 4,
  "items": [
    {
      "added_at": "2019-12-27T18:11:19.117Z",
      "added_by": {
        "id": "id",
        "external_urls": {
          "published": true,
          "spotify": "spotify"
        },
        "href": "href",
        "published": true,
        "type": "user",
        "uri": "uri"
      },
      "is_local": true,
      "published": true,
      "track": {
        "id": "id",
        "album": {
          "id": "2up3OPMp9Tb4dAKM2erWXQ",
          "album_type": "compilation",
          "artists": [
            {
              "id": "id",
              "external_urls": {
                "published": true,
                "spotify": "spotify"
              },
              "href": "href",
              "name": "name",
              "published": true,
              "type": "artist",
              "uri": "uri"
            }
          ],
          "available_markets": [
            "CA",
            "BR",
            "IT"
          ],
          "external_urls": {
            "published": true,
            "spotify": "spotify"
          },
          "href": "href",
          "images": [
            {
              "height": 300,
              "url": "https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\n",
              "width": 300,
              "published": true
            }
          ],
          "name": "name",
          "release_date": "1981-12",
          "release_date_precision": "year",
          "total_tracks": 9,
          "type": "album",
          "uri": "spotify:album:2up3OPMp9Tb4dAKM2erWXQ",
          "published": true,
          "restrictions": {
            "published": true,
            "reason": "market"
          }
        },
        "artists": [
          {
            "id": "id",
            "external_urls": {
              "published": true,
              "spotify": "spotify"
            },
            "href": "href",
            "name": "name",
            "published": true,
            "type": "artist",
            "uri": "uri"
          }
        ],
        "available_markets": [
          "string"
        ],
        "disc_number": 0,
        "duration_ms": 0,
        "explicit": true,
        "external_ids": {
          "ean": "ean",
          "isrc": "isrc",
          "published": true,
          "upc": "upc"
        },
        "external_urls": {
          "published": true,
          "spotify": "spotify"
        },
        "href": "href",
        "is_local": true,
        "is_playable": true,
        "linked_from": {
          "id": "id",
          "external_urls": {
            "published": true,
            "spotify": "spotify"
          },
          "href": "href",
          "published": true,
          "type": "type",
          "uri": "uri"
        },
        "name": "name",
        "popularity": 0,
        "preview_url": "preview_url",
        "published": true,
        "restrictions": {
          "published": true,
          "reason": "reason"
        },
        "track_number": 0,
        "type": "track",
        "uri": "uri"
      }
    }
  ],
  "published": true
}
Returns Examples
{
  "href": "https://api.spotify.com/v1/me/shows?offset=0&limit=20\n",
  "limit": 20,
  "next": "https://api.spotify.com/v1/me/shows?offset=1&limit=1",
  "offset": 0,
  "previous": "https://api.spotify.com/v1/me/shows?offset=1&limit=1",
  "total": 4,
  "items": [
    {
      "added_at": "2019-12-27T18:11:19.117Z",
      "added_by": {
        "id": "id",
        "external_urls": {
          "published": true,
          "spotify": "spotify"
        },
        "href": "href",
        "published": true,
        "type": "user",
        "uri": "uri"
      },
      "is_local": true,
      "published": true,
      "track": {
        "id": "id",
        "album": {
          "id": "2up3OPMp9Tb4dAKM2erWXQ",
          "album_type": "compilation",
          "artists": [
            {
              "id": "id",
              "external_urls": {
                "published": true,
                "spotify": "spotify"
              },
              "href": "href",
              "name": "name",
              "published": true,
              "type": "artist",
              "uri": "uri"
            }
          ],
          "available_markets": [
            "CA",
            "BR",
            "IT"
          ],
          "external_urls": {
            "published": true,
            "spotify": "spotify"
          },
          "href": "href",
          "images": [
            {
              "height": 300,
              "url": "https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\n",
              "width": 300,
              "published": true
            }
          ],
          "name": "name",
          "release_date": "1981-12",
          "release_date_precision": "year",
          "total_tracks": 9,
          "type": "album",
          "uri": "spotify:album:2up3OPMp9Tb4dAKM2erWXQ",
          "published": true,
          "restrictions": {
            "published": true,
            "reason": "market"
          }
        },
        "artists": [
          {
            "id": "id",
            "external_urls": {
              "published": true,
              "spotify": "spotify"
            },
            "href": "href",
            "name": "name",
            "published": true,
            "type": "artist",
            "uri": "uri"
          }
        ],
        "available_markets": [
          "string"
        ],
        "disc_number": 0,
        "duration_ms": 0,
        "explicit": true,
        "external_ids": {
          "ean": "ean",
          "isrc": "isrc",
          "published": true,
          "upc": "upc"
        },
        "external_urls": {
          "published": true,
          "spotify": "spotify"
        },
        "href": "href",
        "is_local": true,
        "is_playable": true,
        "linked_from": {
          "id": "id",
          "external_urls": {
            "published": true,
            "spotify": "spotify"
          },
          "href": "href",
          "published": true,
          "type": "type",
          "uri": "uri"
        },
        "name": "name",
        "popularity": 0,
        "preview_url": "preview_url",
        "published": true,
        "restrictions": {
          "published": true,
          "reason": "reason"
        },
        "track_number": 0,
        "type": "track",
        "uri": "uri"
      }
    }
  ],
  "published": true
}