LrcLib Endpoints
Compatible endpoints provided for audio players or plugins implementing the LrcLib Protocol to connect directly to the AMLL lyric database.
LrcLib Response Model LrclibSongItem
Section titled “LrcLib Response Model LrclibSongItem”Lyric response structure compatible with LrcLib format:
export interface LrclibSongItem { /** Unique lyric ID */ id: number; /** Song title */ name: string; /** Song title */ trackName: string; /** Artist name */ artistName: string; /** Album name */ albumName: string; /** * Highest timestamp appearing in lyrics (seconds) * * Note: Not the exact audio file duration */ duration: number; /** Whether the track is instrumental */ instrumental: false; /** Plain text lyrics */ plainLyrics: string; /** Synced LRC lyrics */ syncedLyrics: string;}instrumental: Whether the track is instrumental. Fixed tofalse- Song title, artist name, and album name pick the first element from arrays.
Search Lyrics
Section titled “Search Lyrics”Fuzzy search in database, returning up to 50 items in response array.
Query Parameters
Section titled “Query Parameters”At least one of track_name, q, artist_name, or album_name must be provided.
| Parameter | Type | Required | Description |
|---|---|---|---|
q |
string |
No | Global search keyword |
track_name |
string |
No | Track name |
artist_name |
string |
No | Artist name |
album_name |
string |
No | Album title |
Response Schema
Section titled “Response Schema”Returns 200 status code on success with the following structure:
type LrcLibSearchResponse = LrclibSongItem[];- Element type is LrclibSongItem Model, returning up to 50 items.
Example Response
[ { "id": 269710089745311, "name": "ME!", "trackName": "ME!", "artistName": "Brendon Urie", "albumName": "Lover", "duration": 185.8, "instrumental": false, "plainLyrics": "I promise that you'll never find another like me\nI know that I'm a handful, baby, uh...", "syncedLyrics": "[00:00.11] I promise that you'll never find another like me\n[00:03.47] I know that I'm a handful, baby, uh..." }, { "id": 7807416901227298, "name": "ME! (feat. Brendon Urie of Panic! At The Disco)", "trackName": "ME! (feat. Brendon Urie of Panic! At The Disco)", "artistName": "Taylor Swift", "albumName": "Lover", "duration": 185.83, "instrumental": false, "plainLyrics": "I promise that you'll never find another like me\nI know that I'm a handful, baby, uh...", "syncedLyrics": "[00:00.13] I promise that you'll never find another like me\n[00:03.46] I know that I'm a handful, baby, uh..." }]Fuzzy Match
Section titled “Fuzzy Match”Fuzzy match a song and return LRC and plain text lyrics directly.
Query Parameters
Section titled “Query Parameters”Both track_name and artist_name must be provided.
| Parameter | Type | Required | Description |
|---|---|---|---|
track_name |
string |
Yes | Track name |
artist_name |
string |
Yes | Artist name |
album_name |
string |
No | Album title |
Response Schema
Section titled “Response Schema”Returns 200 status code on success with the following structure:
type LrcLibGetResponse = LrclibSongItem;- Response type is a single LrclibSongItem Model object.
Example Response
{ "id": 269710089745311, "name": "ME!", "trackName": "ME!", "artistName": "Brendon Urie", "albumName": "Lover", "duration": 185.8, "instrumental": false, "plainLyrics": "I promise that you'll never find another like me\nI know that I'm a handful, baby, uh...", "syncedLyrics": "[00:00.11] I promise that you'll never find another like me\n[00:03.47] I know that I'm a handful, baby, uh..."}Get Lyric by ID
Section titled “Get Lyric by ID”Get full lyrics using the id returned from search endpoints.
Path Parameters
Section titled “Path Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
id |
number |
Yes | ID obtained from search endpoint |
Response Schema
Section titled “Response Schema”Returns 200 status code on success with the following structure:
type LrcLibGetByIdResponse = LrclibSongItem;- Response type is a LrclibSongItem Model object for the specified ID.
Example Response
{ "id": 269710089745311, "name": "ME!", "trackName": "ME!", "artistName": "Brendon Urie", "albumName": "Lover", "duration": 185.8, "instrumental": false, "plainLyrics": "I promise that you'll never find another like me\nI know that I'm a handful, baby, uh...", "syncedLyrics": "[00:00.11] I promise that you'll never find another like me\n[00:03.47] I know that I'm a handful, baby, uh..."}