This project is read-only.

Project Description

Task based .NET Wrapper for the Spotify Web API v1

Compatible with:
  • .NET 4.5
  • Silverlight 5
  • Windows Phone 8.1
  • Windows 8, 8.1
  • Portable Class Library (PCL)
  • Microsoft HTTP Client PCL (available via nuget)
  • JSON.NET PCL (located in 3rd party folder, reason being the nuget version doesn't allow you to download the PCL version)


  • Feb 3, 2015 - Added Browse API capabilities and Playlist bug fixes
    • Details: Added the ability to use the Web API's Browse capabilities. Also fixed a bug where playlist.public was being assigned a null value causing an type mismatch exception
    • Nuget updated to match (v 1.0.2)
  • Feb 2, 2015 - Bug fix in SpotifyModel/playlisttrack.cs

Where to find

How to use

For more information please download the source and visit the SpotifyWebAPI.Test project. In this project you'll find a folder/page dedicated to each metadata object supported by the library.

Example 1 - Album - Get Album
// get alter bridge's blackbird album
var output = await SpotifyWebAPI.Album.GetAlbum("0Fk4lWAADmFMmuW6jp6xyE");

Example 2 - Artist - Get Artist
// get alter bridge
var output = await SpotifyWebAPI.Artist.GetArtist("4DWX7u8BV0vZIQSpJQQDWU");

Example 3 - Track - Search for a track
// get ties that bind from alter bridge's blackbird album
var output = await SpotifyWebAPI.Track.Search("Ties that bind", "Blackbird", "Alter Bridge");

Example 4 - User - Get User
// get my profile, returns a basic profile
var user = await SpotifyWebAPI.User.GetUser("tinyioda");

Example 5 - Get the user and his playlists
// create an authentication token
// for an example of this see SpotifyWebAPI.Test/Authentication/Default.aspx and
var AuthenticationToken = new AuthenticationToken()
      AccessToken = "NgCXRK...MzYjw",
      ExpiresOn = DateTime.Now.AddSeconds(3600),
      RefreshToken = "dfagC...fd43x",
      TokenType = "Bearer"

// get the user you just logged in with
var user = await SpotifyWebAPI.User.GetCurrentUserProfile(AuthenticationToken);

// get this persons playlists
var playlists = await user.GetPlaylists(AuthenticationToken);

Last edited Feb 3, 2015 at 2:51 PM by tinyioda, version 41