Skip to main content
Version: 5.1.1

Getting Started

This API provides full access to the new SpotifyWebAPI introduced here. With it, you can search for Tracks/Albums/Artists and also get User-based information. It's also possible to create new playlists and add tracks to it.

First steps

Imports

So after you added the API to your project, you may want to add following imports to your files:

using SpotifyAPI.Web; //Base Namespace
using SpotifyAPI.Web.Enums; //Enums
using SpotifyAPI.Web.Models; //Models for the JSON-responses

Basic-Usage

Now you can actually start doing calls to the SpotifyAPI, just create a new Instance of SpotifyWebAPI:

private static SpotifyWebAPI _spotify;

public static void Main(String[] args)
{
_spotify = new SpotifyWebAPI()
{
AccessToken = "XXXXXXXXXXXX",
TokenType = "Bearer"
}
FullTrack track = _spotify.GetTrack("3Hvu1pq89D4R0lyPBoujSv");
Console.WriteLine(track.Name); //Yeay! We just printed a tracks name.
}

You may note that we used AccessToken and TokenType. Spotify does not allow un-authorized access to their API. You will need to implement one of the auth flows. Luckily, SpotifyAPI.Web.Auth exists for this reason. A simple way to receive a AccessToken is via CredentialAuth:

CredentialsAuth auth = new CredentialsAuth("YourClientID", "YourClientSecret");
Token token = await auth.GetToken();
_spotify = new SpotifyWebAPI()
{
AccessToken = token.AccessToken,
TokenType = token.TokenType
}

For more info, visit the Getting Started of SpotifyAPI.Web.Auth

Error-Handling

Every API-Call returns a reponse-model which consists of base-error model. To check if a specific API-Call was successful, use the following approach:

PrivateProfile profile = _spotify.GetPrivateProfile();
if (profile.HasError())
{
Console.WriteLine("Error Status: " + profile.Error.Status);
Console.WriteLine("Error Msg: " + profile.Error.Message);
}

In case some or all of the returned values are null, consult error status and message, they can lead to an explanation!

Sync vs Asynchronous

Every API-Call has an asynchronous and synchronous method.

public async void Test()
{
var asyncProfile = await _spotify.GetPrivateProfileAsync();
var syncProfile = _spotify.GetPrivateProfile();
}

Note that the synchronous call will block the current Thread!

API-Reference

Albums

Artists

Browse

Follow

Library

Personalization

Player

Playlists

Profiles

Tracks

Util