OpenAPI Specification
openapi: 3.1.0
info:
title: Apple Music Catalog API
version: '1.0'
description: 'REST API for the Apple Music catalog and the authenticated user''s library.
Catalog endpoints (songs, albums, artists, music videos, playlists,
stations, search, charts) require an Apple Developer JWT in the
Authorization header. User-library endpoints additionally require a
Music User Token in the Music-User-Token header.
'
contact:
name: Apple Developer Documentation
url: https://developer.apple.com/documentation/applemusicapi
servers:
- url: https://api.music.apple.com/v1
description: Apple Music API v1
security:
- DeveloperToken: []
tags:
- name: Catalog
description: Apple Music catalog resources
paths:
/catalog/{storefront}/songs/{id}:
get:
tags:
- Catalog
summary: Get a catalog song by id
parameters:
- $ref: '#/components/parameters/Storefront'
- $ref: '#/components/parameters/Id'
responses:
'200':
description: OK
/catalog/{storefront}/songs:
get:
tags:
- Catalog
summary: Get catalog songs by ids
parameters:
- $ref: '#/components/parameters/Storefront'
- $ref: '#/components/parameters/Ids'
responses:
'200':
description: OK
/catalog/{storefront}/albums/{id}:
get:
tags:
- Catalog
summary: Get a catalog album by id
parameters:
- $ref: '#/components/parameters/Storefront'
- $ref: '#/components/parameters/Id'
responses:
'200':
description: OK
/catalog/{storefront}/albums:
get:
tags:
- Catalog
summary: Get catalog albums by ids
parameters:
- $ref: '#/components/parameters/Storefront'
- $ref: '#/components/parameters/Ids'
responses:
'200':
description: OK
/catalog/{storefront}/artists/{id}:
get:
tags:
- Catalog
summary: Get a catalog artist by id
parameters:
- $ref: '#/components/parameters/Storefront'
- $ref: '#/components/parameters/Id'
responses:
'200':
description: OK
/catalog/{storefront}/artists:
get:
tags:
- Catalog
summary: Get catalog artists by ids
parameters:
- $ref: '#/components/parameters/Storefront'
- $ref: '#/components/parameters/Ids'
responses:
'200':
description: OK
/catalog/{storefront}/playlists/{id}:
get:
tags:
- Catalog
summary: Get a catalog playlist by id
parameters:
- $ref: '#/components/parameters/Storefront'
- $ref: '#/components/parameters/Id'
responses:
'200':
description: OK
/catalog/{storefront}/playlists:
get:
tags:
- Catalog
summary: Get catalog playlists by ids
parameters:
- $ref: '#/components/parameters/Storefront'
- $ref: '#/components/parameters/Ids'
responses:
'200':
description: OK
/catalog/{storefront}/music-videos/{id}:
get:
tags:
- Catalog
summary: Get a catalog music video by id
parameters:
- $ref: '#/components/parameters/Storefront'
- $ref: '#/components/parameters/Id'
responses:
'200':
description: OK
/catalog/{storefront}/stations/{id}:
get:
tags:
- Catalog
summary: Get a catalog station by id
parameters:
- $ref: '#/components/parameters/Storefront'
- $ref: '#/components/parameters/Id'
responses:
'200':
description: OK
components:
parameters:
Id:
name: id
in: path
required: true
schema:
type: string
Storefront:
name: storefront
in: path
required: true
description: Apple Music storefront identifier (e.g. us, gb, jp)
schema:
type: string
Ids:
name: ids
in: query
required: true
description: Comma-separated list of resource ids
schema:
type: string
securitySchemes:
DeveloperToken:
type: http
scheme: bearer
bearerFormat: JWT
description: 'Apple Music developer token (JWT) generated from a Music Key in the
Apple Developer account.
'
MusicUserToken:
type: apiKey
in: header
name: Music-User-Token
description: 'Music User Token obtained via MusicKit on a signed-in device. Required
for user-library endpoints.
'