Musixmatch's API is a lyrics- and metadata-matching service: given a track or ISRC, it returns synced/unsynced lyrics availability, translations, and songwriter credits licensed directly from publishers. Every request authenticates with a single apikey query parameter, and the free Community tier's request volume and content restrictions (full lyric text is licensed separately) step up through paid Commercial and Enterprise plans. Responses can be requested as either JSON or XML.
AuthenticationAPI KeySign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSDisabledBrowser calls need a server-side proxy.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSON, XMLResponses can be requested as JSON or XML.
GreatAPIs Score
Score87out of 100
Authentication15/25API key required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats15/15Supports 2 response formats
Freshness20/20Verified within 6 months
Embed this badge
<a href="https://greatapis.com/api/musixmatch/"><img src="https://greatapis.com/badge/musixmatch.svg" alt="Scored 87 on greatapis.com"></a>
Auth quickstart
Sign up with the provider to get an API key.
Send it on every request as a headerAuthorization: <key>
The exact header isn't documented — Authorization is a common default; confirm in the provider's docs.
Stored keyNo key stored
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Endpoints
Servers
https://api.musixmatch.com/ws/1.1
Auth
key
Track5
GET/album.tracks.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
album_id
query
yes
string
f_has_lyrics
query
no
string
page
query
no
number
page_size
query
no
number
Responses
Status
Description
Schema
200
The request was successful.
—
GET/chart.tracks.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
page
query
no
number
page_size
query
no
number
country
query
no
string
f_has_lyrics
query
no
string
Responses
Status
Description
Schema
200
The request was successful.
—
GET/matcher.track.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
q_artist
query
no
string
q_track
query
no
string
f_has_lyrics
query
no
number
f_has_subtitle
query
no
number
Responses
Status
Description
Schema
200
The request was successful.
—
GET/track.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
track_id
query
yes
string
Responses
Status
Description
Schema
200
The request was successful.
—
GET/track.search
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
q_track
query
no
string
q_artist
query
no
string
q_lyrics
query
no
string
f_artist_id
query
no
number
f_music_genre_id
query
no
number
f_lyrics_language
query
no
number
f_has_lyrics
query
no
number
s_artist_rating
query
no
string
s_track_rating
query
no
string
quorum_factor
query
no
number
page_size
query
no
number
page
query
no
number
Responses
Status
Description
Schema
200
The request was successful.
—
Artist4
GET/artist.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
artist_id
query
yes
string
Responses
Status
Description
Schema
200
The request was successful.
—
GET/artist.related.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
artist_id
query
yes
string
page_size
query
no
number
page
query
no
number
Responses
Status
Description
Schema
200
The request was successful.
—
GET/artist.search
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
q_artist
query
no
string
f_artist_id
query
no
number
page
query
no
number
page_size
query
no
number
Responses
Status
Description
Schema
200
The request was successful.
—
GET/chart.artists.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
page
query
no
number
page_size
query
no
number
country
query
no
string
Responses
Status
Description
Schema
200
The request was successful.
—
Album2
GET/album.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
album_id
query
yes
string
Responses
Status
Description
Schema
200
The request was successful.
—
GET/artist.albums.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
artist_id
query
yes
string
s_release_date
query
no
string
g_album_name
query
no
string
page_size
query
no
number
page
query
no
number
Responses
Status
Description
Schema
200
The request was successful.
—
Lyrics2
GET/matcher.lyrics.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
q_track
query
no
string
q_artist
query
no
string
Responses
Status
Description
Schema
200
The request was successful.
—
GET/track.lyrics.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
track_id
query
yes
string
Responses
Status
Description
Schema
200
The request was successful.
—
Subtitle2
GET/matcher.subtitle.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
q_track
query
no
string
q_artist
query
no
string
f_subtitle_length
query
no
number
f_subtitle_length_max_deviation
query
no
number
Responses
Status
Description
Schema
200
The request was successful.
—
GET/track.subtitle.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
track_id
query
yes
string
Responses
Status
Description
Schema
200
The request was successful.
—
Snippet1
GET/track.snippet.get
Parameters
Name
In
Required
Type
format
query
no
string
callback
query
no
string
track_id
query
yes
string
Responses
Status
Description
Schema
200
The request was successful.
—
Try it
Developer reference
Base URLhttps://api.musixmatch.com/ws/1.1
Rate limit
Musixmatch doesn't publish a numeric call ceiling on any page reachable by a direct fetch: both developer.musixmatch.com/plans and musixmatch.com/pro/api are client-only React apps that ship an empty root div with no server-rendered data, and the docs site's individual guide pages (getting-started, content-restrictions, checklist) 404 on direct request even though they're linked from the docs home -- only its top-level landing pages resolve. What is verifiable: every call authenticates with a single apikey query parameter (no OAuth), the live API Terms & Conditions restrict the base plan to non-commercial use only, and commercial or higher-volume access requires contacting sales@musixmatch.com directly for a paid Commercial or Enterprise license -- no per-day/per-month figures are invented here since none were reachable to verify.