Skip to content
DocumentationAPI Reference

Get User's Top Artists

me().top().listTopArtists(TopListTopArtistsParamsparams = TopListTopArtistsParams.none(), RequestOptionsrequestOptions = RequestOptions.none()) : TopListTopArtistsPage
GET/me/top/artists

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

ParametersExpand Collapse
params: TopListTopArtistsParams
limit: Optional<Long>

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

minimum1
maximum50
offset: Optional<Long>

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

timeRange: Optional<String>

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
class ArtistObject:
id: Optional<String>

The Spotify ID for the artist.

externalUrls: Optional<ExternalUrlObject>

Known external URLs for this artist.

published: Optional<Boolean>

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: Optional<String>

The Spotify URL for the object.

followers: Optional<FollowersObject>

Information about the followers of the artist.

href: Optional<String>

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

published: Optional<Boolean>

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: Optional<Long>

The total number of followers.

genres: Optional<List<String>>

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

href: Optional<String>

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

images: Optional<List<ImageObject>>

Images of the artist in various sizes, widest first.

height: Optional<Long>

The image height in pixels.

url: String

The source URL of the image.

width: Optional<Long>

The image width in pixels.

published: Optional<Boolean>

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: Optional<String>

The name of the artist.

popularity: Optional<Long>

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: Optional<Boolean>

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: Optional<Type>

The object type.

uri: Optional<String>

The Spotify URI for the artist.

Get User's Top Artists

package dev.cjav.spotted.example

import dev.cjav.spotted.client.SpottedClient
import dev.cjav.spotted.client.okhttp.SpottedOkHttpClient
import dev.cjav.spotted.models.me.top.TopListTopArtistsPage
import dev.cjav.spotted.models.me.top.TopListTopArtistsParams

fun main() {
    val client: SpottedClient = SpottedOkHttpClient.fromEnv()

    val page: TopListTopArtistsPage = client.me().top().listTopArtists()
}
{
  "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
}