@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Musixmatch API
@base https://api.musixmatch.com/ws/1.1
@version 1.1.0
@auth ApiKey apikey in query
@common_fields {format: any, callback: any}
@endpoints 16
@toc album.tracks.get(1), album.get(1), artist.related.get(1), artist.albums.get(1), artist.search(1), artist.get(1), matcher.subtitle.get(1), matcher.track.get(1), matcher.lyrics.get(1), track.snippet.get(1), track.lyrics.get(1), track.subtitle.get(1), track.get(1), track.search(1), chart.tracks.get(1), chart.artists.get(1)

@group album.tracks.get
@endpoint GET /album.tracks.get
@required {album_id: any}
@optional {f_has_lyrics: any, page: any, page_size: any}
@returns(200)

@endgroup

@group album.get
@endpoint GET /album.get
@required {album_id: any}
@returns(200)

@endgroup

@group artist.related.get
@endpoint GET /artist.related.get
@required {artist_id: any}
@optional {page_size: any, page: any}
@returns(200)

@endgroup

@group artist.albums.get
@endpoint GET /artist.albums.get
@required {artist_id: any}
@optional {s_release_date: any, g_album_name: any, page_size: any, page: any}
@returns(200)

@endgroup

@group artist.search
@endpoint GET /artist.search
@optional {q_artist: any, f_artist_id: any, page: any, page_size: any}
@returns(200)

@endgroup

@group artist.get
@endpoint GET /artist.get
@required {artist_id: any}
@returns(200)

@endgroup

@group matcher.subtitle.get
@endpoint GET /matcher.subtitle.get
@optional {q_track: any, q_artist: any, f_subtitle_length: any, f_subtitle_length_max_deviation: any}
@returns(200)

@endgroup

@group matcher.track.get
@endpoint GET /matcher.track.get
@optional {q_artist: any, q_track: any, f_has_lyrics: any, f_has_subtitle: any}
@returns(200)

@endgroup

@group matcher.lyrics.get
@endpoint GET /matcher.lyrics.get
@optional {q_track: any, q_artist: any}
@returns(200)

@endgroup

@group track.snippet.get
@endpoint GET /track.snippet.get
@required {track_id: any}
@returns(200)

@endgroup

@group track.lyrics.get
@endpoint GET /track.lyrics.get
@required {track_id: any}
@returns(200)

@endgroup

@group track.subtitle.get
@endpoint GET /track.subtitle.get
@required {track_id: any}
@returns(200)

@endgroup

@group track.get
@endpoint GET /track.get
@required {track_id: any}
@returns(200)

@endgroup

@group track.search
@endpoint GET /track.search
@optional {q_track: any, q_artist: any, q_lyrics: any, f_artist_id: any, f_music_genre_id: any, f_lyrics_language: any, f_has_lyrics: any, s_artist_rating: any, s_track_rating: any, quorum_factor: any, page_size: any, page: any}
@returns(200)

@endgroup

@group chart.tracks.get
@endpoint GET /chart.tracks.get
@optional {page: any, page_size: any, country: any, f_has_lyrics: any}
@returns(200)

@endgroup

@group chart.artists.get
@endpoint GET /chart.artists.get
@optional {page: any, page_size: any, country: any}
@returns(200)

@endgroup

@end
