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.

Last.fm publishes 9 APIs on the APIs.io network, including Album API, Artist API, Auth API, and 6 more. Tagged areas include Music, Audio, Scrobbling, Recommendations, and Charts.

The Last.fm catalog on APIs.io includes 1 JSON-LD context and 2 Spectral governance rulesets.

Last.fm’s developer surface includes authentication, documentation, getting-started guide, API reference, signup flow, support, pricing, and 42 more developer resources.

63.0/100 strong ▬ flat Agent 34/100 agent ready Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessFreemiumSelf serve⚡ Free to try
9 APIs
MusicAudioScrobblingRecommendationsChartsPublic APIsAudioScrobbler

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 63.0/100 · strong
Contract Quality 18.1 / 25
Developer Ergonomics 13.9 / 20
Commercial Clarity 10.5 / 20
Operational Transparency 4.8 / 13
Governance 8.3 / 12
Discoverability 7.4 / 10
Agent readiness — 34/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/lastfm: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 9

Individual APIs this provider publishes, each with its own machine-readable definition.

Last.fm Album API

Album metadata, tagging, and search.

Last.fm Artist API

Artist metadata, similarity, tagging, top albums/tracks, and search.

Last.fm Auth API

Token, session, and mobile session acquisition for authenticated calls.

Last.fm Chart API

Global top artists, tags, and tracks.

Last.fm Geo API

Country-level top artists and tracks.

Last.fm Library API

A user's scrobbled artist library.

Last.fm Tag API

Tag metadata, similar tags, top albums/artists/tracks, and chart history.

Last.fm Track API

Track metadata, scrobbling, love/unlove, tagging, search.

Last.fm User API

User profile, friends, listening history, top entities, and weekly charts.

Scroll for all 9

Postman Collections 1

Ready-to-run Postman collections for exercising this provider's APIs.

Arazzo Workflows 10

Multi-step API workflows described with the Arazzo specification.

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

Scroll for all 10

Pricing Plans 1

Published pricing tiers and plan structures.

Lastfm Plans Pricing

2 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Lastfm Rate Limits

4 limits

RATE LIMITS

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Lastfm Context

27 classes · 8 properties

JSON-LD

Spectral Rules 2

Spectral governance rulesets for linting and validating these APIs.

Last.fm API Rules

5 rules · 4 warnings 1 info

SPECTRAL

Last.fm API Rules

13 rules · 6 errors 4 warnings 3 info

SPECTRAL

JSON Schema 5

Standalone JSON Schema definitions for this provider's data models.

Last.fm Album

11 properties

JSON SCHEMA

Last.fm Artist

10 properties

JSON SCHEMA

Last.fm Tag

6 properties

JSON SCHEMA

Last.fm Track

15 properties

JSON SCHEMA

Last.fm User

12 properties

JSON SCHEMA

JSON Structure 3

JSON Structure definitions describing this provider's data shapes.

Lastfm Album Structure

11 properties

JSON STRUCTURE

Lastfm Artist Structure

8 properties

JSON STRUCTURE

Lastfm Track Structure

12 properties

JSON STRUCTURE

Examples 6

Example request and response payloads for these APIs.

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Lastfm Authentication

apiKey · 2 schemes

SECURITY

Lastfm Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Lastfm Agentic Access

59 operations · 12 acting

59 operations · 12 acting

AGENTIC

Resources

Get Started 3

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 14

Pagination, idempotency, versioning, errors, and events

Scroll for all 14

Build 18

SDKs, sample code, and the tooling you integrate with

Scroll for all 18

Access & Security 3

Authentication, authorization, and security posture

Operate 3

Status, limits, changes, and where to get help

Commercial 3

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: lastfm
name: Last.fm
description: 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.
type: Index
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Freemium · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
position: Consuming
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/lastfm.png
tags:
- Music
- Audio
- Scrobbling
- Recommendations
- Charts
- Public APIs
- AudioScrobbler
created: '2026-05-28'
modified: '2026-05-29'
url: https://raw.githubusercontent.com/api-evangelist/lastfm/main/apis.yml
specificationVersion: '0.20'
x-source: public-apis/public-apis
x-category: Music
x-type: company
x-tier: 3
x-tier-reason: bulk-registered-from-public-apis-then-enriched
apis:
- aid: lastfm:lastfm-album-api
  name: Last.fm Album API
  description: Album metadata, tagging, and search.
  humanURL: https://www.last.fm/api
  baseURL: https://ws.audioscrobbler.com/2.0
  tags:
  - Album
  properties:
  - type: OpenAPI
    url: openapi/lastfm-album-api-openapi.yml
  - type: Documentation
    url: https://www.last.fm/api
  - type: GettingStarted
    url: https://www.last.fm/api/intro
  - type: APIReference
    url: https://www.last.fm/api/intro
  - type: Authentication
    url: https://www.last.fm/api/authentication
  - type: Signup
    url: https://www.last.fm/api/account/create
  - type: RateLimits
    url: rate-limits/lastfm-rate-limits.yml
  - type: TermsOfService
    url: https://www.last.fm/api/tos
  - type: ErrorCodes
    url: https://www.last.fm/api/errorcodes
  - type: JSONSchema
    url: json-schema/lastfm-album-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-artist-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-track-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-tag-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-user-schema.json
  - type: JSONStructure
    url: json-structure/lastfm-album-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-artist-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-track-structure.json
  - type: JSONLD
    url: json-ld/lastfm-context.jsonld
  - type: Examples
    url: examples/lastfm-album-getinfo-example.json
  - type: Examples
    url: examples/lastfm-artist-getinfo-example.json
  - type: Examples
    url: examples/lastfm-track-getinfo-example.json
  - type: Examples
    url: examples/lastfm-chart-gettopartists-example.json
  - type: Examples
    url: examples/lastfm-user-getrecenttracks-example.json
  - type: Examples
    url: examples/lastfm-track-scrobble-example.json
- aid: lastfm:lastfm-artist-api
  name: Last.fm Artist API
  description: Artist metadata, similarity, tagging, top albums/tracks, and search.
  humanURL: https://www.last.fm/api
  baseURL: https://ws.audioscrobbler.com/2.0
  tags:
  - Artist
  properties:
  - type: OpenAPI
    url: openapi/lastfm-artist-api-openapi.yml
  - type: Documentation
    url: https://www.last.fm/api
  - type: GettingStarted
    url: https://www.last.fm/api/intro
  - type: APIReference
    url: https://www.last.fm/api/intro
  - type: Authentication
    url: https://www.last.fm/api/authentication
  - type: Signup
    url: https://www.last.fm/api/account/create
  - type: RateLimits
    url: rate-limits/lastfm-rate-limits.yml
  - type: TermsOfService
    url: https://www.last.fm/api/tos
  - type: ErrorCodes
    url: https://www.last.fm/api/errorcodes
  - type: JSONSchema
    url: json-schema/lastfm-album-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-artist-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-track-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-tag-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-user-schema.json
  - type: JSONStructure
    url: json-structure/lastfm-album-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-artist-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-track-structure.json
  - type: JSONLD
    url: json-ld/lastfm-context.jsonld
  - type: Examples
    url: examples/lastfm-album-getinfo-example.json
  - type: Examples
    url: examples/lastfm-artist-getinfo-example.json
  - type: Examples
    url: examples/lastfm-track-getinfo-example.json
  - type: Examples
    url: examples/lastfm-chart-gettopartists-example.json
  - type: Examples
    url: examples/lastfm-user-getrecenttracks-example.json
  - type: Examples
    url: examples/lastfm-track-scrobble-example.json
- aid: lastfm:lastfm-auth-api
  name: Last.fm Auth API
  description: Token, session, and mobile session acquisition for authenticated calls.
  humanURL: https://www.last.fm/api
  baseURL: https://ws.audioscrobbler.com/2.0
  tags:
  - Auth
  properties:
  - type: OpenAPI
    url: openapi/lastfm-auth-api-openapi.yml
  - type: Documentation
    url: https://www.last.fm/api
  - type: GettingStarted
    url: https://www.last.fm/api/intro
  - type: APIReference
    url: https://www.last.fm/api/intro
  - type: Authentication
    url: https://www.last.fm/api/authentication
  - type: Signup
    url: https://www.last.fm/api/account/create
  - type: RateLimits
    url: rate-limits/lastfm-rate-limits.yml
  - type: TermsOfService
    url: https://www.last.fm/api/tos
  - type: ErrorCodes
    url: https://www.last.fm/api/errorcodes
  - type: JSONSchema
    url: json-schema/lastfm-album-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-artist-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-track-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-tag-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-user-schema.json
  - type: JSONStructure
    url: json-structure/lastfm-album-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-artist-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-track-structure.json
  - type: JSONLD
    url: json-ld/lastfm-context.jsonld
  - type: Examples
    url: examples/lastfm-album-getinfo-example.json
  - type: Examples
    url: examples/lastfm-artist-getinfo-example.json
  - type: Examples
    url: examples/lastfm-track-getinfo-example.json
  - type: Examples
    url: examples/lastfm-chart-gettopartists-example.json
  - type: Examples
    url: examples/lastfm-user-getrecenttracks-example.json
  - type: Examples
    url: examples/lastfm-track-scrobble-example.json
- aid: lastfm:lastfm-chart-api
  name: Last.fm Chart API
  description: Global top artists, tags, and tracks.
  humanURL: https://www.last.fm/api
  baseURL: https://ws.audioscrobbler.com/2.0
  tags:
  - Chart
  properties:
  - type: OpenAPI
    url: openapi/lastfm-chart-api-openapi.yml
  - type: Documentation
    url: https://www.last.fm/api
  - type: GettingStarted
    url: https://www.last.fm/api/intro
  - type: APIReference
    url: https://www.last.fm/api/intro
  - type: Authentication
    url: https://www.last.fm/api/authentication
  - type: Signup
    url: https://www.last.fm/api/account/create
  - type: RateLimits
    url: rate-limits/lastfm-rate-limits.yml
  - type: TermsOfService
    url: https://www.last.fm/api/tos
  - type: ErrorCodes
    url: https://www.last.fm/api/errorcodes
  - type: JSONSchema
    url: json-schema/lastfm-album-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-artist-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-track-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-tag-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-user-schema.json
  - type: JSONStructure
    url: json-structure/lastfm-album-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-artist-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-track-structure.json
  - type: JSONLD
    url: json-ld/lastfm-context.jsonld
  - type: Examples
    url: examples/lastfm-album-getinfo-example.json
  - type: Examples
    url: examples/lastfm-artist-getinfo-example.json
  - type: Examples
    url: examples/lastfm-track-getinfo-example.json
  - type: Examples
    url: examples/lastfm-chart-gettopartists-example.json
  - type: Examples
    url: examples/lastfm-user-getrecenttracks-example.json
  - type: Examples
    url: examples/lastfm-track-scrobble-example.json
- aid: lastfm:lastfm-geo-api
  name: Last.fm Geo API
  description: Country-level top artists and tracks.
  humanURL: https://www.last.fm/api
  baseURL: https://ws.audioscrobbler.com/2.0
  tags:
  - Geo
  properties:
  - type: OpenAPI
    url: openapi/lastfm-geo-api-openapi.yml
  - type: Documentation
    url: https://www.last.fm/api
  - type: GettingStarted
    url: https://www.last.fm/api/intro
  - type: APIReference
    url: https://www.last.fm/api/intro
  - type: Authentication
    url: https://www.last.fm/api/authentication
  - type: Signup
    url: https://www.last.fm/api/account/create
  - type: RateLimits
    url: rate-limits/lastfm-rate-limits.yml
  - type: TermsOfService
    url: https://www.last.fm/api/tos
  - type: ErrorCodes
    url: https://www.last.fm/api/errorcodes
  - type: JSONSchema
    url: json-schema/lastfm-album-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-artist-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-track-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-tag-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-user-schema.json
  - type: JSONStructure
    url: json-structure/lastfm-album-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-artist-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-track-structure.json
  - type: JSONLD
    url: json-ld/lastfm-context.jsonld
  - type: Examples
    url: examples/lastfm-album-getinfo-example.json
  - type: Examples
    url: examples/lastfm-artist-getinfo-example.json
  - type: Examples
    url: examples/lastfm-track-getinfo-example.json
  - type: Examples
    url: examples/lastfm-chart-gettopartists-example.json
  - type: Examples
    url: examples/lastfm-user-getrecenttracks-example.json
  - type: Examples
    url: examples/lastfm-track-scrobble-example.json
- aid: lastfm:lastfm-library-api
  name: Last.fm Library API
  description: A user's scrobbled artist library.
  humanURL: https://www.last.fm/api
  baseURL: https://ws.audioscrobbler.com/2.0
  tags:
  - Library
  properties:
  - type: OpenAPI
    url: openapi/lastfm-library-api-openapi.yml
  - type: Documentation
    url: https://www.last.fm/api
  - type: GettingStarted
    url: https://www.last.fm/api/intro
  - type: APIReference
    url: https://www.last.fm/api/intro
  - type: Authentication
    url: https://www.last.fm/api/authentication
  - type: Signup
    url: https://www.last.fm/api/account/create
  - type: RateLimits
    url: rate-limits/lastfm-rate-limits.yml
  - type: TermsOfService
    url: https://www.last.fm/api/tos
  - type: ErrorCodes
    url: https://www.last.fm/api/errorcodes
  - type: JSONSchema
    url: json-schema/lastfm-album-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-artist-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-track-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-tag-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-user-schema.json
  - type: JSONStructure
    url: json-structure/lastfm-album-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-artist-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-track-structure.json
  - type: JSONLD
    url: json-ld/lastfm-context.jsonld
  - type: Examples
    url: examples/lastfm-album-getinfo-example.json
  - type: Examples
    url: examples/lastfm-artist-getinfo-example.json
  - type: Examples
    url: examples/lastfm-track-getinfo-example.json
  - type: Examples
    url: examples/lastfm-chart-gettopartists-example.json
  - type: Examples
    url: examples/lastfm-user-getrecenttracks-example.json
  - type: Examples
    url: examples/lastfm-track-scrobble-example.json
- aid: lastfm:lastfm-tag-api
  name: Last.fm Tag API
  description: Tag metadata, similar tags, top albums/artists/tracks, and chart history.
  humanURL: https://www.last.fm/api
  baseURL: https://ws.audioscrobbler.com/2.0
  tags:
  - Tag
  properties:
  - type: OpenAPI
    url: openapi/lastfm-tag-api-openapi.yml
  - type: Documentation
    url: https://www.last.fm/api
  - type: GettingStarted
    url: https://www.last.fm/api/intro
  - type: APIReference
    url: https://www.last.fm/api/intro
  - type: Authentication
    url: https://www.last.fm/api/authentication
  - type: Signup
    url: https://www.last.fm/api/account/create
  - type: RateLimits
    url: rate-limits/lastfm-rate-limits.yml
  - type: TermsOfService
    url: https://www.last.fm/api/tos
  - type: ErrorCodes
    url: https://www.last.fm/api/errorcodes
  - type: JSONSchema
    url: json-schema/lastfm-album-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-artist-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-track-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-tag-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-user-schema.json
  - type: JSONStructure
    url: json-structure/lastfm-album-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-artist-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-track-structure.json
  - type: JSONLD
    url: json-ld/lastfm-context.jsonld
  - type: Examples
    url: examples/lastfm-album-getinfo-example.json
  - type: Examples
    url: examples/lastfm-artist-getinfo-example.json
  - type: Examples
    url: examples/lastfm-track-getinfo-example.json
  - type: Examples
    url: examples/lastfm-chart-gettopartists-example.json
  - type: Examples
    url: examples/lastfm-user-getrecenttracks-example.json
  - type: Examples
    url: examples/lastfm-track-scrobble-example.json
- aid: lastfm:lastfm-track-api
  name: Last.fm Track API
  description: Track metadata, scrobbling, love/unlove, tagging, search.
  humanURL: https://www.last.fm/api
  baseURL: https://ws.audioscrobbler.com/2.0
  tags:
  - Track
  properties:
  - type: OpenAPI
    url: openapi/lastfm-track-api-openapi.yml
  - type: Documentation
    url: https://www.last.fm/api
  - type: GettingStarted
    url: https://www.last.fm/api/intro
  - type: APIReference
    url: https://www.last.fm/api/intro
  - type: Authentication
    url: https://www.last.fm/api/authentication
  - type: Signup
    url: https://www.last.fm/api/account/create
  - type: RateLimits
    url: rate-limits/lastfm-rate-limits.yml
  - type: TermsOfService
    url: https://www.last.fm/api/tos
  - type: ErrorCodes
    url: https://www.last.fm/api/errorcodes
  - type: JSONSchema
    url: json-schema/lastfm-album-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-artist-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-track-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-tag-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-user-schema.json
  - type: JSONStructure
    url: json-structure/lastfm-album-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-artist-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-track-structure.json
  - type: JSONLD
    url: json-ld/lastfm-context.jsonld
  - type: Examples
    url: examples/lastfm-album-getinfo-example.json
  - type: Examples
    url: examples/lastfm-artist-getinfo-example.json
  - type: Examples
    url: examples/lastfm-track-getinfo-example.json
  - type: Examples
    url: examples/lastfm-chart-gettopartists-example.json
  - type: Examples
    url: examples/lastfm-user-getrecenttracks-example.json
  - type: Examples
    url: examples/lastfm-track-scrobble-example.json
- aid: lastfm:lastfm-user-api
  name: Last.fm User API
  description: User profile, friends, listening history, top entities, and weekly charts.
  humanURL: https://www.last.fm/api
  baseURL: https://ws.audioscrobbler.com/2.0
  tags:
  - User
  properties:
  - type: OpenAPI
    url: openapi/lastfm-user-api-openapi.yml
  - type: Documentation
    url: https://www.last.fm/api
  - type: GettingStarted
    url: https://www.last.fm/api/intro
  - type: APIReference
    url: https://www.last.fm/api/intro
  - type: Authentication
    url: https://www.last.fm/api/authentication
  - type: Signup
    url: https://www.last.fm/api/account/create
  - type: RateLimits
    url: rate-limits/lastfm-rate-limits.yml
  - type: TermsOfService
    url: https://www.last.fm/api/tos
  - type: ErrorCodes
    url: https://www.last.fm/api/errorcodes
  - type: JSONSchema
    url: json-schema/lastfm-album-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-artist-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-track-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-tag-schema.json
  - type: JSONSchema
    url: json-schema/lastfm-user-schema.json
  - type: JSONStructure
    url: json-structure/lastfm-album-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-artist-structure.json
  - type: JSONStructure
    url: json-structure/lastfm-track-structure.json
  - type: JSONLD
    url: json-ld/lastfm-context.jsonld
  - type: Examples
    url: examples/lastfm-album-getinfo-example.json
  - type: Examples
    url: examples/lastfm-artist-getinfo-example.json
  - type: Examples
    url: examples/lastfm-track-getinfo-example.json
  - type: Examples
    url: examples/lastfm-chart-gettopartists-example.json
  - type: Examples
    url: examples/lastfm-user-getrecenttracks-example.json
  - type: Examples
    url: examples/lastfm-track-scrobble-example.json
common:
- type: AgenticAccess
  url: agentic-access/lastfm-agentic-access.yml
- type: DomainSecurity
  url: security/lastfm-domain-security.yml
- type: Authentication
  url: authentication/lastfm-authentication.yml
- type: PostmanWorkspace
  url: https://www.postman.com/kinlaneapi/lastfm/overview
- type: Arazzo
  url: arazzo/lastfm-album-genre-profile-workflow.yml
  name: Last.fm Album Genre Profile
- type: Arazzo
  url: arazzo/lastfm-artist-discovery-workflow.yml
  name: Last.fm Artist Discovery
- type: Arazzo
  url: arazzo/lastfm-chart-to-album-workflow.yml
  name: Last.fm Chart To Album Deep Dive
- type: Arazzo
  url: arazzo/lastfm-genre-artist-explorer-workflow.yml
  name: Last.fm Genre Artist Explorer
- type: Arazzo
  url: arazzo/lastfm-geo-artist-spotlight-workflow.yml
  name: Last.fm Geo Artist Spotlight
- type: Arazzo
  url: arazzo/lastfm-loved-tracks-insight-workflow.yml
  name: Last.fm Loved Tracks Insight
- type: Arazzo
  url: arazzo/lastfm-now-playing-context-workflow.yml
  name: Last.fm Now Playing Context
- type: Arazzo
  url: arazzo/lastfm-tag-to-track-workflow.yml
  name: Last.fm Tag To Track Deep Dive
- type: Arazzo
  url: arazzo/lastfm-track-radio-workflow.yml
  name: Last.fm Track Radio Seed
- type: Arazzo
  url: arazzo/lastfm-user-taste-profile-workflow.yml
  name: Last.fm User Taste Profile
- type: Website
  url: https://www.last.fm
- type: DeveloperPortal
  url: https://www.last.fm/api
- type: Documentation
  url: https://www.last.fm/api
- type: GettingStarted
  url: https://www.last.fm/api/intro
- type: APIReference
  url: https://www.last.fm/api/intro
- type: Authentication
  url: https://www.last.fm/api/authentication
- type: Signup
  url: https://www.last.fm/api/account/create
- type: TermsOfService
  url: https://www.last.fm/api/tos
- type: PrivacyPolicy
  url: https://www.last.fm/legal/privacy
- type: ErrorCodes
  url: https://www.last.fm/api/errorcodes
- type: Support
  url: https://support.last.fm
- type: Contact
  url: mailto:partners@last.fm
- type: GitHubOrganization
  url: https://github.com/lastfm
- type: Pricing
  url: plans/lastfm-plans-pricing.yml
- type: RateLimits
  url: rate-limits/lastfm-rate-limits.yml
- type: SpectralRules
  url: rules/lastfm-rules.yml
- type: Vocabulary
  url: vocabulary/lastfm-vocabulary.yml
- type: JSONLD
  url: json-ld/lastfm-context.jsonld
- type: PublicAPIsListing
  url: https://github.com/public-apis/public-apis
- type: SDKs
  url: https://github.com/inflatablefriends/lastfm
  title: Inflatable.Lastfm (.NET / NuGet) — portable C# client
- type: SDKs
  url: https://github.com/feross/last-fm
  title: feross/last-fm (JavaScript) — simple public-data client
- type: SDKs
  url: https://github.com/dandelionmood/php-lastfm
  title: dandelionmood/php-lastfm (PHP) — dead-simple wrapper
- type: SDKs
  url: https://github.com/barryvanveen/lastfm
  title: barryvanveen/lastfm (PHP + Laravel service provider)
- type: SDKs
  url: https://github.com/gordonbisnor/lastfm
  title: gordonbisnor/lastfm (Ruby) — Rails plugin
- type: SDKs
  url: https://github.com/codegram/lastfm
  title: codegram/lastfm (Ruby) — broad method coverage
- type: SDKs
  url: https://github.com/theorangewill/pylastfmapi
  title: theorangewill/pylastfmapi (Python)
- type: SDKs
  url: https://github.com/jrichocean/Elixirfm
  title: jrichocean/Elixirfm (Elixir)
- type: SDKs
  url: https://github.com/mihaiolteanu/lastfm
  title: mihaiolteanu/lastfm (Common Lisp)
- type: SDKs
  url: https://github.com/supki/liblastfm
  title: supki/liblastfm (Haskell)
- type: SDKs
  url: https://github.com/Nebulino/Scrobblenaut
  title: Nebulino/Scrobblenaut (Dart)
- type: SDKs
  url: https://github.com/SHOEGAZEssb/Shoegaze.LastFM
  title: SHOEGAZEssb/Shoegaze.LastFM (modern C#)
- type: SDKs
  url: https://github.com/mannuelf/lastfm-nodejs-client
  title: mannuelf/lastfm-nodejs-client (TypeScript / Node.js)
- type: SDKs
  url: https://github.com/michaellavelle/spring-social-lastfm
  title: michaellavelle/spring-social-lastfm (Java / Spring Social)
- type: Tools
  url: https://github.com/tfmart/ScrobblerContext
  title: ScrobblerContext — Last.fm MCP server (Swift, stdio MCP transport, search/library/scrobble)
- type: Tools
  url: https://github.com/rianvdm/lastfm-mcp
  title: lastfm-mcp — Cloudflare Workers MCP server with OAuth 2.0 for AI access to Last.fm listening data
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com