Lyrics API

Get lyrics for any song as JSON, LRC or plain text.

No API key is needed on this server. Just start making requests.

Quick start

Look up lyrics by title and artist:

https://spolyrc-spotui.root.sx/lyrics?title=505&artist=Arctic%20Monkeys

Want synced lyrics as an LRC file?

https://spolyrc-spotui.root.sx/lyrics?title=505&artist=Arctic%20Monkeys&format=lrc

Using curl:

curl "https://spolyrc-spotui.root.sx/lyrics?title=505&artist=Arctic%20Monkeys"

Parameters

All parameters go in the query string.

ParameterRequiredWhat it does
titleyesSong title, up to 200 characters.
artistyesArtist name, up to 200 characters.
albumnoAlbum title. Helps pick the right version.
durationnoSong length in seconds (e.g. 253). Helps match the right version.
spotify_idnoSpotify track URI, e.g. spotify:track:<22 chars>. Most precise match.
formatnojson (default), lrc for synced lyrics as an LRC file, or text for plain lyrics.
karaokenoSet to true to include word-level timings in the JSON. Default false.

What you get back

The default JSON response looks like this:

{
  "title": "505",
  "artist": "Arctic Monkeys",
  "album": "Favourite Worst Nightmare",
  "instrumental": false,
  "synced": [ { "text": "I'm going back to 505", "start_ms": 12980 } ],
  "unsynced": "plain lyrics text or null"
}
FieldMeaning
syncedLyrics with a timestamp per line (milliseconds from the start). null if not available.
unsyncedPlain lyrics without timings. null if not available.
karaokeWord-level timings. Only included when you pass karaoke=true.
instrumentaltrue if the track has no vocals.

Formats

JSON (default)

Structured lyrics with timings. Best for building apps or syncing lyrics to playback.

LRC

Add format=lrc to get a plain-text LRC file (one line per lyric, prefixed with [mm:ss.xx]). Save it as a .lrc file for most music players.

Plain text

Add format=text to get just the lyrics, no timings, no JSON.

Errors

If something goes wrong you get a JSON body like {"detail": "message"}.

StatusWhat it means
404Song not found, or the format you asked for isn't available for it.
422A required parameter is missing or invalid.
429Too many requests. Wait for the time in the Retry-After header.
451Lyrics for this song can't be shown for licensing reasons.
502The lyrics service is temporarily unavailable. Try again later.
503Temporary outage upstream. Wait and retry.

Usage limits

You can make up to 60 requests per minute. Once a song has been looked up, later requests for it are served instantly from storage.