Genius Lyrics Scraper & Translator avatar
Genius Lyrics Scraper & Translator

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Genius Lyrics Scraper & Translator

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

Marielise

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

a day ago

Last modified

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:

FieldTypeDescriptionExample
titlestringSong title"Bohemian Rhapsody"
lyricsstringFull plain-text lyrics with section markers"[Intro]\nIs this the real life?..."
lyricsSectionsarrayLyrics broken into labeled sections[{"label": "Intro", "text": "..."}]
translatedLyricsstringAI-translated lyrics (if translation enabled)"[Intro]\nEs esto la vida real?..."
translatedLyricsSectionsarrayTranslated lyrics broken into sections[{"label": "Intro", "text": "..."}]
primaryArtiststringMain artist name"Queen"
featuredArtistsarrayFeatured artists list["David Bowie"]
albumstringAlbum name"A Night at the Opera"
releaseDatestringRelease date as displayed on Genius"October 31, 1975"
coverArtUrlstringSong or album cover art image URL"https://images.genius.com/..."
annotationCountnumberNumber of community annotations on the page87
annotationsarrayAnnotation fragment texts (only when enabled)[{"fragment": "...", "annotation": "..."}]
producersarrayProducer credits["Roy Thomas Baker", "Queen"]
writersarrayWriter credits["Freddie Mercury"]
tagsarrayGenre and style tags["Rock", "Classic Rock"]
mediaLinksarrayExternal streaming/video links[{"provider": "spotify", "url": "..."}]
lyricsVerifiedbooleanWhether the lyrics are marked as verifiedtrue
urlstringGenius page URL"https://genius.com/Queen-bohemian-rhapsody-lyrics"
scrapedAtstringISO 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

ParameterTypeDefaultDescription
searchQuerystring--Search for songs by song name, artist, or any keyword.
startUrlsarray--Direct Genius song page URLs to scrape. Use instead of searchQuery for specific songs.
maxResultsinteger10Maximum number of songs to scrape. Set to 0 for no limit (max 10,000).
includeAnnotationsbooleanfalseScrape community annotations. Increases cost per song from $0.004 to $0.009.
translateTostring--Translate lyrics to this language (e.g. "Spanish", "Japanese"). Leave empty to skip.
translateApiKeystring--Your OpenAI-compatible API key for cheaper BYOK translation ($0.002/song instead of $0.008/song).
translateModelstringgpt-4o-miniChat completions model to use. Only relevant when providing your own API key.
translateBaseUrlstring--API base URL for non-OpenAI providers (e.g. Google Gemini, Anthropic).
proxyConfigurationobject--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.

EventPrice per SongDescription
Song scraped$0.004Lyrics + full metadata extracted
Song with annotations$0.009Lyrics + metadata + community annotations
Translation (integrated)+$0.008AI translation using built-in key (no setup)
Translation (BYOK)+$0.002AI translation using your own API key

Translation charges are added on top of the base scraping charge.

Cost Examples

ScenarioSongsPer-Song CostTotal
Lyrics + metadata only100$0.004$0.40
Lyrics + annotations100$0.009$0.90
Lyrics + integrated translation100$0.004 + $0.008$1.20
Lyrics + BYOK translation100$0.004 + $0.002$0.60
Lyrics + annotations + BYOK translation100$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:

  1. Enable proxy rotation via the proxy configuration input
  2. Use residential proxies if you encounter blocks with datacenter proxies
  3. Start with a small maxResults to verify your configuration works
  4. 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.