Get Playback State
Get information about the user’s current playback state, including track or episode, progress, and active device.
The Spotify Platform can not be used to develop commercial streaming integrations.
More informationThe Spotify Platform can not be used to develop applications that alter Spotify Content.
More informationYou may not synchronize any sound recordings with any visual media, including any advertising, film, television program, slideshow, video, or similar content
More informationThe Spotify Platform can not be used for non-interactive broadcasting.
More information
Read your currently playing content and Spotify Connect devices information.
Request
- marketstring
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.Example:market=ES
- additional_typesstring
A comma-separated list of item types that your client supports besides the default
track
type. Valid types are:track
andepisode
.
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 thetype
field of each object.
Response
Information about playback
The device that is currently active.
- idstringNullable
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. - is_activeboolean
If this device is the currently active device.
- is_private_sessionboolean
If this device is currently in a private session.
- is_restrictedboolean
Whether controlling this device is restricted. At present if this is "true" then no Web API commands will be accepted by this device.
- namestring
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.
Example:"Kitchen speaker"
- typestring
Device type, such as "computer", "smartphone" or "speaker".
Example:"computer"
- volume_percentintegerNullable
The current volume in percent.
Range:0
-100
Example:59
- supports_volumeboolean
If this device can be used to set the volume.
- repeat_statestring
off, track, context
- shuffle_stateboolean
If shuffle is on or off.
A Context Object. Can be
null
.- typestring
The object type, e.g. "artist", "playlist", "album", "show".
- hrefstring
A link to the Web API endpoint providing full details of the track.
External URLs for this context.
- spotifystring
The Spotify URL for the object.
- uristring
The Spotify URI for the context.
- timestampinteger
Unix Millisecond Timestamp when playback state was last changed (play, pause, skip, scrub, new song, etc.).
- progress_msinteger
Progress into the currently playing track or episode. Can be
null
. - is_playingboolean
If something is currently playing, return
true
. - itemoneOfWill be one of the following:
The currently playing track or episode. Can be
null
.The album on which the track appears. The album object includes a link in
href
to full information about the album.- album_typestringRequired
The type of the album.
Allowed values:"album"
,"single"
,"compilation"
Example:"compilation"
- total_tracksintegerRequired
The number of tracks in the album.
Example:9
- available_marketsarray of stringsRequired
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.
Example:["CA","BR","IT"]
- Required
Known external URLs for this album.
- spotifystring
The Spotify URL for the object.
- hrefstringRequired
A link to the Web API endpoint providing full details of the album.
- idstringRequired
The Spotify ID for the album.
Example:"2up3OPMp9Tb4dAKM2erWXQ"
- Required
The cover art for the album in various sizes, widest first.
- namestringRequired
The name of the album. In case of an album takedown, the value may be an empty string.
- release_datestringRequired
The date the album was first released.
Example:"1981-12"
- release_date_precisionstringRequired
The precision with which
release_date
value is known.Allowed values:"year"
,"month"
,"day"
Example:"year"
Included in the response when a content restriction is applied.
- reasonstring
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.
Allowed values:"market"
,"product"
,"explicit"
- typestringRequired
The object type.
Allowed values:"album"
- uristringRequired
The Spotify URI for the album.
Example:"spotify:album:2up3OPMp9Tb4dAKM2erWXQ"
- Required
The artists of the album. Each artist object includes a link in
href
to more detailed information about the artist.
The artists who performed the track. Each artist object includes a link in
href
to more detailed information about the artist.- available_marketsarray of strings
A list of the countries in which the track can be played, identified by their ISO 3166-1 alpha-2 code.
- disc_numberinteger
The disc number (usually
1
unless the album consists of more than one disc). - duration_msinteger
The track length in milliseconds.
- explicitboolean
Whether or not the track has explicit lyrics (
true
= yes it does;false
= no it does not OR unknown). Known external IDs for the track.
- isrcstring
- eanstring
- upcstring
Known external URLs for this track.
- spotifystring
The Spotify URL for the object.
- hrefstring
A link to the Web API endpoint providing full details of the track.
- idstring
The Spotify ID for the track.
- is_playableboolean
Part of the response when Track Relinking is applied. If
true
, the track is playable in the given market. Otherwisefalse
. 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.Included in the response when a content restriction is applied.
- reasonstring
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.
- namestring
The name of the track.
- popularityinteger
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. - preview_urlstringNullable
A link to a 30 second preview (MP3 format) of the track. Can be
null
Important policy noteAudio Preview Clips may not be offered as a standalone service or product.
More information
- track_numberinteger
The number of the track. If an album has several discs, the track number is the number on the specified disc.
- typestring
The object type: "track".
Allowed values:"track"
- uristring
The Spotify URI for the track.
- is_localboolean
Whether or not the track is from a local file.
- audio_preview_urlstringRequiredNullable
A URL to a 30 second preview (MP3 format) of the episode.
null
if not available.Important policy noteAudio Preview Clips may not be offered as a standalone service or product.
More information
Example:"https://p.scdn.co/mp3-preview/2f37da1d4221f40b9d1a98cd191f4d6f1646ad17"
- descriptionstringRequired
A description of the episode. HTML tags are stripped away from this field, use
html_description
field in case HTML tags are needed.Example:"A Spotify podcast sharing fresh insights on important topics of the moment—in a way only Spotify can. You’ll hear from experts in the music, podcast and tech industries as we discover and uncover stories about our work and the world around us."
- html_descriptionstringRequired
A description of the episode. This field may contain HTML tags.
Example:"<p>A Spotify podcast sharing fresh insights on important topics of the moment—in a way only Spotify can. You’ll hear from experts in the music, podcast and tech industries as we discover and uncover stories about our work and the world around us.</p>"
- duration_msintegerRequired
The episode length in milliseconds.
Example:1686230
- explicitbooleanRequired
Whether or not the episode has explicit content (true = yes it does; false = no it does not OR unknown).
- Required
External URLs for this episode.
- spotifystring
The Spotify URL for the object.
- hrefstringRequired
A link to the Web API endpoint providing full details of the episode.
Example:"https://api.spotify.com/v1/episodes/5Xt5DXGzch68nYYamXrNxZ"
- idstringRequired
The Spotify ID for the episode.
Example:"5Xt5DXGzch68nYYamXrNxZ"
- Required
The cover art for the episode in various sizes, widest first.
- is_externally_hostedbooleanRequired
True if the episode is hosted outside of Spotify's CDN.
- is_playablebooleanRequired
True if the episode is playable in the given market. Otherwise false.
- languagestringDeprecated
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.Example:"en"
- languagesarray of stringsRequired
A list of the languages used in the episode, identified by their ISO 639-1 code.
Example:["fr","en"]
- namestringRequired
The name of the episode.
Example:"Starting Your Own Podcast: Tips, Tricks, and Advice From Anchor Creators"
- release_datestringRequired
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"
.Example:"1981-12-15"
- release_date_precisionstringRequired
The precision with which
release_date
value is known.Allowed values:"year"
,"month"
,"day"
Example:"day"
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'.
- fully_playedboolean
Whether or not the episode has been fully played by the user.
- resume_position_msinteger
The user's most recent position in the episode in milliseconds.
- typestringRequired
The object type.
Allowed values:"episode"
- uristringRequired
The Spotify URI for the episode.
Example:"spotify:episode:0zLhl3WsOCQHbe1BPTiHgr"
Included in the response when a content restriction is applied.
- reasonstring
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.
- Required
The show on which the episode belongs.
- available_marketsarray of stringsRequired
A list of the countries in which the show can be played, identified by their ISO 3166-1 alpha-2 code.
- Required
The copyright statements of the show.
- descriptionstringRequired
A description of the show. HTML tags are stripped away from this field, use
html_description
field in case HTML tags are needed. - html_descriptionstringRequired
A description of the show. This field may contain HTML tags.
- explicitbooleanRequired
Whether or not the show has explicit content (true = yes it does; false = no it does not OR unknown).
- Required
External URLs for this show.
- spotifystring
The Spotify URL for the object.
- hrefstringRequired
A link to the Web API endpoint providing full details of the show.
- idstringRequired
The Spotify ID for the show.
- Required
The cover art for the show in various sizes, widest first.
- is_externally_hostedbooleanRequired
True if all of the shows episodes are hosted outside of Spotify's CDN. This field might be
null
in some cases. - languagesarray of stringsRequired
A list of the languages used in the show, identified by their ISO 639 code.
- media_typestringRequired
The media type of the show.
- namestringRequired
The name of the episode.
- publisherstringRequired
The publisher of the show.
- typestringRequired
The object type.
Allowed values:"show"
- uristringRequired
The Spotify URI for the show.
- total_episodesintegerRequired
The total number of episodes in the show.
- currently_playing_typestring
The object type of the currently playing item. Can be one of
track
,episode
,ad
orunknown
. Allows to update the user interface based on which playback actions are available within the current context.
- interrupting_playbackboolean
Interrupting playback. Optional field.
- pausingboolean
Pausing. Optional field.
- resumingboolean
Resuming. Optional field.
- seekingboolean
Seeking playback location. Optional field.
- skipping_nextboolean
Skipping to the next context. Optional field.
- skipping_prevboolean
Skipping to the previous context. Optional field.
- toggling_repeat_contextboolean
Toggling repeat context flag. Optional field.
- toggling_shuffleboolean
Toggling shuffle flag. Optional field.
- toggling_repeat_trackboolean
Toggling repeat track flag. Optional field.
- transferring_playbackboolean
Transfering playback between devices. Optional field.
Response sample
{ "device": { "id": "string", "is_active": false, "is_private_session": false, "is_restricted": false, "name": "Kitchen speaker", "type": "computer", "volume_percent": 59, "supports_volume": false }, "repeat_state": "string", "shuffle_state": false, "context": { "type": "string", "href": "string", "external_urls": { "spotify": "string" }, "uri": "string" }, "timestamp": 0, "progress_ms": 0, "is_playing": false, "item": { "album": { "album_type": "compilation", "total_tracks": 9, "available_markets": ["CA", "BR", "IT"], "external_urls": { "spotify": "string" }, "href": "string", "id": "2up3OPMp9Tb4dAKM2erWXQ", "images": [ { "url": "https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228", "height": 300, "width": 300 } ], "name": "string", "release_date": "1981-12", "release_date_precision": "year", "restrictions": { "reason": "market" }, "type": "album", "uri": "spotify:album:2up3OPMp9Tb4dAKM2erWXQ", "artists": [ { "external_urls": { "spotify": "string" }, "href": "string", "id": "string", "name": "string", "type": "artist", "uri": "string" } ] }, "artists": [ { "external_urls": { "spotify": "string" }, "href": "string", "id": "string", "name": "string", "type": "artist", "uri": "string" } ], "available_markets": ["string"], "disc_number": 0, "duration_ms": 0, "explicit": false, "external_ids": { "isrc": "string", "ean": "string", "upc": "string" }, "external_urls": { "spotify": "string" }, "href": "string", "id": "string", "is_playable": false, "linked_from": { }, "restrictions": { "reason": "string" }, "name": "string", "popularity": 0, "preview_url": "string", "track_number": 0, "type": "track", "uri": "string", "is_local": false }, "currently_playing_type": "string", "actions": { "interrupting_playback": false, "pausing": false, "resuming": false, "seeking": false, "skipping_next": false, "skipping_prev": false, "toggling_repeat_context": false, "toggling_shuffle": false, "toggling_repeat_track": false, "transferring_playback": false }}