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 48 more developer resources.

63.7/100 strong ▬ flat Agent 33/100 agent aware Full breakdown ↓
scored 2026-08-20 · rubric v0.12.0
AccessFreemiumSelf serve⚡ Free to try
9 APIs 8 Features 6 Use Cases
MusicAudioScrobblingRecommendationsChartsPublic APIsAudioScrobbler

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-08-20 · rubric v0.12.0
Composite quality — 63.7/100 · strong
Contract Quality 16.8 / 25
Developer Ergonomics 15.2 / 20
Access Clarity 14.7 / 20
Operational Transparency 6.5 / 13
Contract Governance 3.0 / 12
Discoverability 7.4 / 10
Agent readiness — 33/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
Documented Reversibility 0 / 6
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 2

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

Open Collections 10

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

API Collection

OPEN COLLECTION

Scroll for all 10

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

FinOps 1

Cost, billing, and metering signals for API financial operations.

Features 8

Notable capabilities this provider offers.

Music Metadata

Comprehensive metadata for artists, albums, and tracks including biographies, images, tags, and similar items

Scrobbling

Track submission API (Scrobbling 2.0) for recording listening history from any client or device

User Listening History

Access recent tracks, loved tracks, top artists, albums, and tracks for any user

Music Charts

Global and geographic top artists and tracks, plus tag-based and weekly user charts

Music Discovery

Similar artist and track recommendations powered by Last.fm's social listening data

Artist and Track Search

Full-text search across the Last.fm music catalog for artists, albums, and tracks

Tag Exploration

Browse music by community-applied tags to discover themed playlists and artists

User Social Data

Access user friends, listening comparisons, and shared music taste data

Scroll for all 8

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 8

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

Artist

10 properties

JSON SCHEMA

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

Scrobble

10 properties

JSON SCHEMA

Track

13 properties

JSON SCHEMA

Scroll for all 8

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 9

Example request and response payloads for these APIs.

Artist Getinfo Response

1 fields

EXAMPLE

Track Scrobble Request

14 fields

EXAMPLE

Scroll for all 9

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

Use Cases 6

What developers build with this provider.

Music Player Scrobbling

Record tracks played in music apps to Last.fm user profiles for history and recommendations

Music Metadata Enrichment

Augment music catalogs with artist bios, album art, tags, and similar artist data

Personalized Charts

Display weekly, monthly, or all-time listening charts for users in applications

Music Discovery Features

Power recommendation engines with similar artist and track data from Last.fm

Social Listening

Show what friends are listening to and compare music tastes between users

Geographic Music Trends

Display top artists and tracks by country or region for localized music features

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 4

Status, limits, changes, and where to get help

Commercial 5

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Other 2

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-08-08'
url: https://raw.githubusercontent.com/api-evangelist/lastfm/main/apis.yml
specificationVersion: '0.23'
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:
  - Artists
  tags_raw:
  - 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:
  - Authentication
  tags_raw:
  - 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
- type: LinkedIn
  url: https://www.linkedin.com/company/last-fm
- type: Blog
  url: https://www.last.fm/blog
- type: X
  url: https://x.com/lastfm
- type: StatusPage
  url: https://x.com/lastfmstatus
- type: Plans
  url: plans/lastfm-plans-pricing.yml
- type: FinOps
  url: finops/lastfm-finops.yml
- type: Features
  data:
  - name: Music Metadata
    description: Comprehensive metadata for artists, albums, and tracks including biographies, images, tags, and similar items
  - name: Scrobbling
    description: Track submission API (Scrobbling 2.0) for recording listening history from any client or device
  - name: User Listening History
    description: Access recent tracks, loved tracks, top artists, albums, and tracks for any user
  - name: Music Charts
    description: Global and geographic top artists and tracks, plus tag-based and weekly user charts
  - name: Music Discovery
    description: Similar artist and track recommendations powered by Last.fm's social listening data
  - name: Artist and Track Search
    description: Full-text search across the Last.fm music catalog for artists, albums, and tracks
  - name: Tag Exploration
    description: Browse music by community-applied tags to discover themed playlists and artists
  - name: User Social Data
    description: Access user friends, listening comparisons, and shared music taste data
  url: ''
- type: UseCases
  data:
  - name: Music Player Scrobbling
    description: Record tracks played in music apps to Last.fm user profiles for history and recommendations
  - name: Music Metadata Enrichment
    description: Augment music catalogs with artist bios, album art, tags, and similar artist data
  - name: Personalized Charts
    description: Display weekly, monthly, or all-time listening charts for users in applications
  - name: Music Discovery Features
    description: Power recommendation engines with similar artist and track data from Last.fm
  - name: Social Listening
    description: Show what friends are listening to and compare music tastes between users
  - name: Geographic Music Trends
    description: Display top artists and tracks by country or region for localized music features
  url: ''
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
x-merged-from:
- last-fm