Genius Lyrics Scraper & Translator
Pricing
from $0.01 / 1,000 results
Genius Lyrics Scraper & Translator
Scrape song lyrics, metadata, credits, and annotations from Genius.com. Search by query or provide direct URLs. Includes AI-powered translation to any language — works out of the box or bring your own OpenAI-compatible API key for a lower rate. Clean section-parsed output with smart remix filtering.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer

Marielise
Actor stats
1
Bookmarked
3
Total users
2
Monthly active users
a day ago
Last modified
Categories
Share
Genius Lyrics Scraper
Extract song lyrics, detailed metadata, credits, and community annotations from Genius.com -- the world's largest collection of song lyrics and musical knowledge. Translate lyrics into any language with built-in AI translation.
No API tokens required. Just enter a search query or paste Genius URLs and get structured data back in seconds. Pay only for what you scrape, starting at $0.004 per song.
Features
- Full lyrics extraction with verse/chorus/bridge section labels parsed automatically
- AI-powered translation -- translate lyrics to any language, with two pricing tiers
- Rich metadata including album, release date, cover art, and verified status
- Credits -- producers, writers, and featured artists
- Community annotations -- crowd-sourced lyric explanations (optional, higher cost tier)
- Media links -- Spotify, Apple Music, YouTube, and SoundCloud URLs when available
- Tags and genres for categorization
- Smart remix filtering -- automatically excludes remix results unless your query asks for them
- Lyrics cleaning -- strips junk headers (e.g.
[Letra de "..."]) and collapses excessive whitespace - No API token needed -- uses the public Genius search endpoint, zero setup required
- Two input modes -- search by query or provide direct Genius URLs
- Pay-per-event pricing -- you only pay for successfully scraped songs, no platform rental fees
- Anti-bot protection -- rotating User-Agents, session pools, rate limiting, and proxy support
What Data Can You Extract?
For every song, the actor extracts up to 19 data fields:
| Field | Type | Description | Example |
|---|---|---|---|
title | string | Song title | "Bohemian Rhapsody" |
lyrics | string | Full plain-text lyrics with section markers | "[Intro]\nIs this the real life?..." |
lyricsSections | array | Lyrics broken into labeled sections | [{"label": "Intro", "text": "..."}] |
translatedLyrics | string | AI-translated lyrics (if translation enabled) | "[Intro]\nEs esto la vida real?..." |
translatedLyricsSections | array | Translated lyrics broken into sections | [{"label": "Intro", "text": "..."}] |
primaryArtist | string | Main artist name | "Queen" |
featuredArtists | array | Featured artists list | ["David Bowie"] |
album | string | Album name | "A Night at the Opera" |
releaseDate | string | Release date as displayed on Genius | "October 31, 1975" |
coverArtUrl | string | Song or album cover art image URL | "https://images.genius.com/..." |
annotationCount | number | Number of community annotations on the page | 87 |
annotations | array | Annotation fragment texts (only when enabled) | [{"fragment": "...", "annotation": "..."}] |
producers | array | Producer credits | ["Roy Thomas Baker", "Queen"] |
writers | array | Writer credits | ["Freddie Mercury"] |
tags | array | Genre and style tags | ["Rock", "Classic Rock"] |
mediaLinks | array | External streaming/video links | [{"provider": "spotify", "url": "..."}] |
lyricsVerified | boolean | Whether the lyrics are marked as verified | true |
url | string | Genius page URL | "https://genius.com/Queen-bohemian-rhapsody-lyrics" |
scrapedAt | string | ISO 8601 timestamp of extraction | "2025-01-15T10:30:00.000Z" |
How to Use
Option A: Search by Query
Enter any combination of song name, artist, or keywords into the searchQuery field. The actor searches Genius and scrapes the matching results.
{"searchQuery": "Bohemian Rhapsody Queen","maxResults": 1}
More search examples:
{"searchQuery": "Kendrick Lamar HUMBLE","maxResults": 5,"includeAnnotations": true}
{"searchQuery": "love songs 2024","maxResults": 20}
Remix results are automatically filtered out unless your query contains the word "remix".
Option B: Provide Direct URLs
Paste one or more Genius song page URLs into the startUrls field to scrape specific songs directly, bypassing the search step.
{"startUrls": [{ "url": "https://genius.com/Queen-bohemian-rhapsody-lyrics" },{ "url": "https://genius.com/Radiohead-creep-lyrics" },{ "url": "https://genius.com/Kendrick-lamar-humble-lyrics" }]}
Enable Annotations (Optional)
Set includeAnnotations to true to extract community annotations. These are crowd-sourced explanations of lyric meanings, cultural references, and wordplay -- the feature that makes Genius unique.
{"searchQuery": "HUMBLE Kendrick Lamar","includeAnnotations": true}
Including annotations increases the per-song cost from $0.004 to $0.009.
Translate Lyrics (Optional)
Translate lyrics to any language using AI. Just set the translateTo field to a language name. Translation works out of the box with no setup, or you can bring your own API key for a lower rate.
Integrated mode (no setup needed, $0.008/song):
{"searchQuery": "Bohemian Rhapsody Queen","translateTo": "Spanish"}
BYOK mode (your own key, $0.002/song):
{"searchQuery": "Bohemian Rhapsody Queen","translateTo": "Japanese","translateApiKey": "sk-your-openai-api-key"}
The BYOK mode supports any OpenAI-compatible provider. Override the model and endpoint for non-OpenAI services:
{"searchQuery": "Bohemian Rhapsody Queen","translateTo": "French","translateApiKey": "your-api-key","translateModel": "gemini-2.0-flash","translateBaseUrl": "https://generativelanguage.googleapis.com/v1beta/openai/"}
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | -- | Search for songs by song name, artist, or any keyword. |
startUrls | array | -- | Direct Genius song page URLs to scrape. Use instead of searchQuery for specific songs. |
maxResults | integer | 10 | Maximum number of songs to scrape. Set to 0 for no limit (max 10,000). |
includeAnnotations | boolean | false | Scrape community annotations. Increases cost per song from $0.004 to $0.009. |
translateTo | string | -- | Translate lyrics to this language (e.g. "Spanish", "Japanese"). Leave empty to skip. |
translateApiKey | string | -- | Your OpenAI-compatible API key for cheaper BYOK translation ($0.002/song instead of $0.008/song). |
translateModel | string | gpt-4o-mini | Chat completions model to use. Only relevant when providing your own API key. |
translateBaseUrl | string | -- | API base URL for non-OpenAI providers (e.g. Google Gemini, Anthropic). |
proxyConfiguration | object | -- | Proxy settings. Recommended for avoiding rate limits on large jobs. |
You must provide either searchQuery or startUrls. All other parameters are optional.
Output Example
{"title": "Bohemian Rhapsody","lyrics": "[Intro]\nIs this the real life?\nIs this just fantasy?\nCaught in a landslide\nNo escape from reality\n\n[Verse 1]\nOpen your eyes\nLook up to the skies and see...","lyricsSections": [{"label": "Intro","text": "Is this the real life?\nIs this just fantasy?\nCaught in a landslide\nNo escape from reality"},{"label": "Verse 1","text": "Open your eyes\nLook up to the skies and see..."}],"translatedLyrics": null,"translatedLyricsSections": null,"primaryArtist": "Queen","featuredArtists": [],"album": "A Night at the Opera","releaseDate": "October 31, 1975","coverArtUrl": "https://images.genius.com/...","annotationCount": 87,"annotations": null,"producers": ["Roy Thomas Baker", "Queen"],"writers": ["Freddie Mercury"],"tags": ["Rock", "Classic Rock", "British Rock"],"mediaLinks": [{ "provider": "spotify", "url": "https://open.spotify.com/track/..." },{ "provider": "youtube", "url": "https://www.youtube.com/watch?v=..." }],"lyricsVerified": true,"url": "https://genius.com/Queen-bohemian-rhapsody-lyrics","scrapedAt": "2025-01-15T10:30:00.000Z"}
When translation is enabled, the translatedLyrics and translatedLyricsSections fields are populated with the same structure as the original lyrics.
Pricing
This actor uses Pay Per Event (PPE) pricing. You only pay for successfully scraped songs. No fixed monthly fees.
| Event | Price per Song | Description |
|---|---|---|
| Song scraped | $0.004 | Lyrics + full metadata extracted |
| Song with annotations | $0.009 | Lyrics + metadata + community annotations |
| Translation (integrated) | +$0.008 | AI translation using built-in key (no setup) |
| Translation (BYOK) | +$0.002 | AI translation using your own API key |
Translation charges are added on top of the base scraping charge.
Cost Examples
| Scenario | Songs | Per-Song Cost | Total |
|---|---|---|---|
| Lyrics + metadata only | 100 | $0.004 | $0.40 |
| Lyrics + annotations | 100 | $0.009 | $0.90 |
| Lyrics + integrated translation | 100 | $0.004 + $0.008 | $1.20 |
| Lyrics + BYOK translation | 100 | $0.004 + $0.002 | $0.60 |
| Lyrics + annotations + BYOK translation | 100 | $0.009 + $0.002 | $1.10 |
| Large catalog scrape (no extras) | 1,000 | $0.004 | $4.00 |
Use Cases
Music Research and Analysis
Analyze lyrics across genres, time periods, or artists for academic research, sentiment analysis, or trend detection. Section-parsed output makes structural analysis straightforward.
Multilingual Lyric Projects
Translate lyrics from any language to any other using the built-in AI translation. Build bilingual lyric databases, language learning materials, or localized music content.
Songwriting Reference
Study song structures, rhyme patterns, and lyrical techniques from professional songwriters. Annotations provide crowd-sourced explanations of craft decisions and cultural context.
Data Science and NLP
Build datasets for natural language processing, recommendation engines, or music information retrieval systems. Clean, structured JSON output is ready for direct ingestion into data pipelines.
Music Journalism
Quickly gather accurate credits, release dates, and streaming links for articles and reviews. Cover art URLs are included for editorial use.
Educational Content
Use annotations to create educational materials about music history, poetic devices, and cultural references in popular music.
Rate Limiting and Best Practices
The actor automatically handles rate limiting with:
- Random delays between requests (0.5-2 seconds)
- Maximum 3 concurrent requests
- Session pool with automatic rotation (10 sessions, 30-minute lifespan)
- Rotating User-Agent headers across Chrome, Firefox, and Safari
For large scraping jobs (500+ songs), it is recommended to:
- Enable proxy rotation via the proxy configuration input
- Use residential proxies if you encounter blocks with datacenter proxies
- Start with a small
maxResultsto verify your configuration works - Run very large jobs (10,000+ songs) in batches
FAQ
Do I need a Genius API token? No. This actor uses the public Genius search endpoint and does not require any API token or account. Just enter a search query or paste URLs and it works.
What is the difference between searchQuery and startUrls?
Use searchQuery when you want to find songs by name, artist, or keyword -- the actor will search Genius and scrape the results. Use startUrls when you already have specific Genius page URLs you want to scrape directly. You should provide one or the other, not both.
Why are remix results excluded from my search? The actor automatically filters out remix versions from search results to give you the original songs. If you specifically want remixes, include the word "remix" in your search query and they will be included.
Why are lyrics sometimes missing? Some songs on Genius have no lyrics transcribed yet, or the page structure may differ from what the scraper expects. The actor logs warnings for pages where lyrics could not be extracted. Metadata and credits are still returned.
Can I scrape instrumental tracks?
Yes, but the lyrics field will be null or contain only section labels like [Instrumental]. All other metadata and credits are still extracted.
How does the translation feature work?
When you set translateTo to a language name (e.g. "Spanish"), the actor sends the lyrics to an AI model for translation. Section markers like [Verse], [Chorus], and [Bridge] are preserved in the translated output. There are two pricing tiers: integrated (no setup, $0.008/song) and BYOK (your own OpenAI-compatible key, $0.002/song).
Can I use a non-OpenAI provider for translation?
Yes. The BYOK mode supports any OpenAI-compatible API. Set translateApiKey to your provider's API key, translateModel to the model name, and translateBaseUrl to the provider's API endpoint. For example, Google Gemini, Together AI, or any OpenAI-compatible service.
What is the maximum number of songs I can scrape?
The maxResults field accepts values up to 10,000. Set it to 0 for no limit. For very large jobs, consider running in batches for reliability.
Does this actor work with the Apify MCP server? Yes. This actor uses PPE pricing, which is fully compatible with AI/MCP integrations. AI agents can discover and run this actor programmatically.