Skip to content
DocumentationAPI Reference

Get User's Top Artists

client.Me.Top.ListTopArtists(ctx, query) (*CursorURLPage[ArtistObject], error)
GET/me/top/artists

Get the current user's top artists based on calculated affinity.

ParametersExpand Collapse
query MeTopListTopArtistsParams
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 item to return. Default: 0 (the first item). Use with limit to get the next set of items.

TimeRange param.Field[string]optional

Over what time frame the affinities are computed. Valid values: long_term (calculated from ~1 year of data and including all new data as it becomes available), medium_term (approximately last 6 months), short_term (approximately last 4 weeks). Default: medium_term

ReturnsExpand Collapse
type ArtistObject struct{…}
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.

Followers FollowersObjectoptional

Information about the followers of the artist.

Href stringoptional

This will always be set to null, as the Web API does not support it at the moment.

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

The total number of followers.

Genres []stringoptional

A list of the genres the artist is associated with. If not yet classified, the array is empty.

Href stringoptional

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

Images []ImageObjectoptional

Images of the artist 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 stringoptional

The name of the artist.

Popularity int64optional

The popularity of the artist. The value will be between 0 and 100, with 100 being the most popular. The artist's popularity is calculated from the popularity of all the artist's tracks.

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 ArtistObjectTypeoptional

The object type.

Uri stringoptional

The Spotify URI for the artist.

Get User's Top Artists

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.Me.Top.ListTopArtists(context.TODO(), spotted.MeTopListTopArtistsParams{

  })
  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",
      "external_urls": {
        "published": true,
        "spotify": "spotify"
      },
      "followers": {
        "href": "href",
        "published": true,
        "total": 0
      },
      "genres": [
        "Prog rock",
        "Grunge"
      ],
      "href": "href",
      "images": [
        {
          "height": 300,
          "url": "https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\n",
          "width": 300,
          "published": true
        }
      ],
      "name": "name",
      "popularity": 0,
      "published": true,
      "type": "artist",
      "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",
      "external_urls": {
        "published": true,
        "spotify": "spotify"
      },
      "followers": {
        "href": "href",
        "published": true,
        "total": 0
      },
      "genres": [
        "Prog rock",
        "Grunge"
      ],
      "href": "href",
      "images": [
        {
          "height": 300,
          "url": "https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228\n",
          "width": 300,
          "published": true
        }
      ],
      "name": "name",
      "popularity": 0,
      "published": true,
      "type": "artist",
      "uri": "uri"
    }
  ],
  "published": true
}