Discover/Musixmatch API
live

Musixmatch APImusixmatch.com

Access Musixmatch lyrics, song metadata, artist profiles, album tracklists, and translation coverage via a structured JSON API. 7 endpoints.

Endpoint health
verified 3d ago
get_album_details
get_song_translations
get_song_lyrics
get_song_details
get_artist_profile
7/7 passing latest checkself-healing
Endpoints
7
Updated
26d ago

What is the Musixmatch API?

This API provides structured access to Musixmatch data across 7 endpoints covering lyrics, song metadata, artist profiles, and full discographies. The get_song_lyrics endpoint returns the complete lyrics text, ISO language code, and a verification flag for any track identified by its artist and track vanity slugs. Additional endpoints expose translation completion percentages, mood and theme tags, writer credits, album tracklists, and a curated discover feed.

Try it
ISO 639-2 language code for the lyrics language (e.g. 'it', 'es', 'fr', 'en').
Track vanity ID (slug from URL, e.g. 'shape-of-you').
Artist vanity ID (slug from URL, e.g. 'ed-sheeran').
api.parse.bot/scraper/63f6e22b-d8f9-4a3f-a671-a3f30a5eca54/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/63f6e22b-d8f9-4a3f-a671-a3f30a5eca54/get_song_lyrics?language=en&track_vanity=shape-of-you&artist_vanity=ed-sheeran' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace musixmatch-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Musixmatch SDK — lyrics, metadata, artist profiles, and discographies."""
from parse_apis.musixmatch_lyrics_metadata_api import (
    Musixmatch, Song, SongNotFound
)

client = Musixmatch()

# Fetch a song's full metadata including moods, themes, and writers.
song = client.songs.get(artist_vanity="ed-sheeran", track_vanity="shape-of-you")
print(song.title, "by", song.artist.name)
print("Album:", song.album.name, "| Moods:", song.moods)

# Drill into lyrics and translations from the Song instance.
lyrics = song.lyrics(language="en")
print("Language:", lyrics.language, "| Verified:", lyrics.verified)
print("Lyrics preview:", lyrics.lyrics[:80] if lyrics.lyrics else "N/A")

translations = song.translations()
print("Available translations:", len(translations.translations), "languages")

# Explore an artist's profile and discography.
artist = client.artist(vanity_id="ed-sheeran").profile()
print("\nArtist:", artist.name, "| Genres:", artist.genres)
print("Discography:", artist.discography_summary.album_count, "albums")

for item in artist.discography(limit=3):
    print(f"  - {item.title} ({item.type}, {item.track_count} tracks)")

# Fetch album details with full tracklist.
album = client.albums.get(artist_vanity="Ed-Sheeran", album_vanity="x-Deluxe-Edition")
print(f"\nAlbum: {album.title} ({album.track_count} tracks)")
for track in album.tracks[:3]:
    print(f"  {track.title} — has_lyrics={track.has_lyrics}")

# Typed error handling for a non-existent song.
try:
    client.songs.get(artist_vanity="ed-sheeran", track_vanity="nonexistent-track-xyz")
except SongNotFound as exc:
    print(f"\nSong not found: {exc.artist_vanity}/{exc.track_vanity}")

# Discover feed for trending content.
feed = client.discoverfeeds.get()
print(f"\nDiscover: {len(feed.genres)} genres, {len(feed.chart_artists)} chart artists")

print("\nExercised: songs.get / song.lyrics / song.translations / artist.profile / artist.discography / albums.get / discoverfeeds.get")
All endpoints · 7 totalmissing one? ·

Retrieve full lyrics for a specific song in a specified language. Returns the complete lyrics text, language, and verification status. The lyrics page is fetched using the artist and track vanity slugs as they appear in Musixmatch URLs.

Input
ParamTypeDescription
languagestringISO 639-2 language code for the lyrics language (e.g. 'it', 'es', 'fr', 'en').
track_vanityrequiredstringTrack vanity ID (slug from URL, e.g. 'shape-of-you').
artist_vanityrequiredstringArtist vanity ID (slug from URL, e.g. 'ed-sheeran').
Response
{
  "type": "object",
  "fields": {
    "track": "string track vanity ID",
    "artist": "string artist vanity ID",
    "lyrics": "string containing the full song lyrics text",
    "language": "string ISO language code",
    "verified": "boolean or null indicating if lyrics are verified"
  },
  "sample": {
    "data": {
      "track": "shape-of-you",
      "artist": "ed-sheeran",
      "lyrics": "The club isn′t the best place to find a lover...",
      "language": "en",
      "verified": true
    },
    "status": "success"
  }
}

About the Musixmatch API

Lyrics and Song Metadata

get_song_lyrics accepts artist_vanity and track_vanity slug parameters (matching the path segments in Musixmatch URLs) and returns the full lyrics string, the ISO 639-2 language code, and a verified boolean. An optional language parameter lets you request lyrics in a specific language where available. get_song_details uses the same slug pair to return richer metadata: a meaning object with explanation and type, arrays of moods and themes, a writers array, and an album object carrying name, release_date, type, and track_count.

Translations and Artist Data

get_song_translations returns a translations map from ISO language codes to integer completion percentages (0–100), so you can see at a glance how fully a song has been translated into each language. get_artist_profile returns the artist's genres array, a popular_songs list (each with title, album, and vanity_id), and a discography_summary with album_count and single_count. Note that first access to artist pages requires solving a reCAPTCHA, which the API handles automatically.

Discography and Album Details

get_artist_discography returns an items array where each entry includes title, id, type, release_year, track_count, and vanity_id. The vanity_id from these results feeds directly into get_album_details, which returns the full tracklist as an array of objects with title, id, has_lyrics, and vanity_id per track, along with the album's release_date as a Unix timestamp in milliseconds.

Discover Feed

get_discover_feed requires no parameters and returns four collections: community_featured cards (with title, description, and link), top_lyric_videos (with YouTube URLs), chart_artists, and a genres list with slugs. This endpoint is useful for surfacing trending content without needing a specific artist or track as a starting point.

Reliability & maintenanceVerified

The Musixmatch API is a managed, monitored endpoint for musixmatch.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when musixmatch.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official musixmatch.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Display synced lyrics pages in a music player app using get_song_lyrics with language filtering
  • Build a song credits database by extracting writers, moods, and themes from get_song_details
  • Show translation progress badges per language using the completion percentages from get_song_translations
  • Populate an artist bio page with genre tags, popular songs, and discography counts from get_artist_profile
  • Generate a complete album catalog with tracklists by chaining get_artist_discography and get_album_details
  • Drive a music discovery widget using chart artists and lyric video URLs from get_discover_feed
  • Flag which tracks in a playlist have verified lyrics using the verified field from get_song_lyrics
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Musixmatch have an official developer API?+
Yes. Musixmatch operates an official developer platform at developer.musixmatch.com that provides access to lyrics and metadata. That API requires a commercial license for full lyrics and has its own quota tiers. This Parse API offers a separate way to access Musixmatch data with different endpoint coverage, including the discover feed and full translation maps.
What does `get_song_translations` actually return, and how is completion measured?+
It returns a translations object keyed by ISO 639-2 language codes (e.g. 'fr', 'es'). Each value is an integer from 0 to 100 representing the percentage of lyric lines that have been translated into that language by the Musixmatch community. A value of 100 means every line has a translation; lower values indicate partial coverage.
Is lyrics search by song title or ISRC supported?+
Not currently. All song endpoints require the artist_vanity and track_vanity slugs that appear in Musixmatch URLs. Free-text search by title or lookup by ISRC or Spotify track ID are not covered. You can fork this API on Parse and revise it to add a search endpoint that accepts a plain-text query.
Are there any known limitations when accessing artist and album pages?+
Both get_artist_profile and get_album_details note that a reCAPTCHA challenge is required on first access to those page types. The API handles this automatically, but it can result in slightly higher latency compared to song-level endpoints. Additionally, release_date in get_album_details is returned as a Unix timestamp in milliseconds, so client-side conversion is needed to display a human-readable date.
Does the API return chart rankings or real-time streaming popularity data?+
Not currently. The get_discover_feed endpoint includes chart_artists with name and vanity ID, but no numeric chart positions, stream counts, or historical rank trends are exposed. You can fork this API on Parse and revise it to add an endpoint that retrieves chart position data from Musixmatch chart pages.
Page content last updated . Spec covers 7 endpoints from musixmatch.com.
Related APIs in MusicSee all →
lyrics.com API
Search and retrieve song lyrics, artist biographies, and album information across multiple genres and artists. Browse music content by artist, letter, or genre, and discover new or random songs to explore.
allmusic.com API
Search for music, browse artist biographies and discographies, and retrieve detailed album and song information all in one place. Discover new releases and access comprehensive metadata about artists and tracks.
darklyrics.com API
Search for song and album lyrics from metal music bands, browse newly added albums and complete band discographies, and access full lyrics organized by artist and release. Filter bands alphabetically and find specific songs to read their complete lyrical content.
metal-archives.com API
Search and explore music data including bands, albums, songs, and lyrics, with the ability to discover artist recommendations, view band members and discographies, and look up record label information. Get detailed information about musicians, their releases, and recommendations based on your musical interests.
musicbrainz.org API
Search MusicBrainz for artists and recordings, then fetch detailed metadata for artists, recordings, releases, and release groups, including credits, tags/genres, and track listings.
whosampled.com API
Discover music samples, covers, and remixes by searching artists and tracks, viewing detailed sample histories, and exploring trending musical connections. Get comprehensive data on which songs sampled specific tracks, artist profiles, and current charts to understand the creative lineage behind your favorite music.
x-minus.pro API
Search millions of karaoke and backing tracks from X-Minus.Pro to find the perfect songs for singing, complete with lyrics and track details. Discover top-charted karaoke tracks and access everything you need to perform your favorite songs.
rateyourmusic.com API
Search for albums, artists, and genres to retrieve detailed information including release dates, ratings, and chart rankings from Rate Your Music. Browse music charts and explore genre-specific data to discover trends across the catalog.