Lyrica API is a free, open-source Python tool to fetch unsynced, line-synced (LRC), word-level, and syllable-level synchronized song lyrics. Powered by real-time AI translation and transliteration (Romanization) across languages, it delivers clean, zero-friction JSON responses engineered for web apps, mobile clients, and desktop players.
See the codeA high-performance Python/Flask REST API for plain & timestamped lyrics, word-level sync, metadata, sentiment analysis, trending charts, and Groq-powered lyrics translation.
&syllabus=true), word-level sync, and line-level timestampssyllabus and word_level parameters to prevent collisions across sync levelsmain as edge and sha-* tags&word=true×tamps=true)Lyrica aggregates song lyrics from 8 active sources with intelligent sync-level fallback, fast parallel execution, word-level synchronization (Karaoke mode), syllable-level sync, sentiment analysis, song metadata, trending charts, and real-time LLM translation/romanization using Groq.
fast=true) with TTL disk caching.&word=true) and Apple Music (&syllabus=true).&translate=true).# 1. Clone the repository
git clone https://github.com/Wilooper/Lyrica.git
cd Lyrica
# 2. Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\Activate.ps1
# 3. Install dependencies
pip install -r requirements.txt
# 4. Copy environment configuration
cp .env.example .env
# 5. Run the server
python run.py
Access the server:
http://127.0.0.1:9999/http://127.0.0.1:9999/apphttp://127.0.0.1:9999/openapi.json# Build & Run Container
docker build -t lyrica .
docker run -p 9999:9999 --env-file .env lyrica
&word=true).&syllabus=true).openai/gpt-oss-120b).| ID | Source Name | Lyrics Type | Authentication |
|---|---|---|---|
| 1 | Genius | Plain | GENIUS_TOKEN (optional) |
| 2 | LRCLIB | Timestamped + Plain | None (Free, highly reliable) |
| 3 | YouTube Music | Timestamped + Plain | None / Optional Cookies |
| 4 | NetEase | Timestamped (LRC) | None |
| 5 | Megalobiz | Timestamped (LRC) | None |
| 6 | Musixmatch | Timestamped (LRC) | MUSIXMATCH_TOKEN (optional) |
| 7 | Lrcmux | Timestamped + Word-Level | None (api.lrcmux.dev) |
| 8 | Apple Music | Timestamped + Word-Level + Syllable-Level | APPLE_MUSIC_DEVELOPER_TOKEN |
Default Fallback Order: LRCLIB (2) → Lrcmux (7) → Genius (1) → YouTube (3) → NetEase (4) → Megalobiz (5) → Musixmatch (6) → Apple Music (8)
Lyrica uses environment variables (.env) for secrets and system infrastructure, and .lyrica.config for user preferences.
.env)ADMIN_KEY=your_secure_admin_key
GENIUS_TOKEN=your_genius_token
GROQ_API_KEY=gsk_key1,gsk_key2
GROQ_MODEL=openai/gpt-oss-120b
REDIS_URL=redis://localhost:6379/0
PROXY_URL=http://user:pass@host:port
APPLE_MUSIC_DEVELOPER_TOKEN=your_apple_music_developer_token
YT_COOKIES_PATH=/app/security/cookies.txt
RATE_LIMIT_STORAGE_URI=memory://
CACHE_TTL=86400
LOG_LEVEL=INFO
Detailed environment variable documentation is available in guide/SETUP_GUIDE.md.
curl "http://127.0.0.1:9999/lyrics/?artist=Coldplay&song=Yellow"
curl "http://127.0.0.1:9999/lyrics/?artist=Coldplay&song=Yellow×tamps=true"
curl "http://127.0.0.1:9999/lyrics/?artist=Coldplay&song=Yellow×tamps=true&word=true"
curl "http://127.0.0.1:9999/lyrics/?artist=Coldplay&song=Yellow×tamps=true&syllabus=true"
curl "http://127.0.0.1:9999/lyrics/?artist=Karan%20Aujla&song=Boyfriend×tamps=true&translate=true&romanize=true&language=en"
curl "http://127.0.0.1:9999/lyrics/?artist=Arijit%20Singh&song=Tum%20Hi%20Ho&fast=true&mood=true&metadata=true"
curl "http://127.0.0.1:9999/suggestion?q=Tum%20Hi%20Ho&limit=5"
curl "http://127.0.0.1:9999/trending/?country=IN&limit=10"
Lyrica is production-ready for deployment on VPS, Docker, Render, Hugging Face, Railway, Fly.io, Vercel, and cloud providers.
# Example Production Startup via Gunicorn
gunicorn -w 4 -b 0.0.0.0:9999 --timeout 120 run:app
📖 For complete deployment guides (Docker, Nginx + SSL, Cloud Hosts), see guide/DEPLOYMENT_GUIDE.md.
Explore dedicated guides in the guide/ directory:
fast=true to query sources in parallel.PROXY_URL or YT_PROXY_URL in .env to route requests through proxy servers.GROQ_API_KEY (comma-separated) for round-robin rotation.run.py or specify -b 0.0.0.0:<PORT> when starting Gunicorn.Contributions are warmly welcome!
git checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-featurePlease ensure code adheres to PEP 8 standards and new features include documentation updates.
Licensed under the MIT License © 2026 Lyrica Contributors.
Made with ❤️ in India 🇮🇳
Lyrica API is a free, open-source Python tool to fetch unsynced, line-synced (LRC), word-level, and syllable-level synchronized song lyrics. Powered by real-time AI translation and transliteration (Romanization) across languages, it delivers clean, zero-friction JSON responses engineered for web apps, mobile clients, and desktop players.
See the codeA high-performance Python/Flask REST API for plain & timestamped lyrics, word-level sync, metadata, sentiment analysis, trending charts, and Groq-powered lyrics translation.
&syllabus=true), word-level sync, and line-level timestampssyllabus and word_level parameters to prevent collisions across sync levelsmain as edge and sha-* tags&word=true×tamps=true)Lyrica aggregates song lyrics from 8 active sources with intelligent sync-level fallback, fast parallel execution, word-level synchronization (Karaoke mode), syllable-level sync, sentiment analysis, song metadata, trending charts, and real-time LLM translation/romanization using Groq.
fast=true) with TTL disk caching.&word=true) and Apple Music (&syllabus=true).&translate=true).# 1. Clone the repository
git clone https://github.com/Wilooper/Lyrica.git
cd Lyrica
# 2. Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\Activate.ps1
# 3. Install dependencies
pip install -r requirements.txt
# 4. Copy environment configuration
cp .env.example .env
# 5. Run the server
python run.py
Access the server:
http://127.0.0.1:9999/http://127.0.0.1:9999/apphttp://127.0.0.1:9999/openapi.json# Build & Run Container
docker build -t lyrica .
docker run -p 9999:9999 --env-file .env lyrica
&word=true).&syllabus=true).openai/gpt-oss-120b).| ID | Source Name | Lyrics Type | Authentication |
|---|---|---|---|
| 1 | Genius | Plain | GENIUS_TOKEN (optional) |
| 2 | LRCLIB | Timestamped + Plain | None (Free, highly reliable) |
| 3 | YouTube Music | Timestamped + Plain | None / Optional Cookies |
| 4 | NetEase | Timestamped (LRC) | None |
| 5 | Megalobiz | Timestamped (LRC) | None |
| 6 | Musixmatch | Timestamped (LRC) | MUSIXMATCH_TOKEN (optional) |
| 7 | Lrcmux | Timestamped + Word-Level | None (api.lrcmux.dev) |
| 8 | Apple Music | Timestamped + Word-Level + Syllable-Level | APPLE_MUSIC_DEVELOPER_TOKEN |
Default Fallback Order: LRCLIB (2) → Lrcmux (7) → Genius (1) → YouTube (3) → NetEase (4) → Megalobiz (5) → Musixmatch (6) → Apple Music (8)
Lyrica uses environment variables (.env) for secrets and system infrastructure, and .lyrica.config for user preferences.
.env)ADMIN_KEY=your_secure_admin_key
GENIUS_TOKEN=your_genius_token
GROQ_API_KEY=gsk_key1,gsk_key2
GROQ_MODEL=openai/gpt-oss-120b
REDIS_URL=redis://localhost:6379/0
PROXY_URL=http://user:pass@host:port
APPLE_MUSIC_DEVELOPER_TOKEN=your_apple_music_developer_token
YT_COOKIES_PATH=/app/security/cookies.txt
RATE_LIMIT_STORAGE_URI=memory://
CACHE_TTL=86400
LOG_LEVEL=INFO
Detailed environment variable documentation is available in guide/SETUP_GUIDE.md.
curl "http://127.0.0.1:9999/lyrics/?artist=Coldplay&song=Yellow"
curl "http://127.0.0.1:9999/lyrics/?artist=Coldplay&song=Yellow×tamps=true"
curl "http://127.0.0.1:9999/lyrics/?artist=Coldplay&song=Yellow×tamps=true&word=true"
curl "http://127.0.0.1:9999/lyrics/?artist=Coldplay&song=Yellow×tamps=true&syllabus=true"
curl "http://127.0.0.1:9999/lyrics/?artist=Karan%20Aujla&song=Boyfriend×tamps=true&translate=true&romanize=true&language=en"
curl "http://127.0.0.1:9999/lyrics/?artist=Arijit%20Singh&song=Tum%20Hi%20Ho&fast=true&mood=true&metadata=true"
curl "http://127.0.0.1:9999/suggestion?q=Tum%20Hi%20Ho&limit=5"
curl "http://127.0.0.1:9999/trending/?country=IN&limit=10"
Lyrica is production-ready for deployment on VPS, Docker, Render, Hugging Face, Railway, Fly.io, Vercel, and cloud providers.
# Example Production Startup via Gunicorn
gunicorn -w 4 -b 0.0.0.0:9999 --timeout 120 run:app
📖 For complete deployment guides (Docker, Nginx + SSL, Cloud Hosts), see guide/DEPLOYMENT_GUIDE.md.
Explore dedicated guides in the guide/ directory:
fast=true to query sources in parallel.PROXY_URL or YT_PROXY_URL in .env to route requests through proxy servers.GROQ_API_KEY (comma-separated) for round-robin rotation.run.py or specify -b 0.0.0.0:<PORT> when starting Gunicorn.Contributions are warmly welcome!
git checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-featurePlease ensure code adheres to PEP 8 standards and new features include documentation updates.
Licensed under the MIT License © 2026 Lyrica Contributors.
Made with ❤️ in India 🇮🇳