Skip to content
DocumentationAPI Reference

Get Artist's Albums

client.Artists.ListAlbums(ctx, id, query) (*CursorURLPage[ArtistListAlbumsResponse], error)
GET/artists/{id}/albums

Get Spotify catalog information about an artist's albums.

ParametersExpand Collapse
id string

The Spotify ID of the artist.

query ArtistListAlbumsParams
IncludeGroups param.Field[string]optional

A comma-separated list of keywords that will be used to filter the response. If not supplied, all album types will be returned.
Valid values are:
- album
- single
- appears_on
- compilation
For example: include_groups=album,single.

Limit param.Field[int64]optional

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

minimum1
maximum50
Market param.Field[string]optional

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.

Offset param.Field[int64]optional

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
type ArtistListAlbumsResponse struct{…}
ID string

The Spotify ID for the album.

AlbumGroup ArtistListAlbumsResponseAlbumGroup

This field describes the relationship between the artist and the album.

Accepts one of the following:
const ArtistListAlbumsResponseAlbumGroupAlbum ArtistListAlbumsResponseAlbumGroup = "album"
const ArtistListAlbumsResponseAlbumGroupSingle ArtistListAlbumsResponseAlbumGroup = "single"
const ArtistListAlbumsResponseAlbumGroupCompilation ArtistListAlbumsResponseAlbumGroup = "compilation"
const ArtistListAlbumsResponseAlbumGroupAppearsOn ArtistListAlbumsResponseAlbumGroup = "appears_on"
AlbumType ArtistListAlbumsResponseAlbumType

The type of the album.

Accepts one of the following:
const ArtistListAlbumsResponseAlbumTypeAlbum ArtistListAlbumsResponseAlbumType = "album"
const ArtistListAlbumsResponseAlbumTypeSingle ArtistListAlbumsResponseAlbumType = "single"
const ArtistListAlbumsResponseAlbumTypeCompilation ArtistListAlbumsResponseAlbumType = "compilation"

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

ID stringoptional

The Spotify ID for the artist.

ExternalURLs ExternalURLObjectoptional

Known external URLs for this artist.

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 artist.

Name stringoptional

The name of the artist.

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

Type SimplifiedArtistObjectTypeoptional

The object type.

Uri stringoptional

The Spotify URI for the artist.

AvailableMarkets []string

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.

ExternalURLs ExternalURLObject

Known external URLs for this album.

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 string

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

Images []ImageObject

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

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 string

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

ReleaseDate string

The date the album was first released.

ReleaseDatePrecision ArtistListAlbumsResponseReleaseDatePrecision

The precision with which release_date value is known.

Accepts one of the following:
const ArtistListAlbumsResponseReleaseDatePrecisionYear ArtistListAlbumsResponseReleaseDatePrecision = "year"
const ArtistListAlbumsResponseReleaseDatePrecisionMonth ArtistListAlbumsResponseReleaseDatePrecision = "month"
const ArtistListAlbumsResponseReleaseDatePrecisionDay ArtistListAlbumsResponseReleaseDatePrecision = "day"
TotalTracks int64

The number of tracks in the album.

Type Album

The object type.

Uri string

The Spotify URI for the album.

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

Restrictions AlbumRestrictionObjectoptional

Included in the response when a content restriction is applied.

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

Reason AlbumRestrictionObjectReasonoptional

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:
const AlbumRestrictionObjectReasonMarket AlbumRestrictionObjectReason = "market"
const AlbumRestrictionObjectReasonProduct AlbumRestrictionObjectReason = "product"
const AlbumRestrictionObjectReasonExplicit AlbumRestrictionObjectReason = "explicit"

Get Artist's Albums

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.Artists.ListAlbums(
    context.TODO(),
    "0TnOYISbd1XYRBk9myaseg",
    spotted.ArtistListAlbumsParams{

    },
  )
  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": "2up3OPMp9Tb4dAKM2erWXQ",
      "album_group": "compilation",
      "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"
      }
    }
  ],
  "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": "2up3OPMp9Tb4dAKM2erWXQ",
      "album_group": "compilation",
      "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"
      }
    }
  ],
  "published": true
}