Musixmatch API

The most powerful and legal way to display lyrics on your website or in your application. Musixmatch lyrics API is a robust service that permits you to search and retrieve lyrics in the simplest possible way.

OpenAPI Specification

musixmatch-openapi-original.yml Raw ↑
openapi: 3.0.1
info:
  title: Musixmatch API
  description: |2-

    The most powerful and legal way to display lyrics on your website or in
    your application. Musixmatch lyrics API is a robust service that permits
    you to search and retrieve lyrics in the simplest possible way.
  termsOfService: http://musixmatch.com/apiterms/
  contact:
    name: Musixmatch
    url: https://musixmatch.com
    email: [email protected]
  license:
    name: MIT
    url: http://opensource.org/licenses/MIT
  version: 1.1.0
externalDocs:
  description: Find out more about Musixmatch API
  url: https://developer.musixmatch.com/
servers:
  - url: https://api.musixmatch.com/ws/1.1
security:
  - key: []
tags:
  - name: Album
    description: ''
  - name: Artist
    description: ''
  - name: Lyrics
    description: ''
  - name: Snippets
  - name: Subtitle
    description: ''
  - name: Track
    description: ''
paths:
  /album.tracks.get:
    get:
      tags:
        - Track
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: album_id
          in: query
          description: The musiXmatch album id
          required: true
          schema:
            type: string
        - name: f_has_lyrics
          in: query
          description: When set, filter only contents with lyrics
          schema:
            type: string
        - name: page
          in: query
          description: Define the page number for paginated results
          schema:
            type: number
        - name: page_size
          in: query
          description: Define the page size for paginated results.Range is 1 to 100.
          schema:
            type: number
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          status_code:
                            type: number
                            description: ''
                          available:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          track_list:
                            type: array
                            description: A list of tracks
                            items:
                              $ref: '#/components/schemas/Track'
      security:
        - key: []
  /album.get:
    get:
      tags:
        - Album
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: album_id
          in: query
          description: The musiXmatch album id
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          album:
                            $ref: '#/components/schemas/Album'
      security:
        - key: []
  /artist.related.get:
    get:
      tags:
        - Artist
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: artist_id
          in: query
          description: The musiXmatch artist id
          required: true
          schema:
            type: string
        - name: page_size
          in: query
          description: Define the page size for paginated results.Range is 1 to 100.
          schema:
            type: number
        - name: page
          in: query
          description: Define the page number for paginated results
          schema:
            type: number
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          available:
                            type: number
                            description: ''
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          artist_list:
                            type: array
                            description: A list of artists
                            items:
                              type: object
                              properties:
                                artist:
                                  $ref: '#/components/schemas/Artist'
      security:
        - key: []
  /artist.albums.get:
    get:
      tags:
        - Album
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: artist_id
          in: query
          description: The musiXmatch artist id
          required: true
          schema:
            type: string
        - name: s_release_date
          in: query
          description: Sort by release date (asc|desc)
          schema:
            type: string
        - name: g_album_name
          in: query
          description: Group by Album Name
          schema:
            type: string
        - name: page_size
          in: query
          description: Define the page size for paginated results.Range is 1 to 100.
          schema:
            type: number
        - name: page
          in: query
          description: Define the page number for paginated results
          schema:
            type: number
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          available:
                            type: number
                            description: ''
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          album_list:
                            type: array
                            description: A list of albums
                            items:
                              type: object
                              properties:
                                album:
                                  $ref: '#/components/schemas/Album'
      security:
        - key: []
  /artist.search:
    get:
      tags:
        - Artist
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: q_artist
          in: query
          description: The song artist
          schema:
            type: string
        - name: f_artist_id
          in: query
          description: When set, filter by this artist id
          schema:
            type: number
        - name: page
          in: query
          description: Define the page number for paginated results
          schema:
            type: number
        - name: page_size
          in: query
          description: Define the page size for paginated results.Range is 1 to 100.
          schema:
            type: number
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          available:
                            type: number
                            description: ''
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          artist_list:
                            type: array
                            description: A list of artists
                            items:
                              type: object
                              properties:
                                artist:
                                  $ref: '#/components/schemas/Artist'
      security:
        - key: []
  /artist.get:
    get:
      tags:
        - Artist
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: artist_id
          in: query
          description: "\tThe musiXmatch artist id"
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          artist:
                            $ref: '#/components/schemas/Artist'
      security:
        - key: []
  /matcher.subtitle.get:
    get:
      tags:
        - Subtitle
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: q_track
          in: query
          description: The song title
          schema:
            type: string
        - name: q_artist
          in: query
          description: "\tThe song artist"
          schema:
            type: string
        - name: f_subtitle_length
          in: query
          description: Filter by subtitle length in seconds
          schema:
            type: number
        - name: f_subtitle_length_max_deviation
          in: query
          description: Max deviation for a subtitle length in seconds
          schema:
            type: number
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          subtitle:
                            $ref: '#/components/schemas/Subtitle'
      security:
        - key: []
  /matcher.track.get:
    get:
      tags:
        - Track
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: q_artist
          in: query
          description: The song artist
          schema:
            type: string
        - name: q_track
          in: query
          description: The song title
          schema:
            type: string
        - name: f_has_lyrics
          in: query
          description: When set, filter only contents with lyrics
          schema:
            type: number
        - name: f_has_subtitle
          in: query
          description: When set, filter only contents with subtitles
          schema:
            type: number
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          track:
                            $ref: '#/components/schemas/Track'
      security:
        - key: []
  /matcher.lyrics.get:
    get:
      tags:
        - Lyrics
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: q_track
          in: query
          description: The song title
          schema:
            type: string
        - name: q_artist
          in: query
          description: The song artist
          schema:
            type: string
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          lyrics:
                            $ref: '#/components/schemas/Lyrics'
      security:
        - key: []
  /track.snippet.get:
    get:
      tags:
        - Snippets
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: track_id
          in: query
          description: The musiXmatch track id
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          snippet:
                            $ref: '#/components/schemas/Snippet'
      security:
        - key: []
  /track.lyrics.get:
    get:
      tags:
        - Lyrics
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: track_id
          in: query
          description: The musiXmatch track id
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          lyrics:
                            $ref: '#/components/schemas/Lyrics'
      security:
        - key: []
  /track.subtitle.get:
    get:
      tags:
        - Subtitle
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: track_id
          in: query
          description: The musiXmatch track id
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          subtitle:
                            $ref: '#/components/schemas/Subtitle'
      security:
        - key: []
  /track.get:
    get:
      tags:
        - Track
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: track_id
          in: query
          description: The musiXmatch track id
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          track:
                            $ref: '#/components/schemas/Track'
      security:
        - key: []
  /track.search:
    get:
      tags:
        - Track
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: q_track
          in: query
          description: The song title
          schema:
            type: string
        - name: q_artist
          in: query
          description: The song artist
          schema:
            type: string
        - name: q_lyrics
          in: query
          description: Any word in the lyrics
          schema:
            type: string
        - name: f_artist_id
          in: query
          description: When set, filter by this artist id
          schema:
            type: number
        - name: f_music_genre_id
          in: query
          description: When set, filter by this music category id
          schema:
            type: number
        - name: f_lyrics_language
          in: query
          description: Filter by the lyrics language (en,it,..)
          schema:
            type: number
        - name: f_has_lyrics
          in: query
          description: When set, filter only contents with lyrics
          schema:
            type: number
        - name: s_artist_rating
          in: query
          description: Sort by our popularity index for artists (asc|desc)
          schema:
            type: string
        - name: s_track_rating
          in: query
          description: Sort by our popularity index for tracks (asc|desc)
          schema:
            type: string
        - name: quorum_factor
          in: query
          description: >-
            Search only a part of the given query string.Allowed range is (0.1  0.9)
          schema:
            type: number
            default: 1
        - name: page_size
          in: query
          description: Define the page size for paginated results.Range is 1 to 100.
          schema:
            type: number
        - name: page
          in: query
          description: Define the page number for paginated results
          schema:
            type: number
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          available:
                            type: number
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          track_list:
                            type: array
                            description: A list of tracks
                            items:
                              type: object
                              properties:
                                track:
                                  $ref: '#/components/schemas/Track'
      security:
        - key: []
  /chart.tracks.get:
    get:
      tags:
        - Track
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: page
          in: query
          description: Define the page number for paginated results
          schema:
            type: number
        - name: page_size
          in: query
          description: Define the page size for paginated results.Range is 1 to 100.
          schema:
            type: number
        - name: country
          in: query
          description: A valid ISO 3166 country code
          schema:
            type: string
            default: us
        - name: f_has_lyrics
          in: query
          description: When set, filter only contents with lyrics
          schema:
            type: string
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          available:
                            type: number
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          track_list:
                            type: array
                            description: A list of tracks
                            items:
                              type: object
                              properties:
                                track:
                                  $ref: '#/components/schemas/Track'
      security:
        - key: []
  /chart.artists.get:
    get:
      tags:
        - Artist
      parameters:
        - name: format
          in: query
          description: 'output format: json, jsonp, xml.'
          schema:
            type: string
            default: json
        - name: callback
          in: query
          description: jsonp callback
          schema:
            type: string
        - name: page
          in: query
          description: Define the page number for paginated results
          schema:
            type: number
        - name: page_size
          in: query
          description: Define the page size for paginated results.Range is 1 to 100.
          schema:
            type: number
        - name: country
          in: query
          description: A valid ISO 3166 country code
          schema:
            type: string
            default: us
      responses:
        '200':
          description: The request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: object
                    properties:
                      header:
                        type: object
                        properties:
                          available:
                            type: number
                          status_code:
                            type: number
                            description: ''
                          execute_time:
                            type: number
                            description: ''
                      body:
                        type: object
                        properties:
                          artist_list:
                            type: array
                            description: A list of artists
                            items:
                              type: object
                              properties:
                                artist:
                                  $ref: '#/components/schemas/Artist'
      security:
        - key: []
components:
  schemas:
    Artist:
      title: a Artist object
      type: object
      properties:
        artist_credits:
          type: object
          properties:
            artist_list:
              type: array
              items:
                type: string
                description: ''
        artist_mbid:
          type: string
          description: ''
        artist_name:
          type: string
          description: ''
        secondary_genres:
          type: object
          properties:
            music_genre_list:
              type: array
              items:
                type: string
                description: ''
        artist_alias_list:
          type: array
          items:
            type: object
            properties:
              artist_alias:
                type: string
                description: ''
        artist_vanity_id:
          type: string
          description: ''
        restricted:
          type: number
          description: ''
        artist_country:
          type: string
          description: ''
        artist_comment:
          type: string
          description: ''
        artist_name_translation_list:
          type: array
          items:
            type: object
            properties:
             

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/musixmatch/refs/heads/main/openapi/musixmatch-openapi-original.yml