setlist.fm Artists API
Artists keyed by MusicBrainz MBID and their setlists.
Artists keyed by MusicBrainz MBID and their setlists.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/setlist-fm-artists-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
openapi: 3.2.0
info:
title: setlist.fm REST Artists API
description: 'The setlist.fm REST API provides read-only access to the world''s largest crowd-sourced concert setlist database. Look up artists (by MusicBrainz MBID), setlists and their revision history, venues, cities, and countries, and run full-text search across each. All endpoints are HTTP GET and return either JSON (Accept: application/json) or XML (Accept: application/xml, the default). Every request must include a valid API key in the `x-api-key` header; keys are issued from the setlist.fm API settings page. The API is free for non-commercial use only - commercial use requires contacting setlist.fm. Localized text is available via the `Accept-Language` header (en, es, fr, de, pt, tr, it, pl).'
version: '1.0'
contact:
name: setlist.fm
url: https://api.setlist.fm/docs/1.0/index.html
termsOfService: https://www.setlist.fm/help/terms
servers:
- url: https://api.setlist.fm/rest/1.0
description: setlist.fm REST API v1.0
security:
- apiKeyAuth: []
tags:
- name: Artists
description: Artists keyed by MusicBrainz MBID and their setlists.
paths:
/artist/{mbid}:
get:
operationId: getArtist
tags:
- Artists
summary: Get an artist
description: Returns an artist for a given MusicBrainz MBID.
parameters:
- $ref: '#/components/parameters/Mbid'
responses:
'200':
description: The requested artist.
content:
application/json:
schema:
$ref: '#/components/schemas/Artist'
'404':
$ref: '#/components/responses/NotFound'
/artist/{mbid}/setlists:
get:
operationId: getArtistSetlists
tags:
- Artists
summary: Get an artist's setlists
description: Returns a paginated list of the setlists of a given artist.
parameters:
- $ref: '#/components/parameters/Mbid'
- $ref: '#/components/parameters/PageParam'
responses:
'200':
description: A paginated list of setlists for the artist.
content:
application/json:
schema:
$ref: '#/components/schemas/Setlists'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
Tour:
type: object
properties:
name:
type: string
Setlist:
type: object
properties:
id:
type: string
versionId:
type: string
eventDate:
type: string
description: The date of the concert (format dd-MM-yyyy).
lastUpdated:
type: string
format: date-time
artist:
$ref: '#/components/schemas/Artist'
venue:
$ref: '#/components/schemas/Venue'
tour:
$ref: '#/components/schemas/Tour'
sets:
$ref: '#/components/schemas/Sets'
info:
type: string
url:
type: string
format: uri
Venue:
type: object
properties:
id:
type: string
name:
type: string
url:
type: string
format: uri
city:
$ref: '#/components/schemas/City'
Sets:
type: object
properties:
set:
type: array
items:
$ref: '#/components/schemas/Set'
Error:
type: object
properties:
code:
type: integer
status:
type: string
message:
type: string
timestamp:
type: string
Coords:
type: object
properties:
lat:
type: number
format: double
long:
type: number
format: double
Set:
type: object
properties:
name:
type: string
encore:
type: integer
song:
type: array
items:
$ref: '#/components/schemas/Song'
Song:
type: object
properties:
name:
type: string
info:
type: string
cover:
$ref: '#/components/schemas/Artist'
tape:
type: boolean
Country:
type: object
properties:
code:
type: string
description: The ISO code of the country.
name:
type: string
Artist:
type: object
properties:
mbid:
type: string
description: Unique MusicBrainz Identifier of the artist.
name:
type: string
sortName:
type: string
disambiguation:
type: string
url:
type: string
format: uri
description: The setlist.fm page of the artist.
City:
type: object
properties:
id:
type: string
description: The GeoNames geoId.
name:
type: string
stateCode:
type: string
state:
type: string
coords:
$ref: '#/components/schemas/Coords'
country:
$ref: '#/components/schemas/Country'
Setlists:
type: object
properties:
setlist:
type: array
items:
$ref: '#/components/schemas/Setlist'
total:
type: integer
page:
type: integer
itemsPerPage:
type: integer
parameters:
Mbid:
name: mbid
in: path
required: true
description: A MusicBrainz MBID, e.g. 0bfba3d3-6a04-4779-bb0a-df07df5b0558.
schema:
type: string
PageParam:
name: p
in: query
required: false
description: The number of the result page to return.
schema:
type: integer
default: 1
responses:
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: API key issued from https://www.setlist.fm/settings/api. Passed in the `x-api-key` request header on every call.