canonical: https://jentic.com/apis/musixmatch.com/musixmatch

# Musixmatch API

The Musixmatch API provides legal access to a licensed catalog of song lyrics, translations, and music metadata covering millions of tracks. It supports search and lookup by track, artist, album, ISRC, and chart position, plus matcher endpoints that resolve a track from artist+title strings to canonical Musixmatch identifiers. Subtitle and snippet endpoints return synced lyric lines for karaoke and follow-along experiences.

## For AI agents

Search and retrieve licensed song lyrics, translations, charts, and music metadata from Musixmatch. Returns lyric text, synced subtitles, and snippets across 16 search and lookup operations.

## Scope

Does not stream audio, sell music, or generate lyrics from scratch - use for licensed lyrics search, retrieval, and music metadata only.

## Capabilities

- Search the lyrics catalog by track title, artist, or album
- Retrieve full lyric text or a short snippet for a matched track
- Pull synced subtitle lines for karaoke and follow-along playback
- Resolve a track from artist and title strings via the matcher endpoints
- Look up artist albums, related artists, and album track lists
- Get top chart artists and tracks for a given country
- Match a track to its lyrics using just the artist name and title

## Use cases

### In-App Lyrics Display

Show licensed lyrics inside a music app or web player without managing licensing deals individually with publishers. The /track.lyrics.get endpoint returns the lyric text for a known track ID; /matcher.lyrics.get accepts artist+title and returns lyrics in one call. Musixmatch handles the rights coverage that ad-hoc lyric scraping would violate.

Example prompt: Call GET /matcher.lyrics.get with q_artist and q_track for the currently playing song and render the returned lyric text in the player UI.

### Karaoke and Synced Subtitles

Drive a karaoke experience with line-by-line synced lyrics that highlight as the track plays. The /matcher.subtitle.get endpoint returns subtitle lines with timestamps that a player can step through using the audio's current position. Subtitles are licensed for follow-along display alongside playback.

Example prompt: Call GET /matcher.subtitle.get with the artist and title and the audio duration, then drive a karaoke UI from the returned timed lines.

### Music Discovery via Charts and Related Artists

Surface trending tracks and adjacent artists for editorial pages and recommendation widgets. /chart.tracks.get and /chart.artists.get return ranked lists for a country and genre; /artist.related.get returns artists frequently listened to alongside a target artist. These power 'top this week' and 'fans also like' modules without operating a recommendation pipeline.

Example prompt: Call GET /chart.tracks.get for country=US to render the current top 10 tracks, then call /artist.related.get for each top artist to populate a 'fans also like' row.

### Track Matching for Catalog Reconciliation

Reconcile track listings from external systems against Musixmatch identifiers to attach lyrics and metadata. The /matcher.track.get endpoint maps an artist+title pair to a canonical commontrack_id, which downstream systems store for stable lookups. This pattern is the same one used by streaming clients to attach lyrics to a now-playing track.

Example prompt: For each track in an external playlist, call GET /matcher.track.get with q_artist and q_track and store the returned commontrack_id.

### AI Agent Lyrics Lookup

Equip a Jentic-driven agent with licensed lyrics access for chat experiences and creative tools. The agent searches Jentic for 'get song lyrics' and Jentic returns the GET /matcher.lyrics.get operation with its parameter schema. Jentic injects the apikey query parameter at execution time so the credential never enters the agent's prompt.

Example prompt: Through Jentic, search for 'get song lyrics by artist and title', load GET /matcher.lyrics.get, and return the lyric text for a user-specified track.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /track.search | Search the catalog for tracks |
| GET | /track.lyrics.get | Get lyrics for a track |
| GET | /matcher.lyrics.get | Match artist+title and return lyrics |
| GET | /matcher.subtitle.get | Match artist+title and return synced subtitles |
| GET | /matcher.track.get | Match artist+title to a track ID |
| GET | /chart.tracks.get | Get top chart tracks |
| GET | /artist.related.get | Get artists related to a given artist |
| GET | /album.tracks.get | Get tracks for an album |

## Key resources

- **Track** — Search, look up, and match individual tracks
- **Lyrics** — Retrieve licensed lyric text for a track
- **Subtitle** — Retrieve time-coded subtitles for synced display
- **Snippet** — Pull a short snippet of lyrics for previews
- **Artist** — Look up artists, related artists, and albums
- **Album** — Retrieve albums and their track lists
- **Chart** — List top tracks and artists by country

## Why Jentic

- **Setup:** Wiring the Musixmatch API by hand means appending its apikey as a query parameter on every call and learning its dotted operation names like track.lyrics.get and matcher.track.get yourself. Through Jentic you install once, import the Musixmatch API from the API Directory, store the apikey once, and your agent calls it.
- **Permission scoping:** Search and lookup targets travel as request parameters, so limit the agent to the operations it needs, such as searching tracks or getting lyrics. You choose which operations are in scope, and nothing beyond those reads is reachable.
- **Credential handling:** Your Musixmatch apikey is stored once, encrypted, by your own Jentic One instance and appended as the query parameter at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get song lyrics' or 'match a track to its lyrics', and Jentic returns the matching Musixmatch operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **MusicBrainz API** — MusicBrainz provides canonical music metadata that complements Musixmatch's licensed lyric content.
- **Spotify Web API** — Spotify supplies playable streams and track IDs that Musixmatch lyrics attach to.
- **Audiomack API** — Audiomack is a music streaming and discovery platform with its own catalog metadata, used as an alternative content source.

## FAQ

### What authentication does the Musixmatch API use?

Musixmatch uses an API key passed as the apikey query parameter on every request. Through Jentic, the apikey is stored in your Jentic One instance and appended to each request at execution time, so the key never appears in agent code or logs.

### Can I display licensed lyrics in my app with the Musixmatch API?

Yes. GET /track.lyrics.get and GET /matcher.lyrics.get return licensed lyrics that publishers permit Musixmatch to relicense to API consumers. Read Musixmatch's terms for the display obligations (attribution, length restrictions on free tiers) tied to your plan.

### How do I match a now-playing track to its lyrics through Jentic?

Through Jentic, search for 'match a track and get lyrics', load the GET /matcher.lyrics.get operation, and submit the artist and title strings. Jentic appends the apikey, calls Musixmatch, and returns the lyric body to your agent.

### What are the rate limits for the Musixmatch API?

Rate limits depend on the Musixmatch plan tier and are not enforced via the OpenAPI spec. Free developer keys have low daily call ceilings; commercial plans raise the cap. Check response headers for usage indicators and the Musixmatch developer portal for current quotas.

### Can I retrieve synced subtitles for karaoke?

Yes. GET /matcher.subtitle.get returns lyric lines with timestamps suitable for synchronized highlighting during playback. Pair this with the audio duration so Musixmatch can align the subtitle file to your specific audio source.

### Does the Musixmatch API expose chart data?

Yes. GET /chart.tracks.get and GET /chart.artists.get return ranked lists by country, which power 'trending now' modules without operating a separate analytics pipeline.

### Can I limit what my agent is allowed to do with the Musixmatch API?

Yes. Because you run Jentic One yourself, your own rules decide which Musixmatch operations and credentials the agent may use, so you can grant only the reads it needs, such as GET /track.search and GET /matcher.lyrics.get, while leaving chart and matcher operations out of scope. Search and lookup targets travel as request parameters, so the agent can only reach the operations you have put in scope and nothing beyond those reads. Your Musixmatch apikey is held by your Jentic One instance and appended at execution time, so it never enters the agent's prompt or logs.
