Musixmatch lyrics API is a robust service that permits you to search and retrieve lyrics in the simplest possible way. It just works. Include millions of licensed lyrics on your website or in your ap
Full LLM thinking from the 4-phase benchmark pipeline.
{
"service_type": "platform",
"base_url": "https://api.musixmatch.com",
"auth_method": "api_key",
"auth_config": {
"api_key": {
"type": "string",
"location": "query",
"param_name": "apikey",
"required": true,
"notes": "API key is passed as a query parameter on every request. Requires registration on developer.musixmatch.com to obtain a key."
}
},
"endpoints": [
{
"name": "matcher.lyrics.get",
"method": "GET",
"path": "/ws/1.1/matcher.lyrics.get",
"description": "Retrieve lyrics matching a given track title and artist name.",
"params": ["q_track", "q_artist", "apikey"]
},
{
"name": "track.lyrics.get",
"method": "GET",
"path": "/ws/1.1/track.lyrics.get",
"description": "Fetch lyrics for a specific track by its Musixmatch track ID.",
"params": ["track_id", "apikey"]
},
{
"name": "matcher.track.get",
"method": "GET",
"path": "/ws/1.1/matcher.track.get",
"description": "Match a track by title/artist and return track metadata including Musixmatch ID.",
"params": ["q_track", "q_artist", "apikey"]
},
{
"name": "track.search",
"method": "GET",
"path": "/ws/1.1/track.search",
"description": "Search the Musixmatch catalog for tracks by title, artist, lyrics, or genre.",
"params": ["q", "q_track", "q_artist", "q_lyrics", "page", "page_size", "s_track_rating", "apikey"]
},
{
"name": "track.get",
"method": "GET",
"path": "/ws/1.1/track.get",
"description": "Get detailed metadata for a track by ID, including album, artist, and release info.",
"params": ["track_id", "apikey"]
},
{
"name": "artist.search",
"method": "GET",
"path": "/ws/1.1/artist.search",
"description": "Search for artists in the Musixmatch database.",
"params": ["q_artist", "page", "page_size", "apikey"]
},
{
"name": "artist.get",
"method": "GET",
"path": "/ws/1.1/artist.get",
"description": "Retrieve artist metadata by artist ID.",
"params": ["artist_id", "apikey"]
},
{
"name": "album.search",
"method": "GET",
"path": "/ws/1.1/album.search",
"description": "Search for albums by name or artist.",
"params": ["q_album", "q_artist", "page", "page_size", "apikey"]
},
{
"name": "album.get",
"method": "GET",
"path": "/ws/1.1/album.get",
"description": "Retrieve album details by album ID.",
"params": ["album_id", "apikey"]
},
{
"name": "matcher.subtitle.get",
"method": "GET",
"path": "/ws/1.1/matcher.subtitle.get",
"description": "Retrieve time-synced lyrics (subtitles) matched by track and artist.",
"params": ["q_track", "q_artist", "apikey"]
},
{
"name": "track.subtitle.get",
"method": "GET",
"path": "/ws/1.1/track.subtitle.get",
"description": "Fetch time-synced lyrics for a specific track ID.",
"params": ["track_id", "apikey"]
},
{
"name": "track.richsync.get",
"method": "GET",
"path": "/ws/1.1/track.richsync.get",
"description": "Retrieve rich sync (word-level timed) lyrics for karaoke-style display.",
"params": ["track_id", "apikey"]
},
{
"name": "track.snippet.get",
"method": "GET",
"path": "/ws/1.1/track.snippet.get",
"description": "Get a short snippet of lyrics for preview purposes.",
"params": ["track_id", "apikey"]
},
{
"name": "chart.tracks.get",
"method": "GET",
"path": "/ws/1.1/chart.tracks.get",
"description": "Retrieve top charting tracks by country.",
"params": ["country", "page", "page_size", "apikey"]
},
{
"name": "chart.artists.get",
"method": "GET",
"path": "/ws/1.1/chart.artists.get",
"description": "Retrieve top charting artists by country.",
"params": ["country", "page", "page_size", "apikey"]
},
{
"name": "music.genres.get",
"method": "GET",
"path": "/ws/1.1/music.genres.get",
"description": "List available music genres.",
"params": ["apikey"]
}
],
"pricing_model": {
"type": "freemium",
"details": {
"free_plan": {
"available": true,
"limits": "Limited number of API calls per day (typically ~2,000 requests/day) for non-commercial or development use.",
"restrictions": "May not include full lyrics text; often truncated to previews on free tiers."
},
"paid_plans": {
"available": true,
"details": "Commercial plans available with higher rate limits and full lyric licensing. Pricing is custom and requires contacting Musixmatch for enterprise/commercial agreements."
},
"licensing": "Lyrics are licensed content; commercial use requires an appropriate license agreement with Musixmatch."
}
},
"rate_limits": {
"1/3 tests passed
| Test | Endpoint | Status | Latency |
|---|---|---|---|
| website_uptime | GET / | 404 | 183ms |
| robots_txt | GET /robots.txt | 200 | 47ms |
| llms_txt | GET /llms.txt | 404 | 48ms |
{
"overall": 62,
"dimensions": {
"token_efficiency": 8.0,
"first_try_success": 6.0,
"response_parseability": 9.0,
"error_clarity": 6.0,
"doc_quality": 7.0,
"auth_simplicity": 6.0,
"latency": 9.0,
"consistency": 7.0
},
"pricing_normalized": {
"model": "freemium",
"free_tier": "~2000 requests/day, likely truncated lyrics/previews",
"paid_tier": "custom enterprise pricing (contact sales)",
"commercial_use": "requires paid license agreement",
"predictability": "low — paid pricing undisclosed"
},
"issues": [
"Root site URL returned 404 — homepage/landing detection failed, hurting perceived reliability.",
"No llms.txt — agents cannot auto-discover structured platform capabilities or guidance.",
"Paid pricing is custom-only; agents cannot give users a concrete cost estimate.",
"Free tier is ambiguous about whether full lyrics text is returned (truncation risk).",
"No security headers on responses (minor trust signal for agent-recommended integrations)."
],
"recommendations": [
"Publish an llms.txt and machine-readable docs so agents can onboard programmatically.",
"Add a public pricing page with concrete tiers (even if commercial licensing requires contact).",
"Clarify free-tier response content (full vs. snippet) explicitly in docs to set agent expectations.",
"Ensure canonical landing URL resolves (avoid 404 at root) to improve reliability perception.",
"Expose clear, machine-readable rate-limit and error schemas for predictable agent retries."
]
}Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.
<a href="https://prowl.world/service/musixmatch-api">
<img src="https://prowl.world/badge/musixmatch-api.svg" height="56" alt="Agent-readiness on Prowl">
</a>
See operational metrics, LLM evaluations, agent readiness, and more.
Open in Dashboard