Skip to content
DocumentationAPI Reference

Get User's Playlists

client.Users.Playlists.List(ctx, userID, query) (*CursorURLPage[SimplifiedPlaylistObject], error)
GET/users/{user_id}/playlists

Get a list of the playlists owned or followed by a Spotify user.

ParametersExpand Collapse
userID string

The user's Spotify user ID.

query UserPlaylistListParams
Limit param.Field[int64]optional

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

minimum1
maximum50
Offset param.Field[int64]optional

The index of the first playlist to return. Default: 0 (the first object). Maximum offset: 100.000. Use with limit to get the next set of playlists.

ReturnsExpand Collapse
type SimplifiedPlaylistObject struct{…}
ID stringoptional

The Spotify ID for the playlist.

Collaborative booloptional

true if the owner allows other users to modify the playlist.

Description stringoptional

The playlist description. Only returned for modified, verified playlists, otherwise null.

ExternalURLs ExternalURLObjectoptional

Known external URLs for this playlist.

Published booloptional

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

Spotify stringoptional

The Spotify URL for the object.

Href stringoptional

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

Images []ImageObjectoptional

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.

Height int64

The image height in pixels.

URL string

The source URL of the image.

Width int64

The image width in pixels.

Published booloptional

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

Name stringoptional

The name of the playlist.

Owner SimplifiedPlaylistObjectOwneroptional

The user who owns the playlist

DisplayName stringoptional

The name displayed on the user's profile. null if not available.

Published booloptional

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

SnapshotID stringoptional

The version identifier for the current playlist. Can be supplied in other requests to target a specific playlist version

A collection containing a link ( href ) to the Web API endpoint where full details of the playlist's tracks can be retrieved, along with the total number of tracks in the playlist. Note, a track object may be null. This can happen if a track is no longer available.

Href stringoptional

A link to the Web API endpoint where full details of the playlist's tracks can be retrieved.

Published booloptional

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

Total int64optional

Number of tracks in the playlist.

Type stringoptional

The object type: "playlist"

Uri stringoptional

The Spotify URI for the playlist.

Get User's Playlists

package main

import (
  "context"
  "fmt"

  "github.com/cjavdev/spotted-go"
  "github.com/cjavdev/spotted-go/option"
)

func main() {
  client := spotted.NewClient(
    option.WithAccessToken("My Access Token"),
  )
  page, err := client.Users.Playlists.List(
    context.TODO(),
    "smedjan",
    spotted.UserPlaylistListParams{

    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}
{
  "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": [
    {
      "id": "id",
      "collaborative": true,
      "description": "description",
      "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",
      "owner": {
        "id": "id",
        "external_urls": {
          "published": true,
          "spotify": "spotify"
        },
        "href": "href",
        "published": true,
        "type": "user",
        "uri": "uri",
        "display_name": "display_name"
      },
      "published": true,
      "snapshot_id": "snapshot_id",
      "tracks": {
        "href": "href",
        "published": true,
        "total": 0
      },
      "type": "type",
      "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": [
    {
      "id": "id",
      "collaborative": true,
      "description": "description",
      "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",
      "owner": {
        "id": "id",
        "external_urls": {
          "published": true,
          "spotify": "spotify"
        },
        "href": "href",
        "published": true,
        "type": "user",
        "uri": "uri",
        "display_name": "display_name"
      },
      "published": true,
      "snapshot_id": "snapshot_id",
      "tracks": {
        "href": "href",
        "published": true,
        "total": 0
      },
      "type": "type",
      "uri": "uri"
    }
  ],
  "published": true
}