Last.fm · Capability
Last.fm API — Artist
Last.fm API — Artist package. 10 operations covering artist metadata, similarity, top albums/tracks, tagging, corrections, and search.
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Last.fm API — Artist
description: 'Last.fm API — Artist package. 10 operations covering artist metadata, similarity, top albums/tracks, tagging, corrections, and search.'
tags:
- Last.fm
- Artist
- Music
created: '2026-05-29'
modified: '2026-05-29'
binds:
- namespace: env
keys:
LASTFM_API_KEY: LASTFM_API_KEY
LASTFM_SHARED_SECRET: LASTFM_SHARED_SECRET
LASTFM_SESSION_KEY: LASTFM_SESSION_KEY
capability:
consumes:
- type: http
namespace: lastfm-artist
baseUri: https://ws.audioscrobbler.com/2.0
description: Last.fm artist business capability.
resources:
- name: artist-getinfo
path: /
operations:
- name: artistGetInfo
method: GET
description: Get artist metadata, bio, stats, similar, and tags.
outputRawFormat: json
inputParameters:
- { name: method, in: query, type: string, value: artist.getInfo }
- { name: api_key, in: query, type: string }
- { name: format, in: query, type: string, value: json }
- { name: artist, in: query, type: string }
- { name: mbid, in: query, type: string }
- { name: username, in: query, type: string }
outputParameters:
- { name: result, type: object, value: $.artist }
- name: artist-getsimilar
path: /
operations:
- name: artistGetSimilar
method: GET
description: Get artists similar to this one.
outputRawFormat: json
inputParameters:
- { name: method, in: query, type: string, value: artist.getSimilar }
- { name: api_key, in: query, type: string }
- { name: format, in: query, type: string, value: json }
- { name: artist, in: query, type: string }
- { name: limit, in: query, type: integer }
outputParameters:
- { name: result, type: object, value: $.similarartists }
- name: artist-topalbums
path: /
operations:
- name: artistGetTopAlbums
method: GET
description: Get the top albums for an artist.
outputRawFormat: json
inputParameters:
- { name: method, in: query, type: string, value: artist.getTopAlbums }
- { name: api_key, in: query, type: string }
- { name: format, in: query, type: string, value: json }
- { name: artist, in: query, type: string }
- { name: limit, in: query, type: integer }
outputParameters:
- { name: result, type: object, value: $.topalbums }
- name: artist-toptracks
path: /
operations:
- name: artistGetTopTracks
method: GET
description: Get the top tracks for an artist.
outputRawFormat: json
inputParameters:
- { name: method, in: query, type: string, value: artist.getTopTracks }
- { name: api_key, in: query, type: string }
- { name: format, in: query, type: string, value: json }
- { name: artist, in: query, type: string }
- { name: limit, in: query, type: integer }
outputParameters:
- { name: result, type: object, value: $.toptracks }
- name: artist-toptags
path: /
operations:
- name: artistGetTopTags
method: GET
description: Get the top tags for an artist.
outputRawFormat: json
inputParameters:
- { name: method, in: query, type: string, value: artist.getTopTags }
- { name: api_key, in: query, type: string }
- { name: format, in: query, type: string, value: json }
- { name: artist, in: query, type: string }
outputParameters:
- { name: result, type: object, value: $.toptags }
- name: artist-correction
path: /
operations:
- name: artistGetCorrection
method: GET
description: Get canonical artist correction.
outputRawFormat: json
inputParameters:
- { name: method, in: query, type: string, value: artist.getCorrection }
- { name: api_key, in: query, type: string }
- { name: format, in: query, type: string, value: json }
- { name: artist, in: query, type: string }
outputParameters:
- { name: result, type: object, value: $.corrections }
- name: artist-search
path: /
operations:
- name: artistSearch
method: GET
description: Search for artists by name.
outputRawFormat: json
inputParameters:
- { name: method, in: query, type: string, value: artist.search }
- { name: api_key, in: query, type: string }
- { name: format, in: query, type: string, value: json }
- { name: artist, in: query, type: string }
- { name: limit, in: query, type: integer }
outputParameters:
- { name: result, type: object, value: $.results }
- name: artist-usertags
path: /
operations:
- name: artistGetTags
method: GET
description: Get user-applied tags for an artist.
outputRawFormat: json
inputParameters:
- { name: method, in: query, type: string, value: artist.getTags }
- { name: api_key, in: query, type: string }
- { name: format, in: query, type: string, value: json }
- { name: artist, in: query, type: string }
- { name: user, in: query, type: string }
outputParameters:
- { name: result, type: object, value: $.tags }
- name: artist-addtags
path: /
operations:
- name: artistAddTags
method: POST
description: Tag an artist (authenticated).
outputRawFormat: json
inputParameters:
- { name: method, in: formData, type: string, value: artist.addTags }
- { name: api_key, in: formData, type: string }
- { name: artist, in: formData, type: string }
- { name: tags, in: formData, type: string }
- { name: sk, in: formData, type: string }
- { name: api_sig, in: formData, type: string }
outputParameters:
- { name: status, type: string, value: $.status }
- name: artist-removetag
path: /
operations:
- name: artistRemoveTag
method: POST
description: Remove a tag from an artist (authenticated).
outputRawFormat: json
inputParameters:
- { name: method, in: formData, type: string, value: artist.removeTag }
- { name: api_key, in: formData, type: string }
- { name: artist, in: formData, type: string }
- { name: tag, in: formData, type: string }
- { name: sk, in: formData, type: string }
- { name: api_sig, in: formData, type: string }
outputParameters:
- { name: status, type: string, value: $.status }