Skip to main content
Version: 5.1.1

Playlists

GetUserPlaylists

Get a list of the playlists owned or followed by a Spotify user.

Parameters

NameDescriptionExample
userIdThe user's Spotify user ID."1122095781"
[limit]The maximum number of playlists to return. Default: 20. Minimum: 1. Maximum: 50.20
[offset]The index of the first playlist to return. Default: 0 (the first object)0

Returns a SimplePlaylist wrapped inside a Paging Object

Usage

Paging<SimplePlaylist> userPlaylists = _spotify.GetUserPlaylists("1122095781");
userPlaylists.Items.ForEach(playlist => playlist.Owner.DisplayName) //Who is the owner of the playlist?

GetPlaylist

Get a playlist owned by a Spotify user.

Parameters

NameDescriptionExample
userIdThe user's Spotify user ID."1122095781"
playlistIdThe Spotify ID for the playlist."1TtEejT1y4D1WmcOnLfha2"
[fields]Filters for the query: a comma-separated list of the fields to return. If omitted, all fields are returned."description,uri"
[market]An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking."DE"

Returns a FullTrack

Usage

FullPlaylist playlist = _spotify.GetPlaylist("1122095781", "1TtEejT1y4D1WmcOnLfha2");
playlist.Tracks.Items.ForEach(track => Console.WriteLine(track.Track.Name));

GetPlaylistTracks

Get full details of the tracks of a playlist owned by a Spotify user.

Parameters

NameDescriptionExample
userIdThe user's Spotify user ID."1122095781"
playlistIdThe Spotify ID for the playlist."1TtEejT1y4D1WmcOnLfha2"
[fields]Filters for the query: a comma-separated list of the fields to return. If omitted, all fields are returned."description,uri"
[limit]The maximum number of tracks to return. Default: 100. Minimum: 1. Maximum: 100.100
[offset]The index of the first object to return. Default: 0 (i.e., the first object)0
[market]An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.DE

Returns a PlaylistTrack wrapped inside a Paging Object

Usage

Paging<PlaylistTrack> playlist = _spotify.GetPlaylistTracks("1122095781", "1TtEejT1y4D1WmcOnLfha2");
playlist.Items.ForEach(track => Console.WriteLine(track.Track.Name));

CreatePlaylist

Create a playlist for a Spotify user. (The playlist will be empty until you add tracks.)

Parameters

NameDescriptionExample
userIdThe user's Spotify user ID."1122095781"
playlistNameThe name for the new playlist, for example "Your Coolest Playlist". This name does not need to be unique."This is my new Playlist"
[isPublic]default true. If true the playlist will be public, if false it will be private. To be able to create private playlists, the user must have granted the playlist-modify-private scope.true

Returns a FullPlaylist

Usage

FullPlaylist playlist = _spotify.CreatePlaylist("1122095781", "This is my new Playlist");
if(!playlist.HasError())
Console.WriteLine("Playlist-URI: " + playlist.Uri);

UpdatePlaylist

Change a playlist’s name and public/private state. (The user must, of course, own the playlist.)

Parameters

NameDescriptionExample
userIdThe user's Spotify user ID."1122095781"
playlistIdThe Spotify ID for the playlist."1TtEejT1y4D1WmcOnLfha2"
[newName]The new name for the playlist, for example "My New Playlist Title"."New Playlistname"
[newPublic]If true the playlist will be public, if false it will be private.EXAMPLE

Returns a ErrorResponse which just contains a possible error. (response.HasError() and response.Error)

Usage

ErrorResponse response = _spotify.UpdatePlaylist("1122095781", "1TtEejT1y4D1WmcOnLfha2", "New Name", true);
if(!response.HasError())
Console.WriteLine("success");

ReplacePlaylistTracks

Replace all the tracks in a playlist, overwriting its existing tracks. This powerful request can be useful for replacing tracks, re-ordering existing tracks, or clearing the playlist.

Parameters

NameDescriptionExample
userIdThe user's Spotify user ID."1122095781"
playlistIdThe Spotify ID for the playlist."1TtEejT1y4D1WmcOnLfha2"
urisA list of Spotify track URIs to set. A maximum of 100 tracks can be set in one request.new List<string> { "1ri6UZpjPLmTCswIXZ6Uq1" }

Returns a ErrorResponse which just contains a possible error. (response.HasError() and response.Error)

Usage

ErrorResponse response = _spotify.ReplacePlaylistTracks("1122095781", "1TtEejT1y4D1WmcOnLfha2", new List<string> { "1ri6UZpjPLmTCswIXZ6Uq1" });
if(!response.HasError())
Console.WriteLine("success");

RemovePlaylistTracks

Remove one or more tracks from a user’s playlist.

Parameters

NameDescriptionExample
userIdThe user's Spotify user ID."1122095781"
playlistIdThe Spotify ID for the playlist."1TtEejT1y4D1WmcOnLfha2"
urisarray of objects containing Spotify URI strings (and their position in the playlist). A maximum of 100 objects can be sent at once.(example below)

Returns a ErrorResponse which just contains a possible error. (response.HasError() and response.Error)

Usage

//Remove multiple tracks
ErrorResponse playlist = _spotify.RemovePlaylistTracks("1122095781", "1TtEejT1y4D1WmcOnLfha2", new List<DeleteTrackUri>()
{
new DeleteTrackUri("1ri6UZpjPLmTCswIXZ6Uq1"),
new DeleteTrackUri("47xtGU3vht7mXLHqnbaau5")
});
//Remove multiple tracks at their specified positions
ErrorResponse playlist = _spotify.RemovePlaylistTracks("1122095781", "1TtEejT1y4D1WmcOnLfha2", new List<DeleteTrackUri>()
{
new DeleteTrackUri("1ri6UZpjPLmTCswIXZ6Uq1", 2),
new DeleteTrackUri("47xtGU3vht7mXLHqnbaau5", 0, 50)
});

RemovePlaylistTrack

Remove one or more tracks from a user’s playlist.

Parameters

NameDescriptionExample
userIdThe user's Spotify user ID."1122095781"
playlistIdThe Spotify ID for the playlist."1TtEejT1y4D1WmcOnLfha2"
uriSpotify URInew DeleteTrackUri("1ri6UZpjPLmTCswIXZ6Uq1")

Returns a ErrorResponse which just contains a possible error. (response.HasError() and response.Error)

Usage

//Remove all tracks with the specified URI
ErrorResponse response = _spotify.RemovePlaylistTrack("1122095781", "1TtEejT1y4D1WmcOnLfha2", new DeleteTrackUri("1ri6UZpjPLmTCswIXZ6Uq1"));
//Remove all tracks with the specified URI and the specified positions
ErrorResponse response = _spotify.RemovePlaylistTrack("1122095781", "1TtEejT1y4D1WmcOnLfha2", new DeleteTrackUri("1ri6UZpjPLmTCswIXZ6Uq1", 0, 10, 20));

AddPlaylistTracks

Add one or more tracks to a user’s playlist.

Parameters

NameDescriptionExample
userIdThe user's Spotify user ID."1122095781"
playlistIdThe Spotify ID for the playlist."1TtEejT1y4D1WmcOnLfha2"
urisA list of Spotify track URIs to addnew List<string> { "1ri6UZpjPLmTCswIXZ6Uq1" }
[position]The position to insert the tracks, a zero-based index10

Returns a ErrorResponse which just contains a possible error. (response.HasError() and response.Error)

Usage

ErrorResponse response = _spotify.AddPlaylistTracks("1122095781", "1TtEejT1y4D1WmcOnLfha2", new List<string> { "1ri6UZpjPLmTCswIXZ6Uq1" });
if(!response.HasError())
Console.WriteLine("Success");

AddPlaylistTrack

Add one or more tracks to a user’s playlist.

Parameters

NameDescriptionExample
userIdThe user's Spotify user ID."1122095781"
playlistIdThe Spotify ID for the playlist."1TtEejT1y4D1WmcOnLfha2"
uriA Spotify Track URI"1ri6UZpjPLmTCswIXZ6Uq1"
positionThe position to insert the tracks, a zero-based index10

Returns a ErrorResponse which just contains a possible error. (response.HasError() and response.Error)

Usage

ErrorResponse response = _spotify.AddPlaylistTrack("1122095781", "1TtEejT1y4D1WmcOnLfha2", "1ri6UZpjPLmTCswIXZ6Uq1");
if(!response.HasError())
Console.WriteLine("Success");

ReorderPlaylist

Reorder a track or a group of tracks in a playlist. More Info: Reorder-Playlist

Parameters

NameDescriptionExample
userIdThe user's Spotify user ID."1122095781"
playlistIdThe Spotify ID for the playlist."1TtEejT1y4D1WmcOnLfha2"
rangeStartThe position of the first track to be reordered.2
insertBeforeThe position where the tracks should be inserted.0
[rangeLength]The amount of tracks to be reordered. Defaults to 1 if not set.2
[snapshotId]The playlist's snapshot ID against which you want to make the changes.``

Returns a Snapshot-Object which contains the property String SnapshotId

Usage

Snapshot snapshot = _spotify.ReorderPlaylist("1122095781", "1TtEejT1y4D1WmcOnLfha2", 2, 0, 2);
Console.WriteLine("New SnapshotId: " + snapshot.SnapshotId);