Skip to content
DocumentationAPI Reference

Me

MeAudiobooks

Get User's Saved Audiobooks
me.audiobooks.list(AudiobookListParams**kwargs) -> SyncCursorURLPage[AudiobookListResponse]
GET/me/audiobooks
Save Audiobooks for Current User
me.audiobooks.save(AudiobookSaveParams**kwargs)
PUT/me/audiobooks
Remove User's Saved Audiobooks
me.audiobooks.remove(AudiobookRemoveParams**kwargs)
DELETE/me/audiobooks
Check User's Saved Audiobooks
me.audiobooks.check(AudiobookCheckParams**kwargs) -> AudiobookCheckResponse
GET/me/audiobooks/contains

MePlaylists

Get Current User's Playlists
me.playlists.list(PlaylistListParams**kwargs) -> SyncCursorURLPage[SimplifiedPlaylistObject]
GET/me/playlists

MeTop

Get User's Top Tracks
me.top.list_top_tracks(TopListTopTracksParams**kwargs) -> SyncCursorURLPage[TrackObject]
GET/me/top/tracks
Get User's Top Artists
me.top.list_top_artists(TopListTopArtistsParams**kwargs) -> SyncCursorURLPage[ArtistObject]
GET/me/top/artists

MeAlbums

Get User's Saved Albums
me.albums.list(AlbumListParams**kwargs) -> SyncCursorURLPage[AlbumListResponse]
GET/me/albums
Save Albums for Current User
me.albums.save(AlbumSaveParams**kwargs)
PUT/me/albums
Remove Users' Saved Albums
me.albums.remove(AlbumRemoveParams**kwargs)
DELETE/me/albums
Check User's Saved Albums
me.albums.check(AlbumCheckParams**kwargs) -> AlbumCheckResponse
GET/me/albums/contains

MeTracks

Get User's Saved Tracks
me.tracks.list(TrackListParams**kwargs) -> SyncCursorURLPage[TrackListResponse]
GET/me/tracks
Save Tracks for Current User
me.tracks.save(TrackSaveParams**kwargs)
PUT/me/tracks
Remove User's Saved Tracks
me.tracks.remove(TrackRemoveParams**kwargs)
DELETE/me/tracks
Check User's Saved Tracks
me.tracks.check(TrackCheckParams**kwargs) -> TrackCheckResponse
GET/me/tracks/contains

MeEpisodes

Get User's Saved Episodes
me.episodes.list(EpisodeListParams**kwargs) -> SyncCursorURLPage[EpisodeListResponse]
GET/me/episodes
Save Episodes for Current User
me.episodes.save(EpisodeSaveParams**kwargs)
PUT/me/episodes
Remove User's Saved Episodes
me.episodes.remove(EpisodeRemoveParams**kwargs)
DELETE/me/episodes
Check User's Saved Episodes
me.episodes.check(EpisodeCheckParams**kwargs) -> EpisodeCheckResponse
GET/me/episodes/contains

MeShows

Get User's Saved Shows
me.shows.list(ShowListParams**kwargs) -> SyncCursorURLPage[ShowListResponse]
GET/me/shows
Save Shows for Current User
me.shows.save(ShowSaveParams**kwargs)
PUT/me/shows
Remove User's Saved Shows
me.shows.remove(ShowRemoveParams**kwargs)
DELETE/me/shows
Check User's Saved Shows
me.shows.check(ShowCheckParams**kwargs) -> ShowCheckResponse
GET/me/shows/contains

MeFollowing

Get Followed Artists
me.following.bulk_retrieve(FollowingBulkRetrieveParams**kwargs) -> FollowingBulkRetrieveResponse
GET/me/following
Follow Artists or Users
me.following.follow(FollowingFollowParams**kwargs)
PUT/me/following
Unfollow Artists or Users
me.following.unfollow(FollowingUnfollowParams**kwargs)
DELETE/me/following
Check If User Follows Artists or Users
me.following.check(FollowingCheckParams**kwargs) -> FollowingCheckResponse
GET/me/following/contains

MePlayer

Get Playback State
me.player.get_state(PlayerGetStateParams**kwargs) -> PlayerGetStateResponse
GET/me/player
Transfer Playback
me.player.transfer(PlayerTransferParams**kwargs)
PUT/me/player
Get Available Devices
me.player.get_devices() -> PlayerGetDevicesResponse
GET/me/player/devices
Get Currently Playing Track
me.player.get_currently_playing(PlayerGetCurrentlyPlayingParams**kwargs) -> PlayerGetCurrentlyPlayingResponse
GET/me/player/currently-playing
Start/Resume Playback
me.player.start_playback(PlayerStartPlaybackParams**kwargs)
PUT/me/player/play
Pause Playback
me.player.pause_playback(PlayerPausePlaybackParams**kwargs)
PUT/me/player/pause
Skip To Next
me.player.skip_next(PlayerSkipNextParams**kwargs)
POST/me/player/next
Skip To Previous
me.player.skip_previous(PlayerSkipPreviousParams**kwargs)
POST/me/player/previous
Seek To Position
me.player.seek_to_position(PlayerSeekToPositionParams**kwargs)
PUT/me/player/seek
Set Repeat Mode
me.player.set_repeat_mode(PlayerSetRepeatModeParams**kwargs)
PUT/me/player/repeat
Set Playback Volume
me.player.set_volume(PlayerSetVolumeParams**kwargs)
PUT/me/player/volume
Toggle Playback Shuffle
me.player.toggle_shuffle(PlayerToggleShuffleParams**kwargs)
PUT/me/player/shuffle
Get Recently Played Tracks
me.player.list_recently_played(PlayerListRecentlyPlayedParams**kwargs) -> SyncCursorURLPage[PlayerListRecentlyPlayedResponse]
GET/me/player/recently-played
ModelsExpand Collapse
class ContextObject:
external_urls: Optional[ExternalURLObject]

External URLs for this context.

published: Optional[bool]

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[str]

The Spotify URL for the object.

href: Optional[str]

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

published: Optional[bool]

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[str]

The object type, e.g. "artist", "playlist", "album", "show".

uri: Optional[str]

The Spotify URI for the context.

class DeviceObject:
id: Optional[str]

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_active: Optional[bool]

If this device is the currently active device.

is_private_session: Optional[bool]

If this device is currently in a private session.

is_restricted: Optional[bool]

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

name: Optional[str]

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.

published: Optional[bool]

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

supports_volume: Optional[bool]

If this device can be used to set the volume.

type: Optional[str]

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

volume_percent: Optional[int]

The current volume in percent.

minimum0
maximum100

MePlayerQueue

Get the User's Queue
me.player.queue.get() -> QueueGetResponse
GET/me/player/queue
Add Item to Playback Queue
me.player.queue.add(QueueAddParams**kwargs)
POST/me/player/queue