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#

Search#

Tracks#

Util#

Last updated on by Jonas Dellinger