Skip to content

lastfm ​

81 endpoints at a glance
MethodPathSummary
GET/lastfm/albums/{artist}/{album}/infoAlbum Info
GET/lastfm/albums/{artist}/{album}/top-tagsAlbum Top Tags
GET/lastfm/albums/searchAlbum Search
GET/lastfm/artists/{artist}/correctionArtist Correction
GET/lastfm/artists/{artist}/infoArtist Info
GET/lastfm/artists/{artist}/similarArtist Similar
GET/lastfm/artists/{artist}/top-albumsArtist Top Albums
GET/lastfm/artists/{artist}/top-tagsArtist Top Tags
GET/lastfm/artists/{artist}/top-tracksArtist Top Tracks
GET/lastfm/artists/searchArtist Search
GET/lastfm/auth/callbackAuth Callback
POST/lastfm/auth/disconnectAuth Disconnect
GET/lastfm/auth/startAuth Start
GET/lastfm/charts/top-artistsChart Top Artists
GET/lastfm/charts/top-tagsChart Top Tags
GET/lastfm/charts/top-tracksChart Top Tracks
GET/lastfm/geo/{country}/top-artistsGeo Top Artists
GET/lastfm/geo/{country}/top-tracksGeo Top Tracks
GET/lastfm/me/albums/{artist}/{album}/statsMe Album Stats
GET/lastfm/me/albums/ownedList Owned
POST/lastfm/me/albums/ownedMark Owned
DELETE/lastfm/me/albums/owned/{target_id}Mark Not Owned
GET/lastfm/me/albums/wishlistList Wishlist
POST/lastfm/me/albums/wishlistAdd To Wishlist
DELETE/lastfm/me/albums/wishlist/{target_id}Remove From Wishlist
GET/lastfm/me/artists/{artist}/statsMe Artist Stats
GET/lastfm/me/charts/{from_ts}/{to_ts}/albumsMe Chart Albums
GET/lastfm/me/charts/{from_ts}/{to_ts}/artistsMe Chart Artists
GET/lastfm/me/charts/{from_ts}/{to_ts}/tracksMe Chart Tracks
GET/lastfm/me/charts/listMe Charts List
GET/lastfm/me/dashboardMe Dashboard
GET/lastfm/me/dashboard/heatmap-cellMe Dashboard Heatmap Cell
GET/lastfm/me/favorites/albumsList Favorite Albums
POST/lastfm/me/favorites/albumsFavorite Album
DELETE/lastfm/me/favorites/albums/{target_id}Unfavorite Album
GET/lastfm/me/favorites/artistsList Favorite Artists
POST/lastfm/me/favorites/artistsFavorite Artist
DELETE/lastfm/me/favorites/artists/{target_id}Unfavorite Artist
GET/lastfm/me/favorites/tracksList Favorite Tracks
POST/lastfm/me/favorites/tracksFavorite Track
DELETE/lastfm/me/favorites/tracks/{target_id}Unfavorite Track
GET/lastfm/me/friendsMe Friends
GET/lastfm/me/infoMe Info
GET/lastfm/me/library/artistsMe Library Artists
POST/lastfm/me/loveMe Love
GET/lastfm/me/loved-tracksMe Loved Tracks
GET/lastfm/me/new-artistsMe New Artists
POST/lastfm/me/now-playingMe Now Playing
GET/lastfm/me/recent-tracksMe Recent Tracks
GET/lastfm/me/rediscoverMe Rediscover
POST/lastfm/me/refresh-mirrorMe Refresh Mirror
POST/lastfm/me/scrobbleMe Scrobble
POST/lastfm/me/scrobbles/{scrobble_id}/canonical-linkStamp Scrobble Canonical
POST/lastfm/me/scrobbles/bulk-importMe Scrobbles Bulk Import
DELETE/lastfm/me/scrobbles/bulk-import/{task_id}Me Scrobbles Bulk Import Cancel
GET/lastfm/me/scrobbles/bulk-import/currentMe Scrobbles Bulk Import Current
GET/lastfm/me/scrobbles/bulk-import/historyMe Scrobbles Bulk Import History
GET/lastfm/me/top-albumsMe Top Albums
GET/lastfm/me/top-artistsMe Top Artists
GET/lastfm/me/top-tracksMe Top Tracks
GET/lastfm/me/tracks/{artist}/{track}/statsMe Track Stats
POST/lastfm/me/unloveMe Unlove
GET/lastfm/picker/searchLastfm Picker Search
GET/lastfm/tags/{tag}/infoTag Info
GET/lastfm/tags/{tag}/similarTag Similar
GET/lastfm/tags/{tag}/top-albumsTag Top Albums
GET/lastfm/tags/{tag}/top-artistsTag Top Artists
GET/lastfm/tags/{tag}/top-tracksTag Top Tracks
GET/lastfm/tags/{tag}/weekly-chart-listTag Weekly Chart List
GET/lastfm/tracks/{artist}/{track}/correctionTrack Correction
GET/lastfm/tracks/{artist}/{track}/infoTrack Info
GET/lastfm/tracks/{artist}/{track}/similarTrack Similar
GET/lastfm/tracks/{artist}/{track}/top-tagsTrack Top Tags
GET/lastfm/tracks/searchTrack Search
GET/lastfm/users/{username}/friendsUser Friends
GET/lastfm/users/{username}/infoUser Info
GET/lastfm/users/{username}/loved-tracksUser Loved Tracks
GET/lastfm/users/{username}/recent-tracksUser Recent Tracks
GET/lastfm/users/{username}/top-albumsUser Top Albums
GET/lastfm/users/{username}/top-artistsUser Top Artists
GET/lastfm/users/{username}/top-tracksUser Top Tracks

lastfm​


Auth Start​

GET
/lastfm/auth/start

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers

Samples​


Auth Callback​

GET
/lastfm/auth/callback

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

token*
Type
string
Required

Responses​

Successful Response

application/json
JSON
[
]

Playground​

Headers
Variables
Key
Value

Samples​


Auth Disconnect​

POST
/lastfm/auth/disconnect

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers

Samples​


Me Dashboard​

GET
/lastfm/me/dashboard

One-shot aggregation of stats for the home dashboard.

Returns a discriminated-union shape: state is "no_lastfm"
when the user hasn't connected their LastFM account, "no_scrobbles"
when they have but haven't run an import yet, or "ready" with the
full payload otherwise.

window_days controls the time-scoped sections (window stats,
chart, top lists, genres, heatmap). Pass an integer for a rolling
window in days; omit or pass 0 / negative for all-time. Sections
that aren't time-scoped (totals, listening streak, latest scrobbles,
mirror) are unaffected.

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

window_days

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Me Dashboard Heatmap Cell​

GET
/lastfm/me/dashboard/heatmap-cell

The scrobbles behind one listening-heatmap cell.

Drill-down for the dashboard heatmap: dow (0=Mon..6=Sun) × hour
(0..23, UTC) name a cell; we return the most-recent scrobbles in it.
window_days mirrors /me/dashboard (missing → 30, <=0 →
all-time) so the list matches the cell the user clicked.

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

dow*
Type
integer
Required
hour*
Type
integer
Required
window_days

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Me Rediscover​

GET
/lastfm/me/rediscover

Dashboard "rediscover" panel: tracks played a lot but not in the
last not_played_days (30/90/180/365/… selectable), ranked by
all-time play count. On-demand (not part of the main dashboard
payload) so the window can be flipped without a full reload.

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

not_played_days
Type
integer
Default
90
limit
Type
integer
Default
20

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Me New Artists​

GET
/lastfm/me/new-artists

Dashboard "new artists" panel: artists whose first-ever scrobble falls
in the window, with the songs played by each.

On-demand like /me/rediscover so the window can be flipped without a
full dashboard reload. The main payload's new_artists_count /
new_artists_sample stay where they are — they feed the one-line
activity stat, and this is the readable version of the same fact.

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

window_days
Type
integer
Default
30
limit
Type
integer
Default
20
tracks_per_artist
Type
integer
Default
5

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Me Recent Tracks​

GET
/lastfm/me/recent-tracks

Read scrobbles from the local mirror, paginated by uts desc.

Local-only — no LastFM call. The mirror is populated by the
bulk-import flow and the periodic refresh job.

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Me Refresh Mirror​

POST
/lastfm/me/refresh-mirror

Manually trigger a one-page mirror refresh for the current user.

Runs the same _refresh_recent_page1 path the periodic cron uses
— fetches LastFM's user.getRecentTracks page 1, upserts each
scrobble into the mirror, and fires the dedup-trigger so any new
artist/album/track lands in the cache.

Synchronous (one user, one page → ~1 sec on a warm cache, a bit
more on first run). Returns the count of newly-inserted scrobbles
plus the freshly-advanced last_refreshed_at so the SPA can
show "Mirror updated just now" without a second round-trip.

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers

Samples​


User Recent Tracks​

GET
/lastfm/users/{username}/recent-tracks

Parameters​

Path Parameters

username*
Type
string
Required

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Variables
Key
Value

Samples​


Stamp Scrobble Canonical​

POST
/lastfm/me/scrobbles/{scrobble_id}/canonical-link

Write canonical_{artist,album,track}_id onto a scrobble doc.

Used by the dashboard's click handler: the SPA resolves a
scrobble's name via Deezer search → canonical, then calls this
so the scrobble row picks up the canonical link without an
extra ingest/reconcile pass. Future dashboard reads find the
canonical_*_id already stamped and render source pills correctly.

Auth: caller must own the scrobble (lastfm_username on the doc
must match the caller's lastfm_username). Otherwise 403.

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

scrobble_id*
Type
string
Required

Request Body​

application/json
JSON
{
  
"canonical_artist_id": "string",
  
"canonical_album_id": "string",
  
"canonical_track_id": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value
Body

Samples​


Me Info​

GET
/lastfm/me/info

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Me Top Artists​

GET
/lastfm/me/top-artists

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

period
Type
string
Default
"overall"
page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Me Top Tracks​

GET
/lastfm/me/top-tracks

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

period
Type
string
Default
"overall"
page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Me Top Albums​

GET
/lastfm/me/top-albums

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

period
Type
string
Default
"overall"
page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Me Loved Tracks​

GET
/lastfm/me/loved-tracks

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Me Friends​

GET
/lastfm/me/friends

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Me Charts List​

GET
/lastfm/me/charts/list

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Me Chart Artists​

GET
/lastfm/me/charts/{from_ts}/{to_ts}/artists

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

from_ts*
Type
integer
Required
to_ts*
Type
integer
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Me Chart Tracks​

GET
/lastfm/me/charts/{from_ts}/{to_ts}/tracks

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

from_ts*
Type
integer
Required
to_ts*
Type
integer
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Me Chart Albums​

GET
/lastfm/me/charts/{from_ts}/{to_ts}/albums

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

from_ts*
Type
integer
Required
to_ts*
Type
integer
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


Me Library Artists​

GET
/lastfm/me/library/artists

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Headers
Variables
Key
Value

Samples​


User Info​

GET
/lastfm/users/{username}/info

Parameters​

Path Parameters

username*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


User Top Artists​

GET
/lastfm/users/{username}/top-artists

Parameters​

Path Parameters

username*
Type
string
Required

Query Parameters

period
Type
string
Default
"overall"
page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


User Top Tracks​

GET
/lastfm/users/{username}/top-tracks

Parameters​

Path Parameters

username*
Type
string
Required

Query Parameters

period
Type
string
Default
"overall"
page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


User Top Albums​

GET
/lastfm/users/{username}/top-albums

Parameters​

Path Parameters

username*
Type
string
Required

Query Parameters

period
Type
string
Default
"overall"
page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


User Loved Tracks​

GET
/lastfm/users/{username}/loved-tracks

Parameters​

Path Parameters

username*
Type
string
Required

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


User Friends​

GET
/lastfm/users/{username}/friends

Parameters​

Path Parameters

username*
Type
string
Required

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Artist Search​

GET
/lastfm/artists/search

Pass-through (not cached) — search results aren't entity records.

Parameters​

Query Parameters

q*
Type
string
Required
page
Type
integer
Default
1
limit
Type
integer
Default
30

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Artist Info​

GET
/lastfm/artists/{artist}/info

Parameters​

Path Parameters

artist*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Artist Similar​

GET
/lastfm/artists/{artist}/similar

Parameters​

Path Parameters

artist*
Type
string
Required

Query Parameters

limit
Type
integer
Default
30
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Artist Top Albums​

GET
/lastfm/artists/{artist}/top-albums

Parameters​

Path Parameters

artist*
Type
string
Required

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Artist Top Tracks​

GET
/lastfm/artists/{artist}/top-tracks

Parameters​

Path Parameters

artist*
Type
string
Required

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Artist Top Tags​

GET
/lastfm/artists/{artist}/top-tags

Parameters​

Path Parameters

artist*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Artist Correction​

GET
/lastfm/artists/{artist}/correction

Pass-through (not cached) — corrections are query-specific.

Parameters​

Path Parameters

artist*
Type
string
Required

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Album Search​

GET
/lastfm/albums/search

Parameters​

Query Parameters

q*
Type
string
Required
page
Type
integer
Default
1
limit
Type
integer
Default
30

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Album Info​

GET
/lastfm/albums/{artist}/{album}/info

Parameters​

Path Parameters

artist*
Type
string
Required
album*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Album Top Tags​

GET
/lastfm/albums/{artist}/{album}/top-tags

Parameters​

Path Parameters

artist*
Type
string
Required
album*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Track Search​

GET
/lastfm/tracks/search

Parameters​

Query Parameters

q*
Type
string
Required
page
Type
integer
Default
1
limit
Type
integer
Default
30

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Track Info​

GET
/lastfm/tracks/{artist}/{track}/info

Parameters​

Path Parameters

artist*
Type
string
Required
track*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Track Similar​

GET
/lastfm/tracks/{artist}/{track}/similar

Parameters​

Path Parameters

artist*
Type
string
Required
track*
Type
string
Required

Query Parameters

limit
Type
integer
Default
30
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Track Top Tags​

GET
/lastfm/tracks/{artist}/{track}/top-tags

Parameters​

Path Parameters

artist*
Type
string
Required
track*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Track Correction​

GET
/lastfm/tracks/{artist}/{track}/correction

Parameters​

Path Parameters

artist*
Type
string
Required
track*
Type
string
Required

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Lastfm Picker Search​

GET
/lastfm/picker/search

Picker-shaped search across artists / albums / tracks.

Returns a list of {external_id, title, subtitle, thumbnail}
objects ready for the LinkSourceModal. external_id is the
canonical LastFM ref shape — lowercased name (artists) or
<artist>::<name> (albums + tracks) — produced by the same
helpers the resolver uses.

Why not consume LastFM's raw search response on the frontend? The
external_id construction has to match the resolver's
:func:lastfm_artist_id/:func:lastfm_album_id/:func:lastfm_track_id
exactly, or the picker's "Link" action would write a ref that no
subsequent lookup finds. Single source of truth → backend.

offset powers the picker's "Load more": LastFM's search methods
paginate by 1-based page, so we translate offset (which the
SPA advances in limit-sized steps) to page = offset // limit + 1.

Parameters​

Query Parameters

kind*
Type
string
Required
q*
Type
string
Required
limit
Type
integer
Default
20
offset
Type
integer
Default
0

Responses​

Successful Response

application/json
JSON
[
  
{
  
  
"additionalProperties": "string"
  
}
]

Playground​

Variables
Key
Value

Samples​


Tag Info​

GET
/lastfm/tags/{tag}/info

Parameters​

Path Parameters

tag*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Tag Similar​

GET
/lastfm/tags/{tag}/similar

Parameters​

Path Parameters

tag*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Tag Top Artists​

GET
/lastfm/tags/{tag}/top-artists

Parameters​

Path Parameters

tag*
Type
string
Required

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Tag Top Tracks​

GET
/lastfm/tags/{tag}/top-tracks

Parameters​

Path Parameters

tag*
Type
string
Required

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Tag Top Albums​

GET
/lastfm/tags/{tag}/top-albums

Parameters​

Path Parameters

tag*
Type
string
Required

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Tag Weekly Chart List​

GET
/lastfm/tags/{tag}/weekly-chart-list

Parameters​

Path Parameters

tag*
Type
string
Required

Query Parameters

refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Chart Top Artists​

GET
/lastfm/charts/top-artists

Parameters​

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Chart Top Tracks​

GET
/lastfm/charts/top-tracks

Parameters​

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Chart Top Tags​

GET
/lastfm/charts/top-tags

Parameters​

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Geo Top Artists​

GET
/lastfm/geo/{country}/top-artists

Parameters​

Path Parameters

country*
Type
string
Required

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Geo Top Tracks​

GET
/lastfm/geo/{country}/top-tracks

Parameters​

Path Parameters

country*
Type
string
Required

Query Parameters

page
Type
integer
Default
1
limit
Type
integer
Default
50
refresh
Type
boolean
Default
false

Responses​

Successful Response

application/json
JSON
"string"

Playground​

Variables
Key
Value

Samples​


Me Love​

POST
/lastfm/me/love

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"artist": "string",
  
"track": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Me Unlove​

POST
/lastfm/me/unlove

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"artist": "string",
  
"track": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Me Scrobble​

POST
/lastfm/me/scrobble

Submit a scrobble to LastFM. The next periodic refresh picks it up.

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"artist": "string",
  
"track": "string",
  
"album": "string",
  
"timestamp": 0
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Me Now Playing​

POST
/lastfm/me/now-playing

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"artist": "string",
  
"track": "string",
  
"album": "string",
  
"timestamp": 0
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


List Favorite Artists​

GET
/lastfm/me/favorites/artists

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
[
  
{
  
  
"additionalProperties": "string"
  
}
]

Playground​

Headers

Samples​


Favorite Artist​

POST
/lastfm/me/favorites/artists

Mark an artist as favorite. Auto-fetches the artist into the catalog
if it isn't already cached (so the favorite always has hydration data).

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"artist": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Unfavorite Artist​

DELETE
/lastfm/me/favorites/artists/{target_id}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

target_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


List Favorite Albums​

GET
/lastfm/me/favorites/albums

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
[
  
{
  
  
"additionalProperties": "string"
  
}
]

Playground​

Headers

Samples​


Favorite Album​

POST
/lastfm/me/favorites/albums

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"artist": "string",
  
"album": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Unfavorite Album​

DELETE
/lastfm/me/favorites/albums/{target_id}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

target_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


List Favorite Tracks​

GET
/lastfm/me/favorites/tracks

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
[
  
{
  
  
"additionalProperties": "string"
  
}
]

Playground​

Headers

Samples​


Favorite Track​

POST
/lastfm/me/favorites/tracks

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"artist": "string",
  
"track": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Unfavorite Track​

DELETE
/lastfm/me/favorites/tracks/{target_id}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

target_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


List Wishlist​

GET
/lastfm/me/albums/wishlist

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
[
  
{
  
  
"additionalProperties": "string"
  
}
]

Playground​

Headers

Samples​


Add To Wishlist​

POST
/lastfm/me/albums/wishlist

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"artist": "string",
  
"album": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Remove From Wishlist​

DELETE
/lastfm/me/albums/wishlist/{target_id}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

target_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


List Owned​

GET
/lastfm/me/albums/owned

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
[
  
{
  
  
"additionalProperties": "string"
  
}
]

Playground​

Headers

Samples​


Mark Owned​

POST
/lastfm/me/albums/owned

Mark an album as owned. If it was on the wishlist, this transitions
it (preserving wishlisted_at as history).

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"artist": "string",
  
"album": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Mark Not Owned​

DELETE
/lastfm/me/albums/owned/{target_id}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

target_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Me Artist Stats​

GET
/lastfm/me/artists/{artist}/stats

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

artist*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Me Album Stats​

GET
/lastfm/me/albums/{artist}/{album}/stats

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

artist*
Type
string
Required
album*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Me Track Stats​

GET
/lastfm/me/tracks/{artist}/{track}/stats

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

artist*
Type
string
Required
track*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Me Scrobbles Bulk Import​

POST
/lastfm/me/scrobbles/bulk-import

Parameters​

Header Parameters

authorization
x-api-key

Request Body​

application/json
JSON
{
  
"from_ts": 0,
  
"to_ts": 0
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Me Scrobbles Bulk Import Current​

GET
/lastfm/me/scrobbles/bulk-import/current

Parameters​

Header Parameters

authorization
x-api-key

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers

Samples​


Me Scrobbles Bulk Import History​

GET
/lastfm/me/scrobbles/bulk-import/history

Parameters​

Header Parameters

authorization
x-api-key

Query Parameters

limit
Type
integer
Default
20

Responses​

Successful Response

application/json
JSON
[
  
{
  
  
"additionalProperties": "string"
  
}
]

Playground​

Headers
Variables
Key
Value

Samples​


Me Scrobbles Bulk Import Cancel​

DELETE
/lastfm/me/scrobbles/bulk-import/{task_id}

Parameters​

Header Parameters

authorization
x-api-key

Path Parameters

task_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Media — Blue Sapphire Software.