Synced Lyrics API — JSON · LRC · SRT · RAW

Spotify Lyrics API Synced LRC, SRT, JSON

Search and retrieve word-perfect, time-synchronized lyrics for millions of Spotify tracks. Output in JSON, LRC, SRT or RAW — perfect for karaoke, subtitle generation, music education, and sentiment analysis.

Find Lyrics

Try these examples:

What is the Lyrics API?

The Spotify Lyrics API is a developer-focused endpoint that returns word-level, time-synchronized lyrics for any track in Spotify's catalog. Each line carries a precise startTimeMs timestamp, making it possible to highlight the active lyric in real time as a track plays — exactly the way the official Spotify app does. You can request the same data in four interchangeable output formats (JSON, LRC, SRT, RAW) so you can drop it directly into a karaoke app, a video subtitle pipeline, a lyric overlay for streamers, or an analytics workflow without writing your own parser.

Under the hood the endpoint resolves the canonical Spotify track ID, fetches the time-coded lyric track, and serializes it to your chosen format. There is no rate-limited OAuth flow to manage and no client-side player needed — a single GET request returns full lyrics in milliseconds.

Use Cases

🎬

Subtitle Apps

Auto-generate SRT subtitles for music videos and lyric reels in seconds.

🎤

Karaoke Games

Power real-time lyric highlighting and word-by-word scoring.

🎓

Music Education

Teach pronunciation, prosody and song structure with synced text.

🧠

Sentiment Analysis

Run NLP and emotion classifiers on full lyric corpora at scale.

💬

Fan Sites & Forums

Embed accurate, attributed lyrics on artist pages and song reviews.

🎙️

Podcast Transcription

Bootstrap transcripts for music podcasts and DJ-set show notes.

Output Formats

Pick the format that matches your downstream pipeline. All four return the exact same lyric content — only the serialization differs.

JSON (default)

Structured object with lyrics.lines[] — each entry has startTimeMs and words. Best for custom UIs, karaoke renderers, and analytics.

GET /api/spotify/track_lyrics?id=3z8h0TU7ReDPLIbEnYhWZb&format=json
{
  "lyrics": {
    "lines": [
      { "startTimeMs": "0", "words": "Is this the real life?" },
      { "startTimeMs": "4280", "words": "Is this just fantasy?" }
    ]
  }
}

LRC

The de-facto karaoke format. Drop the file straight into VLC, foobar2000, or any LRC-aware player.

GET /api/spotify/track_lyrics?id=3z8h0TU7ReDPLIbEnYhWZb&format=lrc
[00:00.00]Is this the real life?
[00:04.28]Is this just fantasy?

SRT

Universal subtitle format — feed directly into FFmpeg, Premiere, DaVinci Resolve, or YouTube uploads.

GET /api/spotify/track_lyrics?id=3z8h0TU7ReDPLIbEnYhWZb&format=srt
1
00:00:00,000 --> 00:00:04,280
Is this the real life?

RAW

Plain text — one lyric per line, no timestamps. Ideal for sentiment analysis, NLP pipelines, and lyric search indexes.

GET /api/spotify/track_lyrics?id=3z8h0TU7ReDPLIbEnYhWZb&format=raw
Is this the real life?
Is this just fantasy?

Frequently Asked Questions

Are the lyrics time-synchronized?
Yes. The JSON format returns a startTimeMs (in milliseconds) for every line, so you can highlight, seek, or align audio with sub-second precision.
Which output format should I use?
Use JSON when you are building a custom UI, LRC for karaoke players, SRT for video subtitles or YouTube, and RAW for NLP and search indexing.
How do I get a track ID for /track_lyrics?
Track IDs come from the Spotify URL (e.g. spotify.com/track/3z8h0TU7ReDPLIbEnYhWZb) or from the search endpoint. You can also call /search_lyrics?q= and use the returned ids.
Is there a batch endpoint?
Yes. Pass a comma-separated list of track IDs to /track_lyrics_batch?ids=id1,id2,id3 to fetch up to many tracks in a single request — ideal for warming caches and bulk processing.
Can I get instrumental (no-vocal) versions?
The vocalRemoval=true flag on /track_lyrics returns lyrics aligned to the instrumental track, useful for karaoke apps that strip the lead vocal.

Ship Lyrics in Production Today

Get an API key in under 60 seconds. Free tier available — no credit card required.

Get Your API Key →