### Artist Name Translation Example (Text) Source: https://docs.musixmatch.com/lyrics-api/musixmatch-metadata This example demonstrates the importance of artist name translations for a global service. It shows how to display artist names in the user's local language, using PSY and his Korean name 싸이 as an example, which also aids in search result accuracy. ```text PSY (싸이) ``` -------------------------------- ### Example Tracking URLs and Region Data Source: https://docs.musixmatch.com/lyrics-api/track/track-lyrics-translation-get This snippet demonstrates the structure for pixel and script tracking URLs, as well as region restriction configurations. It includes examples of allowed and blocked regions, and a timestamp for data updates. ```yaml pixel_tracking_url: type: string example: >- https://tracking.musixmatch.com/t1.0/m_img/e_0/sn_0/l_36997817/su_0/rs_0/tr_3vUCAPJVgihhjW_lqsltRsrh2w4Y3oE7gmvxcTgsQSWCYKE3BRZ9IAb5JgY2nudHUj9wY5N2F4QMFEwqED6Fox_sOn7UHC07zIUR1JZOASP9LGfbD8sw0wKw8y6Em3YH8eUSBIi2y7hRGsmNzLJo6tKEYYxT8Fx75xuq2h8Z2pfRpkPl1Yf0kmXmTPpVKvYXv524HwcPjQQslg79puhwPGJ8h_oe5CsfQ5blSvTNP8ZdIR8kCh-0muIVcQ19gSUE_bahwZesbCvZRzlH6Lqf4dfQic9uXTLyMPws4WBDMZ8fkH5zCSgDaz8DeMo6ORW9i3GqSJl2WVduqgveePl4RqMiG3YzMES3vztDCRzUQxnUm6LXjORp3GHkv4urqfztlbCCanwiuRvfWPoioq5l-V1oX9N4PGqJXQNBi51hi0NLqlMlghJpngSHNRGs409iaRHcF2vgyPUWYRkIopwxYapKYCsFQ/ restricted: type: number example: 0 script_tracking_url: type: string example: >- https://tracking.musixmatch.com/t1.0/m_js/e_0/sn_0/l_36997817/su_0/rs_0/tr_3vUCAJDDG8JWNqcRdYq3YtpOuH7Ay3PPrZ_Ens70yr97Y5iTVSQy_jBIOu1spnttfN6y7cmtnm6Ga0wFZclasYXuHymWP1Or4882WY9orAxjskyGYTgAOmLjVszsSefDO_v7MKkXBbciYKfF7g5DoyrFZq6ZkAikZQkdBmKbwQbeggM7dH0t-5XTQSX2BW3PGgMa0Q_4tCOWVeHJevwKHFiT3zS-zbm_JO2j75Uoe31P2uOmmxqoXoEI4GkqJoz_Ub0jU6nMbaI8ehCHqzlhn3DBEzMe3CtHFy3E9xYearWkt3Q3ggaND9AHSqmeZzeiNGgOc05dnN-bnPa2eWHCPF0QRUb0vCs8gK0anRQh8Baez8gyGJthwuzKRvoeekf40irr1meno_Cggn7o0u89mVUtqI-j46zf0vKyv9CGZnDjxKJk57gwtGEgx0M3cNwalK3gBvLpwaB0lFh6vUGFF27P37aW-A/ selected_language: type: string example: it pixel_tracking_url: type: string example: >- https://tracking.musixmatch.com/t1.0/m_img/e_0/sn_0/l_36997817/su_0/rs_0/tr_3vUCAA1loD7lD7oUE2piUjHNLOnVibS_ucIsi7QkLJsMm12EvL-7A23JwQFNfEWmJ4XKIRzHbQqU2D70U8Y-Ta2fkoo3C2DruAUazYndjlEGuLef3joQrcdnmOFo6cVWwFywOvJucQ13ozoKz3UEgPDSEFBYFmEy4gW40RTUanX_78BhEqpu68B2vEhQd8Qfu0Mx9I81ZHt4gbpU7Dxgx2pWhA20Vf_03JYQGedE8cuoVLazFr0zvRFfiSZ7B_x_vqyGPivMy4xhbh4SxpCzmpvHfL_Oue-GkvG2GrR2BOEYI2Mg8Vg8n5ZwGsDszR_RchH-1Az27Pj1EmW-CXf7zE1ON6HbE8OIQvMgSoJYvV5ndywPjKu3wU6LUrEUtJZezpYzeRzmA0OchtR3qRmXampDDJ4VjVxEnIF3qMhjD5JGEwzJ7om5AHtKMqlRh-ye_Zmjmtkojlz59KiwMBTUXr1s1w/ region_restriction: type: object properties: allowed: type: array items: type: string example: XW example: - XW blocked: type: array items: {} example: [] script_tracking_url: type: string example: >- https://tracking.musixmatch.com/t1.0/m_js/e_0/sn_0/l_36997817/su_0/rs_0/tr_3vUCAO41kOdcNFURIATyxNE7GvsDce5qm338baBgpphcwslFi5ofZnEoq4c-fl6P7sXEJ8Z4vHrjfloqVXq0PxCCQBSayjVP3abAayyanMeAisRCjfjDomOa_2-Ii4k7wlCklfBjCZnx33O0bfUSx2wvoo4USmsw3kSte6PEKvU_-vv0WZaz6Mh5-CRmhAoAASqNBQomsJayz5mlAZYgnK0CbGPdzG3grY_7C3wzSdzzH1aXQ_JIYuy2M-7RJB9R-G6VCRhCjtC8new-Pw5fLHeeUX7_P7UJftU7m7koUKB_tQGAFbsqXREYHIB9rW4g-Fg4VmwDco66zaaxyeNVOof-tBqrn7O4WFnDKXhtjbZOTdel4RSJ75jjKaC2GW-Lx_Xxd6svbUYsdnWsGG1J7ZTsKyh1gyZ8Xgcm3gyK9lkPxT8U49TOSYvEGjltCQfss6u9VN5lIGnJ4uohKEHK89LDxw/ updated_time: type: string example: '2025-01-23T01:30:54Z' ``` -------------------------------- ### Example Subtitle Entry Source: https://docs.musixmatch.com/lyrics-api/matcher/matcher-subtitle-get Provides a concrete example of a subtitle entry, illustrating the data types and values for each field. This helps in understanding how the subtitle data is represented in practice. ```json { "subtitle_id": 41629674, "subtitle_language": "en", "subtitle_language_description": "English", "subtitle_length": 199, "updated_time": "2024-10-31T09:50:18Z" } ``` -------------------------------- ### Artist Disambiguation Example (Text) Source: https://docs.musixmatch.com/lyrics-api/musixmatch-metadata This section illustrates how to use artist comments and country information for disambiguation. It shows examples of distinguishing between different artists with the same name, like 'U2', by appending their origin or a descriptive comment. ```text * U2 (Irish rock band) * U2 (あきやまうに) * U2 (Irish rock band) from Ireland * U2 (あきやまうに) from Japan ``` -------------------------------- ### Musical Work Submission Example (JSON) Source: https://docs.musixmatch.com/enterprise-integration/api-reference/work-post An example JSON payload demonstrating the structure for submitting data about a musical work. It includes collection details with territory-specific royalty shares, a validity begin date, an identifier, and owner information for publishers and writers. ```json { "data": { "collection": { "territories": [ { "code": "IT", "mech_share": 10000, "sync_share": 10000 } ], "validity_begin": "2023-07-17" }, "identifier": "00001100196005", "owners": { "publisher": [ { "controlled": "Y", "name": "Sony/Atv Tunes Llc" } ], "writer": [ { "controlled": "Y" } ] } } } ``` -------------------------------- ### CSV Lyrics Data Example Source: https://docs.musixmatch.com/enterprise-integration/lyrics-bulk-submission An example of lyrics data formatted as a CSV file. Each row represents a track, with columns for ISRC, title, artist, duration, language, partner ID, and the lyrics themselves. Line breaks within lyrics are preserved. ```csv isrc,title,artist,duration,language,partner_id,lyrics GBAAA9100070,Stars,John Doe,247000,en,A23,"Lyrics body in brackets command return to line break, lorem ipsum" GBAAA9100071,Luna,Jane Something,247001,es,A24,"Lyrics body in brackets command return to line break, lorem ipsum" ``` -------------------------------- ### GET /ws/1.1/music.genres.get Source: https://docs.musixmatch.com/lyrics-api/charts/music-genres-get Retrieves a list of all music genres available in the Musixmatch catalog. Authentication is required. ```APIDOC ## GET /ws/1.1/music.genres.get ### Description Get the list of the music genres available in Musixmatch catalogue. ### Method GET ### Endpoint /ws/1.1/music.genres.get ### Parameters #### Query Parameters - **apikey** (string) - Required - Your Musixmatch API key for authentication. ### Request Example ``` GET https://api.musixmatch.com/ws/1.1/music.genres.get?apikey=YOUR_API_KEY ``` ### Response #### Success Response (200) - **message.body.music_genre_list** (array) - A list of music genres, where each genre is an object. - **music_genre** (object) - Contains details about a specific music genre. - **genre_id** (integer) - The unique identifier for the genre. - **genre_name** (string) - The name of the genre. #### Response Example ```json { "message": { "header": { "status_code": 200, "execute_time": 0.002122163772583 }, "body": { "music_genre_list": [ { "music_genre": { "genre_id": 1, "genre_name": "Pop" } }, { "music_genre": { "genre_id": 2, "genre_name": "Rock" } } ] } } } ``` #### Error Response (401) - **message.header.status_code** (integer) - Indicates an unauthorized request (401). - **message.header.error_message** (string) - Provides details about the authentication error. #### Response Example (401) ```json { "message": { "header": { "status_code": 401, "execute_time": 0.002122163772583, "error_message": "Invalid API key" }, "body": {} } } ``` ``` -------------------------------- ### Get Track Details with Artist Restriction (JSON) Source: https://docs.musixmatch.com/lyrics-api/content-restrictions Example of a `Matcher.track.get` API response when the artist is worldwide restricted. The `restricted` field in the track object indicates this status. This response provides metadata about the track but not the restricted content itself. ```json { "message": { "header": { "status_code": 200, "execute_time": 0.015407085418701, "mode": null, "cached": null }, "body": { "track": { "track_id": 17285071, "track_isrc": "USWB10101903", "commontrack_isrcs": [ [ "USWB10101903", "USMTD9509802", "GBCEL2000150" ] ], "track_spotify_id": "52UcjsM15hjCQAUbTW2hy1", "track_name": "Only Shallow", "track_rating": 46, "track_length": 258, "commontrack_id": 1126634, "instrumental": 0, "explicit": 0, "has_lyrics": 1, "has_subtitles": 1, "has_richsync": 1, "num_favourite": 44, "album_id": 70645357, "album_name": "Loveless", "artist_id": 8665, "artist_name": "My Bloody Valentine", "album_coverart_100x100": "http://s.mxmcdn.net/images-storage/albums/nocover.png", "album_coverart_350x350": "", "album_coverart_500x500": "", "album_coverart_800x800": "", "track_share_url": "https://www.musixmatch.com/lyrics/My-Bloody-Valentine/Only-Shallow?utm_source=application&utm_campaign=api&utm_medium=Musixmatch%3A1409625777994", "track_edit_url": "https://www.musixmatch.com/lyrics/My-Bloody-Valentine/Only-Shallow/edit?utm_source=application&utm_campaign=api&utm_medium=Musixmatch%3A1409625777994", "restricted": 1, "updated_time": "2024-05-31T15:22:14Z", "primary_genres": { "music_genre_list": [ { "music_genre": { "music_genre_id": 20, "music_genre_parent_id": 34, "music_genre_name": "Alternative", "music_genre_name_extended": "Alternative", "music_genre_vanity": "Alternative" } } ] } } } } } ``` -------------------------------- ### Get Track Lyrics with Country-Specific Restriction (JSON) Source: https://docs.musixmatch.com/lyrics-api/content-restrictions Example of a `Track.lyrics.get` API response when lyrics are restricted in a specific country (Italy in this case). The `lyrics_body` is empty, and `lyrics_copyright` provides a message indicating the authorization status. This response confirms the track's existence but omits the restricted content. ```json { "message": { "header": { "status_code": 200, "execute_time": 0.056041955947876 }, "body": { "lyrics": { "lyrics_id": 23793322, "explicit": 0, "lyrics_body": "", "lyrics_language": "it", "script_tracking_url": "https://tracking.musixmatch.com/t1.0/m_js/e_0/sn_0/l_23793322/su_0/rs_0/tr_.....7HEJ/", "pixel_tracking_url": "https://tracking.musixmatch.com/t1.0/m_img/e_0/sn_0/l_23793322/su_0/rs_0/tr_.....DhG8/", "lyrics_copyright": "Unfortunately we're not authorized to show these lyrics.", "updated_time": "2024-07-17T13:48:17Z" } } } } ``` -------------------------------- ### Album Data Example (JSON) Source: https://docs.musixmatch.com/lyrics-api/musixmatch-metadata This JSON snippet demonstrates the structure of album data provided by the Musixmatch API. It includes album details such as ID, name, rating, release date, copyright, and genre information. ```json { "message": { "header": { "status_code": 200, "execute_time": 0.02262282371521 }, "body": { "album": { "album_id": 14250417, "album_name": "Party Rock", "album_rating": 100, "album_track_count": 16, "album_release_date": "2009-07-07", "album_release_type": "Album", "artist_id": 437407, "artist_name": "LMFAO", "primary_genres": { "music_genre_list": [ { "music_genre": { "music_genre_id": 1132, "music_genre_parent_id": 14, "music_genre_name": "Britpop", "music_genre_name_extended": "Pop \/ Britpop" } }, { "music_genre": { "music_genre_id": 7, "music_genre_parent_id": 34, "music_genre_name": "Electronic", "music_genre_name_extended": "Electronic" } } ] }, "secondary_genres": { "music_genre_list": [] }, "album_pline": "2009 Interscope Records", "album_copyright": "2009 Interscope Records", "album_label": "Will I Am \/ A&M", "updated_time": "2013-09-26T16:06:25Z" } } } } ``` -------------------------------- ### Lyrics Parental Guide Rating Source: https://docs.musixmatch.com/enterprise-integration/api-reference/track-lyricslens-get This endpoint assigns a parental guide rating to the provided song lyrics, similar to film rating systems. ```APIDOC ## GET /websites/musixmatch/rating ### Description Assigns a parental guide rating to song lyrics. ### Method GET ### Endpoint /websites/musixmatch/rating ### Parameters #### Query Parameters - **lyrics** (string) - Required - The lyrics to analyze. ### Request Example ```json { "lyrics": "Your song lyrics here..." } ``` ### Response #### Success Response (200) - **rating** (object) - **audience** (string) - The recommended audience rating (e.g., PG). - **description** (string) - A detailed description explaining the rating. - **descriptor** (string) - A summary of the themes and content that led to the rating. #### Response Example ```json { "rating": { "audience": "PG", "description": "Assigns to the provided song's lyrics a parental guide rating, much like the ones from the Motion Picture Association film rating system.", "descriptor": "The lyrics contain themes of struggle and reflection on life and the environment, which may require parental guidance for younger children. There are no explicit themes, but some lines may be considered more suitable for older children." } } ``` ``` -------------------------------- ### Matcher.track.get - Artist Restricted Example Source: https://docs.musixmatch.com/lyrics-api/content-restrictions This example demonstrates the response for a track where the artist is restricted worldwide. The 'restricted' field in the track object will be set to 1. ```APIDOC ## GET /matcher.track.get ### Description Retrieves information about a track, including whether it or its artist is restricted from display. ### Method GET ### Endpoint /matcher.track.get ### Parameters #### Query Parameters - **q_track** (string) - Required - The track name to search for. - **q_artist** (string) - Required - The artist name to search for. ### Request Example (No specific request example provided in the source text for this endpoint, but it would typically include track and artist names) ### Response #### Success Response (200) - **message.body.track.restricted** (integer) - 1 if the track or artist is restricted, 0 otherwise. - **message.body.track.artist_name** (string) - The name of the artist. #### Response Example ```json { "message": { "header": { "status_code": 200, "execute_time": 0.015407085418701, "mode": null, "cached": null }, "body": { "track": { "track_id": 17285071, "track_isrc": "USWB10101903", "commontrack_isrcs": [ [ "USWB10101903", "USMTD9509802", "GBCEL2000150" ] ], "track_spotify_id": "52UcjsM15hjCQAUbTW2hy1", "track_name": "Only Shallow", "track_rating": 46, "track_length": 258, "commontrack_id": 1126634, "instrumental": 0, "explicit": 0, "has_lyrics": 1, "has_subtitles": 1, "has_richsync": 1, "num_favourite": 44, "album_id": 70645357, "album_name": "Loveless", "artist_id": 8665, "artist_name": "My Bloody Valentine", "album_coverart_100x100": "http://s.mxmcdn.net/images-storage/albums/nocover.png", "album_coverart_350x350": "", "album_coverart_500x500": "", "album_coverart_800x800": "", "track_share_url": "https://www.musixmatch.com/lyrics/My-Bloody-Valentine/Only-Shallow?utm_source=application&utm_campaign=api&utm_medium=Musixmatch%3A1409625777994", "track_edit_url": "https://www.musixmatch.com/lyrics/My-Bloody-Valentine/Only-Shallow/edit?utm_source=application&utm_campaign=api&utm_medium=Musixmatch%3A1409625777994", "restricted": 1, "updated_time": "2024-05-31T15:22:14Z", "primary_genres": { "music_genre_list": [ { "music_genre": { "music_genre_id": 20, "music_genre_parent_id": 34, "music_genre_name": "Alternative", "music_genre_name_extended": "Alternative", "music_genre_vanity": "Alternative" } } ] } } } } } ``` ``` -------------------------------- ### Core Integration Steps Source: https://docs.musixmatch.com/index The most common scenario involves two primary API calls: searching for a track to match your catalog and then retrieving the lyrics for that track. ```APIDOC ## Core Integration ### Description This section outlines the two most common API calls for integrating with Musixmatch: searching for tracks and retrieving lyrics. ### API Calls 1. **Search Function**: Match your catalog to ours using the search function as described on the `track.search` page. 2. **Get Lyrics**: Get the lyrics using the `track.lyrics.get` API call. ``` -------------------------------- ### Display Example API Response (JSON) Source: https://docs.musixmatch.com/lyrics-api/musixmatch-metadata This JSON object represents a typical response from the Musixmatch API, containing detailed information about song lyrics. It includes metadata like lyrics ID, verification status, and the lyrics body itself, along with tracking URLs and copyright information. ```json { "message": { "header": { "status_code": 200, "execute_time": 0.0074818134307861 }, "body": { "lyrics": { "lyrics_id": 28690433, "verified": 0, "restricted": 0, "instrumental": 0, "explicit": 0, "lyrics_body": "I know that we are young\nAnd I know that you may love me\nBut I just can't be with you like this anymore\nAlejandro\n\nShe's got both hands in her pocket\nAnd she won't look at you, won't look at you\nShe hides true love en su bolsillo\nShe's got a halo around her finger, around you\n\nYou know that I love you, boy\nHot like Mexico, rejoice\nAt this point, I've gotta choose\nNothing to lose\n\nDon't call my name, don't call my name, Alejandro\nI'm not your babe, I'm not your babe, Fernando\nDon't wanna kiss, don't wanna touch\nJust smoke my cigarette and hush\nDon't call my name, don't call my name, Roberto\nAlejandro, Alejandro\nAle-Alejandro, Ale-Alejandro\nAlejandro, Alejandro\nAle-Alejandro, Ale-Alejandro\n\nStop, please, just let me go\nAlejandro, just let me go\n\nShe's not broken, she's just a baby\nBut her boyfriend's like her dad, just like a dad\nAnd all those flames that burned before him\nNow he's gotta firefight, got cool the bad\n\nYou know that I love you, boy\nHot like Mexico, rejoice\nAt this point, I've gotta choose\nNothing to lose\n\nDon't call my name, don't call my name, Alejandro\nI'm not your babe, I'm not your babe, Fernando\nDon't wanna kiss, don't wanna touch\nJust smoke my cigarette and hush\nDon't call my name, don't call my name, Roberto\nAlejandro, Alejandro\nAle-Alejandro, Ale-Alejandro\nAlejandro, Alejandro\nAle-Alejandro, Ale-Alejandro\n\nDon't bother me, don't bother me, Alejandro\nDon't call my name, don't call my name, bye, Fernando\nI'm not your babe, I'm not your babe, Alejandro\nDon't wanna kiss, don't wanna touch, Fernando\n\nDon't call my name, don't call my name, Alejandro\nI'm not your babe, I'm not your babe, Fernando\nDon't wanna kiss, don't wanna touch\nJust smoke my cigarette and hush\nDon't call my name, don't call my name, Roberto\nAlejandro, Alejandro\nAle-Alejandro, Ale-Alejandro\nAlejandro, Alejandro\nAle-Alejandro, Ale-Alejandro\n\nDon't call my name (Alejandro, Alejandro), don't call my name, Alejandro\nI'm not your babe (Ale-Alejandro, Ale-Alejandro), I'm not your babe, Fernando\nDon't wanna kiss (Alejandro, Alejandro), don't wanna touch\nJust smoke my cigarette and hush\nDon't call my name (Ale-Alejandro, Ale-Alejandro), don't call my name, Roberto\nAlejandro", "lyrics_language": "en", "lyrics_language_description": "English", "script_tracking_url": "https://tracking.musixmatch.com/t1.0/m_js/e_0/sn_0/l_28690433/su_0/rs_0/tr_3vUCAK...2SK90/", "pixel_tracking_url": "https://tracking.musixmatch.com/t1.0/m_img/e_0/sn_0/l_28690433/su_0/rs_0/tr_3vUCAC...H5AMk/", "html_tracking_url": "https://tracking.musixmatch.com/t1.0/m_html/e_0/sn_0/l_28690433/su_0/rs_0/tr_3vUCAN...xOhBA/", "lyrics_copyright": "Lyrics powered by www.musixmatch.com", "writer_list": [], "publisher_list": [], "backlink_url": "https://www.musixmatch.com/lyrics/Lady-Gaga/Alejandro?utm_source=application&utm_campaign=api&utm_medium=musiXmatch+-+internal+use%3A1409607281181", "updated_time": "2024-06-12T14:43:08Z" } } } } ``` -------------------------------- ### Artist Data Example (JSON) Source: https://docs.musixmatch.com/lyrics-api/musixmatch-metadata This JSON snippet illustrates the structure of artist data returned by the Musixmatch API. It includes fields like artist ID, name, country, rating, and aliases. ```json { "message": { "header": { "status_code": 200, "execute_time": 0.071532011032104 }, "body": { "artist": { "artist_id": 118, "artist_name": "Queen", "artist_country": "GB", "artist_alias_list": [ { "artist_alias": "\u5973\u738b" } ], "artist_rating": 91, "artist_twitter_url": "", "updated_time": "2012-06-11T08:19:15Z" } } } } ``` -------------------------------- ### Track.lyrics.get - Track Restricted in Country Example Source: https://docs.musixmatch.com/lyrics-api/content-restrictions This example shows the response for a track's lyrics when the track is restricted in a specific country (e.g., Italy). The 'lyrics_body' will be empty, and 'lyrics_copyright' will provide a message indicating the restriction. ```APIDOC ## GET /track.lyrics.get ### Description Retrieves the lyrics for a specific track. If the lyrics are restricted in the user's region or worldwide, the lyrics body will be empty and a copyright message will be provided. ### Method GET ### Endpoint /track.lyrics.get ### Parameters #### Query Parameters - **track_id** (integer) - Required - The Musixmatch track ID. ### Request Example (No specific request example provided in the source text for this endpoint, but it would typically include a track_id) ### Response #### Success Response (200) - **message.body.lyrics.lyrics_body** (string) - The body of the lyrics. Will be empty if restricted. - **message.body.lyrics.lyrics_copyright** (string) - A message explaining the copyright status or restriction. #### Response Example ```json { "message": { "header": { "status_code": 200, "execute_time": 0.056041955947876 }, "body": { "lyrics": { "lyrics_id": 23793322, "explicit": 0, "lyrics_body": "", "lyrics_language": "it", "script_tracking_url": "https://tracking.musixmatch.com/t1.0/m_js/e_0/sn_0/l_23793322/su_0/rs_0/tr_.....7HEJ/", "pixel_tracking_url": "https://tracking.musixmatch.com/t1.0/m_img/e_0/sn_0/l_23793322/su_0/rs_0/tr_.....DhG8/", "lyrics_copyright": "Unfortunately we're not authorized to show these lyrics.", "updated_time": "2024-07-17T13:48:17Z" } } } } ``` ``` -------------------------------- ### API Response for Batch Status Check (JSON) Source: https://docs.musixmatch.com/enterprise-integration/lyrics-bulk-submission An example JSON response from the batch.metadata.get API, showing the status of a batch, which can be 'success' or indicate other states. ```json { "message": { "header": { "status_code": 200, "execute_time": 0.14 }, "body": { "batch_id": 1671539, "status": "success", "batch_step_list": [ ... ] } } } ``` -------------------------------- ### Word-by-Word Time-Synchronized Lyrics (Rich Syncs) Source: https://docs.musixmatch.com/enterprise-integration/catalog-feed Offers detailed timing for each word within a lyrics line, in addition to line-level synchronization. It includes start and end times for lines, and start offsets for individual words. ```json { "richsyncs": [ { "id": 7852411, "body": [ { "ts": 3.2, "te": 3.73, "l": [ { "c": "First", "o": 0 }, { "c": " ", "o": 0.105 }, { "c": "lyrics", "o": 0.158 }, { "c": " ", "o": 0.211 }, { "c": "line", "o": 0.264 } ], "x": "First lyrics line" }, { "ts": 3.73, "te": 5.567, "l": [ { "c": "Second", "o": 0 }, { "c": " ", "o": 0.01 }, { "c": "lyrics", "o": 0.08 }, { "c": " ", "o": 0.33 }, { "c": "line", "o": 0.38 } ], "x": "Second lyrics line" } ] } ] } ``` -------------------------------- ### Worldwide Lyrics Restriction Example (JSON) Source: https://docs.musixmatch.com/enterprise-integration/content-restrictions This JSON example demonstrates a worldwide restriction for lyrics, where the `blocked` field contains 'XW', indicating that the content cannot be displayed in any country. This is typically used when a track has global licensing limitations. ```json { "message": { "header": { "status_code": 200, "execute_time": 0.010541915893555 }, "body": { "lyrics": { "lyrics_id": 29476108, "explicit": 0, "lyrics_body": "", "lyrics_language": "en", "script_tracking_url": "...", "pixel_tracking_url": "...", "lyrics_copyright": "...", "updated_time": "2024-02-08T16:59:28Z", "region_restriction": { "allowed": [ ], "blocked": [ "XW" ] } } } } } ``` -------------------------------- ### Authentication Source: https://docs.musixmatch.com/index To authenticate your API requests, you need to include your API key as a query parameter in every call. Add the `apikey` parameter to your requests. ```APIDOC ## GET /ws/1.1/track.get ### Description This endpoint is an example of how to include the API key in a GET request. ### Method GET ### Endpoint /ws/1.1/track.get ### Query Parameters - **apikey** (string) - Required - Your unique Musixmatch API key. ### Request Example ``` GET /ws/1.1/track.get?apikey=YOUR_API_KEY ``` ### Response #### Success Response (200) - **status** (integer) - The status code of the response. - **message** (string) - A message describing the status. - **result** (object) - The main data payload of the response. #### Response Example ```json { "status": 200, "message": "Success", "result": {} } ``` ### Error Handling Requests without a valid API key will receive a `401` error response. ``` -------------------------------- ### JSONL Single Lyrics Entry Example Source: https://docs.musixmatch.com/enterprise-integration/lyrics-bulk-submission A single lyric submission formatted in JSONL. Each line is a complete JSON object representing one track's lyrics and metadata. ```json {"isrc":"ABCDE1234567","artist":"Artist Name","title":"Track Title","lyrics":"Lyrics line 1\nLyrics line 2\nLyrics line 3","duration":240000,"language":"en","partner_id":"PARTNER123"} ```