Free Lyrics API
Search Megalobiz synchronized lyrics (LRC) and fetch them as JSON or ready-to-use .lrc text. Free, no account needed - a free API key raises the limits.
Base URLhttps://api.megalobiz.com/api/public/v1
Rate limits
| Access | Per minute | Per day (UTC) |
|---|---|---|
| No key (per IP) | 30 | 1,000 |
| Free API key | 300 | 20,000 |
Over the limit, the API answers 429 with a Retry-After header. Results are cached - cache them on your side too.
Fair use
- Link back to the lyric's Megalobiz page (the url field) where you show it.
- Don't mirror or bulk-download the catalog - look up the songs your users actually play.
- Send a descriptive User-Agent with your app name and a contact URL.
- Lyrics belong to their authors and publishers - the API is for personal and non-commercial use.
Need more, or a commercial use? Write to megalobiz509@gmail.com
GET/search
Find synced lyrics by title and artist. Pass the track's duration whenever you have it - it's what picks the sheet that matches your recording.
| Parameter | Description |
|---|---|
title | Song title |
artist | Artist name |
q | Free text (title and/or artist) - instead of title/artist |
duration | Track length in seconds - strongly recommended |
limit | Number of results, 1-20 (default 10) |
Example request
GET https://api.megalobiz.com/api/public/v1/search?title=Song+Title&artist=Artist+Name&duration=213Example response
{
"query": { "title": "Song Title", "artist": "Artist Name", "duration": 213 },
"count": 1,
"results": [
{
"id": 123456,
"title": "Song Title",
"artist": "Artist Name",
"duration": 212.6,
"duration_diff": 0.4,
"sync": "manual",
"score": 0.99,
"url": "https://megalobiz.com/lrc/123456/song-title",
"lrc_url": "https://api.megalobiz.com/api/public/v1/lrc/123456?format=lrc"
}
]
}GET/lrc/{id}
One synced lyric sheet by id: its lines with times in milliseconds, plus the complete .lrc text.
| Parameter | Description |
|---|---|
format=lrc | Return the plain .lrc text (text/plain) instead of JSON |
Example response
{
"id": 123456,
"title": "Song Title",
"artist": "Artist Name",
"duration": 212.6,
"sync": "manual",
"synced_by": "username",
"updated_at": "2026-10-14T18:00:00.000Z",
"url": "https://megalobiz.com/lrc/123456/song-title",
"lines": [
{ "time_ms": 12340, "text": "First line" },
{ "time_ms": 15800, "text": "Second line" }
],
"lrc": "[ar:Artist Name]\n[ti:Song Title]\n...\n[00:12.34]First line\n[00:15.80]Second line"
}Code examples
# anonymous
curl "https://api.megalobiz.com/api/public/v1/search?title=Song+Title&artist=Artist+Name&duration=213"
# with a free API key (higher limits)
curl -H "X-API-Key: mbz_YOUR_KEY" "https://api.megalobiz.com/api/public/v1/lrc/123456?format=lrc"Rate limit headers
Every response tells you where you stand, so your app can slow down before it gets a 429.
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 29
X-RateLimit-Reset: 42
X-RateLimit-Limit-Day: 1000
X-RateLimit-Remaining-Day: 998
X-Megalobiz-Tier: anonymousErrors
| Status | Description |
|---|---|
400 | Missing or invalid parameter |
401 | Unknown or revoked API key |
404 | No lyric sheet with this id |
429 | Rate limit reached - wait Retry-After seconds |
Your API keys
A free key gives your app its own, higher limits and keeps working when many users share one IP address.
Send it in a header with every request: X-API-Key: mbz_...
