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:/ws/1.1/.
Authentication
All Distribution API endpoints require your API key, passed as theapikey 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.