Last.fm · Capability
Last.fm API — Album
Last.fm API — Album package. 6 operations covering album metadata, search, tagging, and top tags. All methods dispatch to ws.audioscrobbler.com/2.0/ via the `method` parameter.
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Last.fm API — Album
description: 'Last.fm API — Album package. 6 operations covering album metadata, search, tagging, and top tags. All methods dispatch to ws.audioscrobbler.com/2.0/ via the `method` parameter.'
tags:
- Last.fm
- Album
- 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-album
baseUri: https://ws.audioscrobbler.com/2.0
description: Last.fm album business capability.
resources:
- name: album-getinfo
path: /
operations:
- name: albumGetInfo
method: GET
description: Get album metadata and tracklist.
outputRawFormat: json
inputParameters:
- { name: method, in: query, type: string, value: album.getInfo }
- { name: api_key, in: query, type: string }
- { name: format, in: query, type: string, value: json }
- { name: artist, in: query, type: string }
- { name: album, in: query, type: string }
- { name: mbid, in: query, type: string }
- { name: username, in: query, type: string }
outputParameters:
- { name: result, type: object, value: $.album }
- name: album-search
path: /
operations:
- name: albumSearch
method: GET
description: Search for albums by name.
outputRawFormat: json
inputParameters:
- { name: method, in: query, type: string, value: album.search }
- { name: api_key, in: query, type: string }
- { name: format, in: query, type: string, value: json }
- { name: album, in: query, type: string }
- { name: limit, in: query, type: integer }
outputParameters:
- { name: result, type: object, value: $.results }
- name: album-toptags
path: /
operations:
- name: albumGetTopTags
method: GET
description: Get top tags for an album.
outputRawFormat: json
inputParameters:
- { name: method, in: query, type: string, value: album.getTopTags }
- { name: api_key, in: query, type: string }
- { name: format, in: query, type: string, value: json }
- { name: artist, in: query, type: string }
- { name: album, in: query, type: string }
outputParameters:
- { name: result, type: object, value: $.toptags }
- name: album-usertags
path: /
operations:
- name: albumGetTags
method: GET
description: Get a user's tags for an album.
outputRawFormat: json
inputParameters:
- { name: method, in: query, type: string, value: album.getTags }
- { name: api_key, in: query, type: string }
- { name: format, in: query, type: string, value: json }
- { name: artist, in: query, type: string }
- { name: album, in: query, type: string }
- { name: user, in: query, type: string }
outputParameters:
- { name: result, type: object, value: $.tags }
- name: album-addtags
path: /
operations:
- name: albumAddTags
method: POST
description: Add tags to an album (authenticated).
outputRawFormat: json
inputParameters:
- { name: method, in: formData, type: string, value: album.addTags }
- { name: api_key, in: formData, type: string }
- { name: artist, in: formData, type: string }
- { name: album, 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: album-removetag
path: /
operations:
- name: albumRemoveTag
method: POST
description: Remove a tag from an album (authenticated).
outputRawFormat: json
inputParameters:
- { name: method, in: formData, type: string, value: album.removeTag }
- { name: api_key, in: formData, type: string }
- { name: artist, in: formData, type: string }
- { name: album, 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 }