Last.fm website screenshot

Last.fm

Last.fm is the long-running music recommendation, scrobbling, and music-data service operated by CBS Interactive. Its Web Services 2.0 API (the AudioScrobbler API at ws.audioscrobbler.com/2.0/) exposes catalog data (artists, albums, tracks, tags), charts, geo-listening data, user listening history (recent tracks, top tracks/albums/artists, weekly charts), and the Scrobbling 2.0 write surface (track.scrobble, track.updateNowPlaying, track.love). Every operation is dispatched through a single endpoint via the `method` parameter (e.g. `method=user.getRecentTracks`). Authentication uses an API key for reads and a signed (`api_sig`) session-key flow for writes. The API is free for non-commercial use; commercial use requires a separate agreement via partners@last.fm.

1 APIs 0 Features
MusicAudioScrobblingRecommendationsChartsPublic APIsAudioScrobbler

APIs

Last.fm Web Services 2.0

The AudioScrobbler / Last.fm Web Services 2.0 API. A single method-dispatched endpoint (`https://ws.audioscrobbler.com/2.0/`) serves all read operations as GET requests and all ...

Collections

Arazzo Workflows

Last.fm Album Genre Profile

Search for an album, resolve its full info and tracklist, then surface the community tags that define its genre.

ARAZZO

Last.fm Artist Discovery

Search for an artist by name, resolve full metadata, then surface their top tracks and similar artists.

ARAZZO

Last.fm Genre Artist Explorer

Take a genre tag's top artist, branch into similar artists, and pull that artist's top tracks.

ARAZZO

Last.fm Geo Artist Spotlight

Find the top artist in a country, resolve their full profile, and list their top albums.

ARAZZO

Last.fm Loved Tracks Insight

Read a user's loved tracks, resolve the latest one's full info, and surface the community tags that describe it.

ARAZZO

Last.fm Now Playing Context

Read a user's most recent track, resolve its full info, and surface the community tags that describe it.

ARAZZO

Last.fm Tag To Track Deep Dive

Resolve a tag's metadata, pull its top tracks, and fetch full info for the leading track.

ARAZZO

Last.fm Track Radio Seed

Search for a track, resolve its full info, and build a similar-tracks radio seed — branching when no match is found.

ARAZZO

Last.fm User Taste Profile

Read a user's profile, find their top artist for a period, and surface that artist's top tracks.

ARAZZO

Pricing Plans

Lastfm Plans Pricing

2 plans

PLANS

Rate Limits

Lastfm Rate Limits

4 limits

RATE LIMITS

Semantic Vocabularies

Lastfm Context

27 classes · 8 properties

JSON-LD

API Governance Rules

Last.fm API Rules

13 rules · 6 errors 4 warnings 3 info

SPECTRAL

JSON Structure

Lastfm Album Structure

11 properties

JSON STRUCTURE

Lastfm Artist Structure

8 properties

JSON STRUCTURE

Lastfm Track Structure

12 properties

JSON STRUCTURE

Example Payloads

Lastfm Album Getinfo Example

1 fields

EXAMPLE

Lastfm Track Getinfo Example

1 fields

EXAMPLE

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Website
Website
🌐
DeveloperPortal
DeveloperPortal
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
APIReference
APIReference
🔑
Authentication
Authentication
📝
Signup
Signup
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
💻
ErrorCodes
ErrorCodes
💬
Support
Support
🔗
Contact
Contact
👥
GitHubOrganization
GitHubOrganization
💰
Pricing
Pricing
🔗
RateLimits
RateLimits
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔗
JSONLD
JSONLD
🔗
PublicAPIsListing
PublicAPIsListing
📦
Inflatable.Lastfm (.NET / NuGet) — portable C# client
SDKs
📦
feross/last-fm (JavaScript) — simple public-data client
SDKs
📦
dandelionmood/php-lastfm (PHP) — dead-simple wrapper
SDKs
📦
barryvanveen/lastfm (PHP + Laravel service provider)
SDKs
📦
gordonbisnor/lastfm (Ruby) — Rails plugin
SDKs
📦
codegram/lastfm (Ruby) — broad method coverage
SDKs
📦
theorangewill/pylastfmapi (Python)
SDKs
📦
jrichocean/Elixirfm (Elixir)
SDKs
📦
mihaiolteanu/lastfm (Common Lisp)
SDKs
📦
supki/liblastfm (Haskell)
SDKs
📦
Nebulino/Scrobblenaut (Dart)
SDKs
📦
SHOEGAZEssb/Shoegaze.LastFM (modern C#)
SDKs
📦
mannuelf/lastfm-nodejs-client (TypeScript / Node.js)
SDKs
📦
michaellavelle/spring-social-lastfm (Java / Spring Social)
SDKs
🔧
ScrobblerContext — Last.fm MCP server (Swift, stdio MCP transport, search/library/scrobble)
Tools
🔧
lastfm-mcp — Cloudflare Workers MCP server with OAuth 2.0 for AI access to Last.fm listening data
Tools

Sources

Raw ↑
info:
  _postman_id: d4594bfa-8d3b-4334-b629-56369991a630
  name: Last.fm Web Services API (2.0)
  description: "The Last.fm (AudioScrobbler) Web Services 2.0 API provides programmatic access to\nmusic metadata, charts,\
    \ geo-listening data, tags, user listening history, and\nscrobbling. The API is method-dispatched: every request targets\
    \ the single endpoint\n`https://ws.audioscrobbler.com/2.0/` and identifies the operation via the `method`\nquery/body\
    \ parameter (e.g. `method=track.getInfo`).\n\nRead methods accept `GET`; write methods (scrobbling, tagging, love/unlove,\
    \ session\nmanagement) require `POST` with an authenticated session key and a signed\n`api_sig` parameter (MD5 of sorted\
    \ params + shared secret).\n\nResponses default to XML; pass `format=json` for JSON.\n\n\nContact Support:\n Name: Last.fm\
    \ API Support\n Email: partners@last.fm"
  schema: https://schema.getpostman.com/json/collection/v2.1.0/collection.json
  createdAt: '2026-06-05T15:10:16.000Z'
  updatedAt: '2026-06-05T15:10:16.000Z'
  lastUpdatedBy: '35240'
  uid: 35240-d4594bfa-8d3b-4334-b629-56369991a630
item:
- name: /
  item:
  - name: Invoke A Read Method
    id: d054f325-efec-4024-b18d-529a2655fbab
    protocolProfileBehavior:
      disableBodyPruning: true
    request:
      method: GET
      header:
      - key: Accept
        value: application/json
      url:
        raw: '{{baseUrl}}/?method=<string>&api_key=<string>&format=xml&callback=<string>&artist=<string>&album=<string>&track=<string>&mbid=<string>&user=<string>&tag=<string>&country=<string>&limit=50&page=1&period=6month&autocorrect=0&username=<string>'
        host:
        - '{{baseUrl}}'
        path:
        - ''
        query:
        - description: '(Required) Method name in `package.method` format (e.g. `track.getInfo`,

            `chart.getTopArtists`, `user.getRecentTracks`).

            '
          key: method
          value: <string>
        - description: (Required) Your Last.fm API key.
          key: api_key
          value: <string>
        - description: Response format. Defaults to XML.
          key: format
          value: xml
        - description: Optional JSONP callback function name when `format=json`.
          key: callback
          value: <string>
        - description: Artist name (used by album.*, artist.*, track.* read methods).
          key: artist
          value: <string>
        - description: Album name (used by album.* methods).
          key: album
          value: <string>
        - description: Track name (used by track.* methods).
          key: track
          value: <string>
        - description: MusicBrainz identifier; takes precedence over artist/album/track names.
          key: mbid
          value: <string>
        - description: Last.fm username (used by user.* methods).
          key: user
          value: <string>
        - description: Tag name (used by tag.* methods).
          key: tag
          value: <string>
        - description: ISO 3166-1 country name (used by geo.* methods).
          key: country
          value: <string>
        - description: Max items per page.
          key: limit
          value: '50'
        - description: Page number for paginated results.
          key: page
          value: '1'
        - description: Aggregation window for user.getTop* methods.
          key: period
          value: 6month
        - description: Auto-correct misspelled artist/track names when set to 1.
          key: autocorrect
          value: '0'
        - description: Username context for personalized fields (playcount, userplaycount).
          key: username
          value: <string>
      description: 'Single read-side dispatch endpoint. The `method` parameter selects the

        operation (e.g. `album.getInfo`, `artist.getTopTracks`, `chart.getTopArtists`).

        Use `format=json` for JSON responses.

        '
    response:
    - id: 74f0f1a1-9355-4caf-a035-567ec45f794a
      name: Successful response in XML (default) or JSON (`format=json`).
      originalRequest:
        method: GET
        header:
        - key: Accept
          value: application/json
        url:
          raw: '{{baseUrl}}/?method=<string>&api_key=<API Key>&format=xml&callback=<string>&artist=<string>&album=<string>&track=<string>&mbid=<string>&user=<string>&tag=<string>&country=<string>&limit=50&page=1&period=6month&autocorrect=0&username=<string>'
          host:
          - '{{baseUrl}}'
          path:
          - ''
          query:
          - description: '(Required) Method name in `package.method` format (e.g. `track.getInfo`,

              `chart.getTopArtists`, `user.getRecentTracks`).

              '
            key: method
            value: <string>
          - description: (Required) Your Last.fm API key.
            key: api_key
            value: <API Key>
          - description: Response format. Defaults to XML.
            key: format
            value: xml
          - description: Optional JSONP callback function name when `format=json`.
            key: callback
            value: <string>
          - description: Artist name (used by album.*, artist.*, track.* read methods).
            key: artist
            value: <string>
          - description: Album name (used by album.* methods).
            key: album
            value: <string>
          - description: Track name (used by track.* methods).
            key: track
            value: <string>
          - description: MusicBrainz identifier; takes precedence over artist/album/track names.
            key: mbid
            value: <string>
          - description: Last.fm username (used by user.* methods).
            key: user
            value: <string>
          - description: Tag name (used by tag.* methods).
            key: tag
            value: <string>
          - description: ISO 3166-1 country name (used by geo.* methods).
            key: country
            value: <string>
          - description: Max items per page.
            key: limit
            value: '50'
          - description: Page number for paginated results.
            key: page
            value: '1'
          - description: Aggregation window for user.getTop* methods.
            key: period
            value: 6month
          - description: Auto-correct misspelled artist/track names when set to 1.
            key: autocorrect
            value: '0'
          - description: Username context for personalized fields (playcount, userplaycount).
            key: username
            value: <string>
      status: OK
      code: 200
      _postman_previewlanguage: json
      header:
      - key: Content-Type
        value: application/json
      cookie: []
      responseTime: null
      body: "{\n  \"album\": {\n    \"artist\": \"<string>\",\n    \"name\": \"<string>\",\n    \"mbid\": \"<string>\",\n\
        \    \"url\": \"<uri>\",\n    \"image\": [\n      {\n        \"size\": \"medium\",\n        \"#text\": \"<uri>\"\n\
        \      },\n      {\n        \"size\": \"small\",\n        \"#text\": \"<uri>\"\n      }\n    ],\n    \"listeners\"\
        : \"<string>\",\n    \"playcount\": \"<string>\",\n    \"tracks\": {\n      \"track\": [\n        {\n          \"\
        name\": \"<string>\",\n          \"mbid\": \"<string>\",\n          \"url\": \"<uri>\",\n          \"duration\": \"\
        <string>\",\n          \"artist\": {\n            \"name\": \"<string>\",\n            \"mbid\": \"<string>\",\n \
        \           \"url\": \"<uri>\",\n            \"image\": [\n              {\n                \"size\": \"large\",\n\
        \                \"#text\": \"<uri>\"\n              },\n              {\n                \"size\": \"small\",\n \
        \               \"#text\": \"<uri>\"\n              }\n            ],\n            \"streamable\": \"<string>\",\n\
        \            \"ontour\": \"<string>\",\n            \"stats\": {\n              \"listeners\": \"<string>\",\n   \
        \           \"playcount\": \"<string>\"\n            },\n            \"similar\": {\n              \"artist\": [\n\
        \                {\n                  \"value\": \"<Circular reference to #/components/schemas/Artist detected>\"\n\
        \                },\n                {\n                  \"value\": \"<Circular reference to #/components/schemas/Artist\
        \ detected>\"\n                }\n              ]\n            },\n            \"tags\": {\n              \"tag\"\
        : [\n                {\n                  \"name\": \"<string>\",\n                  \"url\": \"<uri>\",\n       \
        \           \"count\": \"<integer>\"\n                },\n                {\n                  \"name\": \"<string>\"\
        ,\n                  \"url\": \"<uri>\",\n                  \"count\": \"<integer>\"\n                }\n        \
        \      ]\n            },\n            \"bio\": {\n              \"published\": \"<string>\",\n              \"summary\"\
        : \"<string>\",\n              \"content\": \"<string>\"\n            }\n          },\n          \"album\": {\n  \
        \          \"artist\": \"<string>\",\n            \"title\": \"<string>\",\n            \"mbid\": \"<string>\",\n\
        \            \"url\": \"<uri>\"\n          },\n          \"listeners\": \"<string>\",\n          \"playcount\": \"\
        <string>\",\n          \"userplaycount\": \"<string>\",\n          \"userloved\": \"1\",\n          \"toptags\": {\n\
        \            \"tag\": [\n              {\n                \"name\": \"<string>\",\n                \"url\": \"<uri>\"\
        ,\n                \"count\": \"<integer>\"\n              },\n              {\n                \"name\": \"<string>\"\
        ,\n                \"url\": \"<uri>\",\n                \"count\": \"<integer>\"\n              }\n            ]\n\
        \          },\n          \"wiki\": {\n            \"published\": \"<string>\",\n            \"summary\": \"<string>\"\
        ,\n            \"content\": \"<string>\"\n          },\n          \"@attr\": {\n            \"nowplaying\": \"<string>\"\
        \n          },\n          \"date\": {\n            \"uts\": \"<string>\",\n            \"#text\": \"<string>\"\n \
        \         }\n        },\n        {\n          \"name\": \"<string>\",\n          \"mbid\": \"<string>\",\n       \
        \   \"url\": \"<uri>\",\n          \"duration\": \"<string>\",\n          \"artist\": {\n            \"name\": \"\
        <string>\",\n            \"mbid\": \"<string>\",\n            \"url\": \"<uri>\",\n            \"image\": [\n    \
        \          {\n                \"size\": \"medium\",\n                \"#text\": \"<uri>\"\n              },\n    \
        \          {\n                \"size\": \"extralarge\",\n                \"#text\": \"<uri>\"\n              }\n \
        \           ],\n            \"streamable\": \"<string>\",\n            \"ontour\": \"<string>\",\n            \"stats\"\
        : {\n              \"listeners\": \"<string>\",\n              \"playcount\": \"<string>\"\n            },\n     \
        \       \"similar\": {\n              \"artist\": [\n                {\n                  \"value\": \"<Circular reference\
        \ to #/components/schemas/Artist detected>\"\n                },\n                {\n                  \"value\":\
        \ \"<Circular reference to #/components/schemas/Artist detected>\"\n                }\n              ]\n         \
        \   },\n            \"tags\": {\n              \"tag\": [\n                {\n                  \"name\": \"<string>\"\
        ,\n                  \"url\": \"<uri>\",\n                  \"count\": \"<integer>\"\n                },\n       \
        \         {\n                  \"name\": \"<string>\",\n                  \"url\": \"<uri>\",\n                  \"\
        count\": \"<integer>\"\n                }\n              ]\n            },\n            \"bio\": {\n             \
        \ \"published\": \"<string>\",\n              \"summary\": \"<string>\",\n              \"content\": \"<string>\"\n\
        \            }\n          },\n          \"album\": {\n            \"artist\": \"<string>\",\n            \"title\"\
        : \"<string>\",\n            \"mbid\": \"<string>\",\n            \"url\": \"<uri>\"\n          },\n          \"listeners\"\
        : \"<string>\",\n          \"playcount\": \"<string>\",\n          \"userplaycount\": \"<string>\",\n          \"\
        userloved\": \"0\",\n          \"toptags\": {\n            \"tag\": [\n              {\n                \"name\":\
        \ \"<string>\",\n                \"url\": \"<uri>\",\n                \"count\": \"<integer>\"\n              },\n\
        \              {\n                \"name\": \"<string>\",\n                \"url\": \"<uri>\",\n                \"\
        count\": \"<integer>\"\n              }\n            ]\n          },\n          \"wiki\": {\n            \"published\"\
        : \"<string>\",\n            \"summary\": \"<string>\",\n            \"content\": \"<string>\"\n          },\n   \
        \       \"@attr\": {\n            \"nowplaying\": \"<string>\"\n          },\n          \"date\": {\n            \"\
        uts\": \"<string>\",\n            \"#text\": \"<string>\"\n          }\n        }\n      ]\n    },\n    \"tags\":\
        \ {\n      \"tag\": [\n        {\n          \"name\": \"<string>\",\n          \"url\": \"<uri>\",\n          \"count\"\
        : \"<integer>\"\n        },\n        {\n          \"name\": \"<string>\",\n          \"url\": \"<uri>\",\n       \
        \   \"count\": \"<integer>\"\n        }\n      ]\n    },\n    \"wiki\": {\n      \"published\": \"<string>\",\n  \
        \    \"summary\": \"<string>\",\n      \"content\": \"<string>\"\n    }\n  }\n}"
      createdAt: '2026-06-05T15:10:16.000Z'
      updatedAt: '2026-06-05T15:10:16.000Z'
      uid: 35240-74f0f1a1-9355-4caf-a035-567ec45f794a
    - id: 4f10d6d7-9121-48a3-a125-c4726481ffdf
      name: Error response (status='failed').
      originalRequest:
        method: GET
        header:
        - key: Accept
          value: application/json
        url:
          raw: '{{baseUrl}}/?method=<string>&api_key=<API Key>&format=xml&callback=<string>&artist=<string>&album=<string>&track=<string>&mbid=<string>&user=<string>&tag=<string>&country=<string>&limit=50&page=1&period=6month&autocorrect=0&username=<string>'
          host:
          - '{{baseUrl}}'
          path:
          - ''
          query:
          - description: '(Required) Method name in `package.method` format (e.g. `track.getInfo`,

              `chart.getTopArtists`, `user.getRecentTracks`).

              '
            key: method
            value: <string>
          - description: (Required) Your Last.fm API key.
            key: api_key
            value: <API Key>
          - description: Response format. Defaults to XML.
            key: format
            value: xml
          - description: Optional JSONP callback function name when `format=json`.
            key: callback
            value: <string>
          - description: Artist name (used by album.*, artist.*, track.* read methods).
            key: artist
            value: <string>
          - description: Album name (used by album.* methods).
            key: album
            value: <string>
          - description: Track name (used by track.* methods).
            key: track
            value: <string>
          - description: MusicBrainz identifier; takes precedence over artist/album/track names.
            key: mbid
            value: <string>
          - description: Last.fm username (used by user.* methods).
            key: user
            value: <string>
          - description: Tag name (used by tag.* methods).
            key: tag
            value: <string>
          - description: ISO 3166-1 country name (used by geo.* methods).
            key: country
            value: <string>
          - description: Max items per page.
            key: limit
            value: '50'
          - description: Page number for paginated results.
            key: page
            value: '1'
          - description: Aggregation window for user.getTop* methods.
            key: period
            value: 6month
          - description: Auto-correct misspelled artist/track names when set to 1.
            key: autocorrect
            value: '0'
          - description: Username context for personalized fields (playcount, userplaycount).
            key: username
            value: <string>
      status: Bad Request
      code: 400
      _postman_previewlanguage: json
      header:
      - key: Content-Type
        value: application/json
      cookie: []
      responseTime: null
      body: "{\n  \"error\": \"<integer>\",\n  \"message\": \"<string>\"\n}"
      createdAt: '2026-06-05T15:10:16.000Z'
      updatedAt: '2026-06-05T15:10:16.000Z'
      uid: 35240-4f10d6d7-9121-48a3-a125-c4726481ffdf
    - id: e18555d3-8d3a-4155-a4d4-3010134a54a7
      name: Error response (status='failed').
      originalRequest:
        method: GET
        header:
        - key: Accept
          value: application/json
        url:
          raw: '{{baseUrl}}/?method=<string>&api_key=<API Key>&format=xml&callback=<string>&artist=<string>&album=<string>&track=<string>&mbid=<string>&user=<string>&tag=<string>&country=<string>&limit=50&page=1&period=6month&autocorrect=0&username=<string>'
          host:
          - '{{baseUrl}}'
          path:
          - ''
          query:
          - description: '(Required) Method name in `package.method` format (e.g. `track.getInfo`,

              `chart.getTopArtists`, `user.getRecentTracks`).

              '
            key: method
            value: <string>
          - description: (Required) Your Last.fm API key.
            key: api_key
            value: <API Key>
          - description: Response format. Defaults to XML.
            key: format
            value: xml
          - description: Optional JSONP callback function name when `format=json`.
            key: callback
            value: <string>
          - description: Artist name (used by album.*, artist.*, track.* read methods).
            key: artist
            value: <string>
          - description: Album name (used by album.* methods).
            key: album
            value: <string>
          - description: Track name (used by track.* methods).
            key: track
            value: <string>
          - description: MusicBrainz identifier; takes precedence over artist/album/track names.
            key: mbid
            value: <string>
          - description: Last.fm username (used by user.* methods).
            key: user
            value: <string>
          - description: Tag name (used by tag.* methods).
            key: tag
            value: <string>
          - description: ISO 3166-1 country name (used by geo.* methods).
            key: country
            value: <string>
          - description: Max items per page.
            key: limit
            value: '50'
          - description: Page number for paginated results.
            key: page
            value: '1'
          - description: Aggregation window for user.getTop* methods.
            key: period
            value: 6month
          - description: Auto-correct misspelled artist/track names when set to 1.
            key: autocorrect
            value: '0'
          - description: Username context for personalized fields (playcount, userplaycount).
            key: username
            value: <string>
      status: Forbidden
      code: 403
      _postman_previewlanguage: json
      header:
      - key: Content-Type
        value: application/json
      cookie: []
      responseTime: null
      body: "{\n  \"error\": \"<integer>\",\n  \"message\": \"<string>\"\n}"
      createdAt: '2026-06-05T15:10:16.000Z'
      updatedAt: '2026-06-05T15:10:16.000Z'
      uid: 35240-e18555d3-8d3a-4155-a4d4-3010134a54a7
    - id: 8f84c246-dfe6-434d-828c-3bdd80fb448c
      name: Error response (status='failed').
      originalRequest:
        method: GET
        header:
        - key: Accept
          value: application/json
        url:
          raw: '{{baseUrl}}/?method=<string>&api_key=<API Key>&format=xml&callback=<string>&artist=<string>&album=<string>&track=<string>&mbid=<string>&user=<string>&tag=<string>&country=<string>&limit=50&page=1&period=6month&autocorrect=0&username=<string>'
          host:
          - '{{baseUrl}}'
          path:
          - ''
          query:
          - description: '(Required) Method name in `package.method` format (e.g. `track.getInfo`,

              `chart.getTopArtists`, `user.getRecentTracks`).

              '
            key: method
            value: <string>
          - description: (Required) Your Last.fm API key.
            key: api_key
            value: <API Key>
          - description: Response format. Defaults to XML.
            key: format
            value: xml
          - description: Optional JSONP callback function name when `format=json`.
            key: callback
            value: <string>
          - description: Artist name (used by album.*, artist.*, track.* read methods).
            key: artist
            value: <string>
          - description: Album name (used by album.* methods).
            key: album
            value: <string>
          - description: Track name (used by track.* methods).
            key: track
            value: <string>
          - description: MusicBrainz identifier; takes precedence over artist/album/track names.
            key: mbid
            value: <string>
          - description: Last.fm username (used by user.* methods).
            key: user
            value: <string>
          - description: Tag name (used by tag.* methods).
            key: tag
            value: <string>
          - description: ISO 3166-1 country name (used by geo.* methods).
            key: country
            value: <string>
          - description: Max items per page.
            key: limit
            value: '50'
          - description: Page number for paginated results.
            key: page
            value: '1'
          - description: Aggregation window for user.getTop* methods.
            key: period
            value: 6month
          - description: Auto-correct misspelled artist/track names when set to 1.
            key: autocorrect
            value: '0'
          - description: Username context for personalized fields (playcount, userplaycount).
            key: username
            value: <string>
      status: Too Many Requests
      code: 429
      _postman_previewlanguage: json
      header:
      - key: Content-Type
        value: application/json
      cookie: []
      responseTime: null
      body: "{\n  \"error\": \"<integer>\",\n  \"message\": \"<string>\"\n}"
      createdAt: '2026-06-05T15:10:16.000Z'
      updatedAt: '2026-06-05T15:10:16.000Z'
      uid: 35240-8f84c246-dfe6-434d-828c-3bdd80fb448c
    createdAt: '2026-06-05T15:10:16.000Z'
    updatedAt: '2026-06-05T15:10:16.000Z'
    uid: 35240-d054f325-efec-4024-b18d-529a2655fbab
  - name: Invoke A Write Method
    id: c553b4bf-9cdc-432d-bc4a-6e1a3ddbd957
    protocolProfileBehavior:
      disableBodyPruning: true
    request:
      method: POST
      header:
      - key: Content-Type
        value: application/x-www-form-urlencoded
      - key: Accept
        value: application/json
      body:
        mode: urlencoded
        urlencoded:
        - description: '(Required) '
          key: method
          value: <string>
        - description: '(Required) '
          key: api_key
          value: <string>
        - description: Session key returned by auth.getSession / auth.getMobileSession.
          key: sk
          value: <string>
        - description: MD5 signature of params + secret.
          key: api_sig
          value: <string>
      url:
        raw: '{{baseUrl}}/'
        host:
        - '{{baseUrl}}'
        path:
        - ''
      description: 'Single write-side dispatch endpoint. Used for authenticated write actions:

        `track.scrobble`, `track.updateNowPlaying`, `track.love`, `track.unlove`,

        `album.addTags`, `album.removeTag`, `artist.addTags`, `artist.removeTag`,

        `track.addTags`, `track.removeTag`. POST body parameters are

        `application/x-www-form-urlencoded` UTF-8 encoded and must include

        `api_key`, `sk` (session key), and `api_sig`.

        '
    response:
    - id: 1e5db84f-caf4-4277-9399-d397b43ba3ac
      name: Successful write response with status wrapper.
      originalRequest:
        method: POST
        header:
        - key: Content-Type
          value: application/x-www-form-urlencoded
        - key: Accept
          value: application/json
        body:
          mode: urlencoded
          urlencoded:
          - description: '(Required) '
            key: method
            value: <string>
          - description: '(Required) '
            key: api_key
            value: <string>
          - description: Session key returned by auth.getSession / auth.getMobileSession.
            key: sk
            value: <string>
          - description: MD5 signature of params + secret.
            key: api_sig
            value: <string>
        url:
          raw: '{{baseUrl}}/?api_key=<API Key>'
          host:
          - '{{baseUrl}}'
          path:
          - ''
          query:
          - description: 'Added as a part of security scheme: apikey'
            key: api_key
            value: <API Key>
      status: OK
      code: 200
      _postman_previewlanguage: json
      header:
      - key: Content-Type
        value: application/json
      cookie: []
      responseTime: null
      body: "{\n  \"status\": \"<string>\"\n}"
      createdAt: '2026-06-05T15:10:16.000Z'
      updatedAt: '2026-06-05T15:10:16.000Z'
      uid: 35240-1e5db84f-caf4-4277-9399-d397b43ba3ac
    - id: f27943b4-89d8-4b4b-a29e-d44799d5372d
      name: Error response (status='failed').
      originalRequest:
        method: POST
        header:
        - key: Content-Type
          value: application/x-www-form-urlencoded
        - key: Accept
          value: application/json
        body:
          mode: urlencoded
          urlencoded:
          - description: '(Required) '
            key: method
            value: <string>
          - description: '(Required) '
            key: api_key
            value: <string>
          - description: Session key returned by auth.getSession / auth.getMobileSession.
            key: sk
            value: <string>
          - description: MD5 signature of params + secret.
            key: api_sig
            value: <string>
        url:
          raw: '{{baseUrl}}/?api_key=<API Key>'
          host:
          - '{{baseUrl}}'
          path:
          - ''
          query:
          - description: 'Added as a part of security scheme: apikey'
            key: api_key
            value: <API Key>
      status: Bad Request
      code: 400
      _postman_previewlanguage: json
      header:
      - key: Content-Type
        value: application/json
      cookie: []
      responseTime: null
      body: "{\n  \"error\": \"<integer>\",\n  \"message\": \"<string>\"\n}"
      createdAt: '2026-06-05T15:10:16.000Z'
      updatedAt: '2026-06-05T15:10:16.000Z'
      uid: 35240-f27943b4-89d8-4b4b-a29e-d44799d5372d
    - id: 504d6579-029e-4f4c-be81-63533798a0cd
      name: Error response (status='failed').
      originalRequest:
        method: POST
        header:
        - key: Content-Type
          value: application/x-www-form-urlencoded
        - key: Accept
          value: application/json
        body:
          mode: urlencoded
          urlencoded:
          - description: '(Required) '
            key: method
            value: <string>
          - description: '(Required) '
            key: api_key
            value: <string>
          - description: Session key returned by auth.getSession / auth.getMobileSession.
            key: sk
            value: <string>
          - description: MD5 signature of params + secret.
            key: api_sig
            value: <string>
        url:
          raw: '{{baseUrl}}/?api_key=<API Key>'
          host:
          - '{{baseUrl}}'
          path:
          - ''
          query:
          - description: 'Added as a part of security scheme: apikey'
            key: api_key
            value: <API Key>
      status: Forbidden
      code: 403
      _postman_previewlanguage: json
      header:
      - key: Content-Type
        value: application/json
      cookie: []
      responseTime: null
      body: "{\n  \"error\": \"<integer>\",\n  \"message\": \"<string>\"\n}"
      createdAt: '2026-06-05T15:10:16.000Z'
      updatedAt: '2026-06-05T15:10:16.000Z'
      uid: 35240-504d6579-029e-4f4c-be81-63533798a0cd
    - id: 5a99bc91-c9fa-4634-9371-00472e71f951
      name: Error response (status='failed').
      originalRequest:
        method: POST
        header:
        - key: Content-Type
          value: application/x-www-form-urlencoded
        - key: Accept
          value: application/json
        body:
          mode: urlencoded
          urlencoded:
          - description: '(Required) '
            key: method
            value: <string>
          - description: '(Required) '
            key: api_key
            value: <string>
          - description: Session key returned by auth.getSession / auth.getMobileSession.
            key: sk
            value: <string>
          - description: MD5 signature of params + secret.
            key: api_sig
            value: <string>
        url:
          raw: '{{baseUrl}}/?api_key=<API Key>'
          host:
          - '{{baseUrl}}'
          path:
          - ''
          query:
          - description: 'Added as a part of security scheme: apikey'
            key: api_key
            value: <API Key>
      status: Too Many Requests
      code: 429
      _postman_previewlanguage: json
      header:
      - key: Content-Type
        value: application/json
      cookie: []
      responseTime: null
      body: "{\n  \"error\": \"<integer>\",\n  \"message\": \"<string>\"\n}"
      createdAt: '2026-06-05T15:10:16.000Z'
      updatedAt: '2026-06-05T15:10:16.000Z'
      uid: 35240-5a99bc91-c9fa-4634-9371-00472e71f951
    createdAt: '2026-06-05T15:10:16.000Z'
    updatedAt: '2026-06-05T15:10:16.000Z'
    uid: 35240-c553b4bf-9cdc-432d-bc4a-6e1a3ddbd957
  id: fea07ac3-ec08-40a7-a2f3-9c24821f7362
  createdAt: '2026-06-05T15:10:16.000Z'
  updatedAt: '2026-06-05T15:10:16.000Z'
  uid: 35240-fea07ac3-ec08-40a7-a2f3-9c24821f7362
- name: ?method=album.addTags
  item:
  - name: Add Album Tags
    id: 3342d201-d67a-41f7-a40b-3e0ecbf1038c
    protocolProfileBehavior:
      disableBodyPruning: true
    request:
      method: POST
      header:
      - key: Content-Type
        value: application/x-www-form-urlencoded
      - key: Accept
        value: application/json
      body:
        mode: urlencoded
        urlencoded:
        - description: '(Required) '
          key: method
          value: album.addTags
        - description: '(Required) '
          key: api_key
          value: <string>
        - description: '(Required) '
          key: artist
          value: <string>
        - description: '(Required) '
          key: album
          value: <string>
        - description: (Required) Comma-separated tag list (max 10 for addTags).
          key: tags
          value: <string>
        - description: '(Required) '
          key: sk
          value: <string>
        - description: '(Required) '
          key: api_sig
          value: <string>
        - description: Single tag (for removeTag).
          key: tag
          value: <string>
      url:
        raw: '{{baseUrl}}/?method=album.addTags'
        host:
        - '{{baseUrl}}'
        path:
        - ''
        query:
        - key: method
          value: album.addTags
      description: Tag an album using a list of user supplied tags. Requires authentication.
    response:
    - id: 22454110-904e-48d0-9198-e1b3456cce4e
      name: OK
      originalRequest:
        method: POST
        header:
        - key: Content-Type
          value: application/x-www-form-urlencoded
        - key: Accept
          value: application/json
        body:
          mode: urlencoded
          urlencoded:
          - description: '(Required) '
            key: method
            value: album.addTags
          - description: '(Required) '
            key: api_key
            value: <string>
          - description: '(Required) '
      

# --- truncated at 32 KB (387 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lastfm/refs/heads/main/apis.yml