Home
Providers
Last.fm
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 API contracts indexed 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 49 more developer resources.
2 published contracts
8 Features
6 Use Cases
On this page
Kin Score FAQ ☀ Get your badge Standards 1
APIs 9
Postman 2
Open Collections 9
Arazzo 10
Pricing
Pricing Plans 1
Rate Limits 1
FinOps 1
Features 8
Vocabularies 1
Spectral Rules 2
JSON Schema 8
JSON Structure 3
Examples 9
Security Posture 2
Agentic Access 1
Use Cases 6
Resources 56
apis.yml
Business capabilities this provider's published APIs can perform, derived from its own
contracts. Browse all capabilities →
26 Operational Transparency
0 Create-or-Update Ergonomics
Composite quality — 54.2/100 · developing
Agent readiness — 24/100 · agent aware
Markets this provider is in provisional
The Kin Score Market layer reads a provider inside its market:
its position, and how deep its integrations go. Depth is only comparable within a position. Provisional and unweighted:
not part of the Kin Score or agent readiness.
Registered MCP server and declares compatibility are report only — not weighted .
Undeclared means we found nothing we can read, so there is no number: we never infer integrations.
Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons ; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.
measured — observed by APIs.io (published)
Individual APIs this provider publishes, each with its own machine-readable definition.
Scroll for all 9
Ready-to-run Postman collections for exercising this provider's APIs.
Open, tool-agnostic API collections (OpenAPI-derived and Bruno).
Scroll for all 9
Multi-step API workflows described with the Arazzo specification.
Scroll for all 10
Last.fm API pricing
Not yet checked against Last.fm's own pricing page. Compiled by API Evangelist on 2026-05-29; confirm before you rely on a figure. A free plan or tier is listed.
Plan Price
Free (Non-Commercial) freemium
Free
Commercial Use Agreement enterprise
—
Plan details, limits and sources →
Rate limits
Per-Origin Rate Guidance: 5 requests per second Scrobble Batch Cap: 50 scrobbles per request Reasonable Usage Cap: 104857600 bytes total
Compiled by API Evangelist, not yet checked against Last.fm's documentation. All 4 limits →
Published pricing tiers and plan structures.
Documented rate limits and quota policies.
Uptime the provider promises or reports, as SLA4OAI. Read from its own pages; APIs.io runs no monitors.
Cost, billing, and metering signals for API financial operations.
Notable capabilities this provider offers.
Scroll for all 8
JSON-LD contexts and semantic vocabularies used across these APIs.
Spectral governance rulesets for linting and validating these APIs.
Standalone JSON Schema definitions for this provider's data models.
Scroll for all 8
JSON Structure definitions describing this provider's data shapes.
Example request and response payloads for these APIs.
Scroll for all 9
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Recommended x-agentic-access execution contracts for AI agents.
What developers build with this provider.
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 3
Properties that don't map to a standard resource type
Source (apis.yml)
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
deliveryModel:
model: saas
open_source: false
commercial: true
callable_host: true
label: Hosted service · you call their endpoint
confidence: high
source:
- openapi
- pricing
generated: '2026-08-28'
method: derived
accessModel:
pricing: freemium
onboarding: self-serve
trial: false
try_now: true
public: false
gated: none
gated_source:
- onboarding
label: Freemium · Self-serve signup
confidence: medium
source:
- plans
- authentication
- security
generated: '2026-11-06'
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: CapabilityMap
url: capabilities/lastfm-capability-edges.yml
name: Last.fm Business Capability Map
- 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
Last.fm API — frequently asked questions
Does Last.fm have an API?
Yes. APIs.io lists 9 APIs from Last.fm, including Last.fm Album API, Last.fm Artist API and Last.fm Auth API, and 6 more.
Is there an OpenAPI specification for the Last.fm API?
Yes. APIs.io indexes 9 OpenAPI specifications for Last.fm, each linked for download from this page.
How do I authenticate with the Last.fm API?
Last.fm uses bearer-token authentication (apiKey · 2 schemes). The details are profiled on APIs.io as Lastfm Authentication.
How much does the Last.fm API cost?
APIs.io lists 2 pricing plans for Last.fm, with each plan's price, limits and inclusions under Pricing on this page.
Is the Last.fm API ready for AI agents?
Last.fm has a Kin Score of 54.2 out of 100 (developing) and an Agent Readiness score of 23.7 (agent-aware), scored by API Evangelist on 2026-11-06.
Every provider here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for providers
9 MCP tools reach this
find_providersBrowse and filter every provider in the catalog.
get_provider_artifactsEvery artifact this provider publishes, grouped by type.
get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
get_provider_ratingPRO — composite, band, trend and facet scores.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This provider
curl "https://apis.io/api/v1/providers/lastfm"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/lastfm/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/lastfm/evidence"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key .
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms .
A second provider on the same verified email joins the account you already have.