Apple Music Catalog API

Apple Music catalog resources

OpenAPI Specification

apple-music-catalog-api-openapi.yml Raw ↑
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.

        '