Skip to content
DocumentationAPI Reference

Get Playback State

PlayerGetStateResponse Me.Player.GetState(PlayerGetStateParams?parameters, CancellationTokencancellationToken = default)
GET/me/player

Get information about the user’s current playback state, including track or episode, progress, and active device.

ParametersExpand Collapse
PlayerGetStateParams parameters
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 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.

ReturnsExpand Collapse
class PlayerGetStateResponse:
Actions Actions

Allows to update the user interface based on which playback actions are available within the current context.

Boolean InterruptingPlayback

Interrupting playback. Optional field.

Boolean Pausing

Pausing. Optional field.

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

Boolean Resuming

Resuming. Optional field.

Boolean Seeking

Seeking playback location. Optional field.

Boolean SkippingNext

Skipping to the next context. Optional field.

Boolean SkippingPrev

Skipping to the previous context. Optional field.

Boolean TogglingRepeatContext

Toggling repeat context flag. Optional field.

Boolean TogglingRepeatTrack

Toggling repeat track flag. Optional field.

Boolean TogglingShuffle

Toggling shuffle flag. Optional field.

Boolean TransferringPlayback

Transfering playback between devices. Optional field.

A Context Object. Can be null.

ExternalUrlObject ExternalUrls

External URLs for this context.

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, e.g. "artist", "playlist", "album", "show".

string Uri

The Spotify URI for the context.

string CurrentlyPlayingType

The object type of the currently playing item. Can be one of track, episode, ad or unknown.

The device that is currently active.

string? ID

The device ID. This ID is unique and persistent to some extent. However, this is not guaranteed and any cached device_id should periodically be cleared out and refetched as necessary.

Boolean IsActive

If this device is the currently active device.

Boolean IsPrivateSession

If this device is currently in a private session.

Boolean IsRestricted

Whether controlling this device is restricted. At present if this is "true" then no Web API commands will be accepted by this device.

string Name

A human-readable name for the device. Some devices have a name that the user can configure (e.g. "Loudest speaker") and some devices have a generic name associated with the manufacturer or device model.

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

Boolean SupportsVolume

If this device can be used to set the volume.

string Type

Device type, such as "computer", "smartphone" or "speaker".

Long? VolumePercent

The current volume in percent.

minimum0
maximum100
Boolean IsPlaying

If something is currently playing, return true.

Item Item

The currently playing track or episode. Can be null.

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.

Long ProgressMs

Progress into the currently playing track or episode. 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

string RepeatState

off, track, context

Boolean ShuffleState

If shuffle is on or off.

Long Timestamp

Unix Millisecond Timestamp when playback state was last changed (play, pause, skip, scrub, new song, etc.).

formatint64

Get Playback State

PlayerGetStateParams parameters = new();

var response = await client.Me.Player.GetState(parameters);

Console.WriteLine(response);
{
  "actions": {
    "interrupting_playback": true,
    "pausing": true,
    "published": true,
    "resuming": true,
    "seeking": true,
    "skipping_next": true,
    "skipping_prev": true,
    "toggling_repeat_context": true,
    "toggling_repeat_track": true,
    "toggling_shuffle": true,
    "transferring_playback": true
  },
  "context": {
    "external_urls": {
      "published": true,
      "spotify": "spotify"
    },
    "href": "href",
    "published": true,
    "type": "type",
    "uri": "uri"
  },
  "currently_playing_type": "currently_playing_type",
  "device": {
    "id": "id",
    "is_active": true,
    "is_private_session": true,
    "is_restricted": true,
    "name": "Kitchen speaker",
    "published": true,
    "supports_volume": true,
    "type": "computer",
    "volume_percent": 59
  },
  "is_playing": true,
  "item": {
    "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"
  },
  "progress_ms": 0,
  "published": true,
  "repeat_state": "repeat_state",
  "shuffle_state": true,
  "timestamp": 0
}
Returns Examples
{
  "actions": {
    "interrupting_playback": true,
    "pausing": true,
    "published": true,
    "resuming": true,
    "seeking": true,
    "skipping_next": true,
    "skipping_prev": true,
    "toggling_repeat_context": true,
    "toggling_repeat_track": true,
    "toggling_shuffle": true,
    "transferring_playback": true
  },
  "context": {
    "external_urls": {
      "published": true,
      "spotify": "spotify"
    },
    "href": "href",
    "published": true,
    "type": "type",
    "uri": "uri"
  },
  "currently_playing_type": "currently_playing_type",
  "device": {
    "id": "id",
    "is_active": true,
    "is_private_session": true,
    "is_restricted": true,
    "name": "Kitchen speaker",
    "published": true,
    "supports_volume": true,
    "type": "computer",
    "volume_percent": 59
  },
  "is_playing": true,
  "item": {
    "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"
  },
  "progress_ms": 0,
  "published": true,
  "repeat_state": "repeat_state",
  "shuffle_state": true,
  "timestamp": 0
}