WebService::Spotify - A simple interface to the Spotify Web API


  my $spotify = WebService::Spotify->new;
  my $results = $spotify->search('weezer', limit => 20);
  say $_->{name} for @{$results->{tracks}->{items}};

More examples can be found in the /eg directory.



See Method::Signatures for details of the parameter spec used below.

Refer to the Spotify API documentation for details on the methods and parameters.

Methods that take item IDs (such as the track, album and artist methods) accept URN, URL or simple ID types. The following 3 ids are all acceptable IDs:

The following methods are supported:

album ($album_id)

returns a single album given the album's ID, URN or URL

album_tracks ($album_id)

Get Spotify catalog information about an album's tracks

albums (\@albums)

returns a list of albums given the album IDs, URNs, or URLs

artist ($artist_id)

returns a single artist given the artist's ID, URN or URL

artist_albums ($artist, :$album_type, :$country, :$limit = 20, :$offset = 0)

Get Spotify catalog information about an artist’s albums

artist_top_tracks ($artist, :$country = 'US')

Get Spotify catalog information about an artist’s top 10 tracks by country.

artists (\@artists)

returns a list of artists given the artist IDs, URNs, or URLs


returns info about me

next ($result)

returns the next result given a result

previous ($result)

returns the previous result given a result

search ($q, limit => 10, offset => 0, type => 'track')

searches for an item

track ($track_id)

returns a single track given the track's ID, URN or URL

tracks (\@track_ids)

returns a list of tracks given the track IDs, URNs, or URLs

user ($user_id)

Gets basic profile information about a Spotify User

user_playlist ($user_id, :$playlist_id, :$fields)

Gets playlist of a user

user_playlist_add_tracks ($user_id, $playlist_id, $tracks, :$position)

Adds tracks to a playlist

user_playlist_create ($user_id, $name, :$public = 1)

Creates a playlist for a user

user_playlists ($user_id)

Gets playlists of a user


Nick Langridge <>


This module was ported from Spotipy, a Python wrapper for the Spotify Web API


This module is free software; you can redistribute it or modify it under the same terms as Perl itself.


WebService::EchoNest - wrapper for the EchoNest API which has some integration with the Spotify Web API

Net::Spotify - wrapper for the old Spotify metadata API

1 POD Error

The following errors were encountered while parsing the POD:

Around line 238:

Non-ASCII character seen before =encoding in 'artist’s'. Assuming UTF-8