Skip to content
Portable .Net library for
C# PowerShell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
src Merge pull request #143 from klinge/feature/add-user.getWeeklyChart-f… Feb 2, 2019
.gitattributes Initial commit Jun 8, 2013
IF.Lastfm.sln.DotSettings Add library.getArtists Nov 30, 2016
appveyor.yml Setting path for artifacts back to netstandard1.1 in appveyor.yml Dec 8, 2018

Inflatable .NET SDK

Project logo

Code licence Build status ![Gitter]( Chat.svg)

Project Goals

  • To provide complete .NET bindings for the REST API
  • To build useful components for applications
  • To be the very best, like no-one ever was


Input is always welcome! Raise an issue on GitHub, or send a message to the Gitter chatroom if you need help with the library.

If you're interested in contributing code or documentation, this short introduction to the library will help you get started.


Installing the SDK

NuGet - production code

Install the NuGet package. Search for Inflatable.Lastfm in the NuGet package browser.

NuGet - prerelease code

There is a NuGet package built for every commit to master. Add to your NuGet package sources, and install the IF.Lastfm.Core prerelease package.

From source

Clone this repo and reference IF.Lastfm.Core in your application. Your IDE needs to support C# 6 and portable libraries - Visual Studio 2015 Community or better.

Using the SDK

First, sign up for API access if you haven't already.

Create a LastfmClient:

var client = new LastfmClient("apikey", "apisecret");

Get information about an album:

var response = await client.Album.GetInfoAsync("Grimes", "Visions");

LastAlbum visions = response.Content;

For methods that return several items, you can iterate over the response:

var pageResponse = await client.Artist.GetTopTracksAsync("Ben Frost", page: 5, itemsPerPage: 100);

var trackNames = pageResponse.Select(track => track.Name);

Several API methods require user authentication. Once you have your user's username and password, you can authenticate your instance of LastfmClient:

var response = await client.Auth.GetSessionTokenAsync("username", "pass");

// or load an existing session
UserSession cachedSession;
var succesful = client.Auth.LoadSession(cachedSession);

Authenticated methods then work like any other

if (client.Auth.HasAuthenticated) {
	var response = await client.Track.LoveAsync("Ibi Dreams of Pavement (A Better Day)", "Broken Social Scene");


Platform Compatibility

The main package targets netstandard1.1. Development is on the master branch.


  • Newtonsoft.Json 9.0.1 =<
  • System.Net.Http 4.3.0 =<

Supported platforms

Check this table for supported platforms.

Other platforms

If you need support for a .NET platform that doesn't support .Net Standard 1.1, first see if the feature you need is available in v0.3 or earlier - that version targeted PCL profile 259, and so is compatible with e.g. Windows 8.0 and Windows Phone 7.

If you need a feature for these older platforms, please raise an issue.


Maintained by @rikkilt. Thanks to all contributors!

You can’t perform that action at this time.