Skip to main content
When an artist releases music through your platform, getting their lyrics into Musixmatch means those lyrics appear across every product and service powered by Musixmatch data — from streaming apps to AI music experiences. The Distribution API gives you a direct, automated path to make that happen at scale.

How it works

The integration is built around three resources: subscriptions, deliveries, and lyrics. A subscription event notifies Musixmatch when a user subscribes to or unsubscribes from a plan on your platform. Musixmatch maps your plan identifiers to the corresponding Musixmatch plans and grants or revokes access accordingly. A delivery is a release package — a ZIP file containing the ERN metadata and audio files for one release. Submitting a delivery makes the release known to Musixmatch and gives us the audio we need to generate time-synced lyrics. A lyrics submission associates plain-text lyrics with a specific track, identified by ISRC. You can submit lyrics yourself if you have them, or leave it to Musixmatch to AI-generate them from the audio. Either way, the output is plain-text lyrics indexed in the Musixmatch catalog. The two steps are independent by design — a delivery can arrive before lyrics are ready, and lyrics can be submitted as soon as they exist, even before release date. The only requirement is that a delivery containing the audio must be processed before AI generation can run.
1

Register as a partner

Contact apisupport@musixmatch.com to receive your API key, client_id, client_secret, and partner base URL. You will also provide your redirect_uri for the OAuth flow.
2

Authenticate

Use the Authorization Code flow to authenticate an artist in your app and retrieve their Musixmatch user ID.
3

Manage subscriptions

Call POST /ws/1.1/distribution.subscription.post when a user subscribes to a plan on your platform to activate their Musixmatch plan. Call POST /ws/1.1/distribution.subscription.delete when they unsubscribe to revoke access.
4

Deliver the release

Call POST /ws/1.1/distribution.files.post to get a pre-signed upload URL and a file_id. Upload the release ZIP to that URL via HTTP PUT, then call POST /ws/1.1/distribution.delivery.post with the file_id and at least one artist identifier (Spotify artist ID, iTunes artist ID, or your internal artist ID). Musixmatch creates the delivery, returning a delivery_id. Poll GET /ws/1.1/distribution.delivery.get until the status is success.
5

Submit lyrics

Call POST /ws/1.1/distribution.lyrics.post with the track ISRC and the plain-text lyrics. If you omit the lyrics, Musixmatch AI-generates them from the audio in the delivery via POST /ws/1.1/distribution.transcription.post. Poll GET /ws/1.1/distribution.lyrics.get until the status is success, at which point the plain-text lyrics are indexed in the catalog.

Base URL

All Distribution API endpoints are served under:
with the path prefix /ws/1.1/.

Authentication

All Distribution API endpoints require your API key, passed as the apikey query parameter (e.g. ?apikey=YOUR_API_KEY). Endpoints that act on behalf of an artist additionally require a user_id query parameter with the artist’s Musixmatch user ID, which you retrieve by introspecting the user’s access token from the Authorization Code flow.