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 Namespaceusing SpotifyAPI.Web.Enums; //Enumsusing 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#