Genius Lyrics Scraper avatar

Genius Lyrics Scraper

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Genius Lyrics Scraper

Genius Lyrics Scraper

[πŸ’° $2.5 / 1K] Extract song lyrics, metadata, credits, streaming links, and artist profiles from Genius. Search by keyword or paste artist and song URLs.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Pull full song lyrics, rich metadata, songwriting credits, and artist profiles from Genius at scale β€” every track comes with plain-text lyrics, page-view and annotation counts, album art, and direct Spotify, YouTube, SoundCloud, and Apple Music links. Built for ML and NLP researchers, music data analysts, journalists, and app developers who need a clean, structured lyrics dataset without parsing Genius song pages one at a time.

Why This Scraper?

  • Full plain-text lyrics on every song row β€” the complete lyrics for each track, cleaned and line-broken, parsed straight from the song page (instrumentals and incomplete entries return null instead of garbage).
  • Complete songwriting credits β€” separate writer, producer, and featured-artist name arrays per track, so you can build credit graphs and royalty-style attribution datasets.
  • Streaming links to four platforms per track β€” Spotify, YouTube, SoundCloud, and Apple Music URLs resolved on every song, ready to join against your own catalog.
  • Engagement signals built in β€” page-view counts and annotation counts per song let you rank tracks by popularity without a second data source.
  • Three ways to feed it, mixed freely β€” keyword search, artist-page URLs for a full discography, and direct song URLs all in one run.
  • Up to 1,000 songs per source β€” pull an artist's deep catalog (sorted by popularity) or a wide keyword sweep in a single invocation, with smooth pagination and no duplicate rows within a source.
  • Standalone artist profiles β€” opt in to get follower count, Genius IQ, verification status, alternate names, biography, and Instagram / Twitter / Facebook handles as their own row.
  • Filter to one of 12 languages β€” keep English-only, Spanish-only, or any single language, or leave it on "Any language" to capture multilingual catalogs whole.

Use Cases

NLP & ML Lyric Datasets

  • Assemble a labeled corpus of plain-text lyrics for language-model fine-tuning
  • Build sentiment, topic, or genre classifiers on real song text
  • Train lyric-generation models on a single artist's complete catalog

Music Market Research

  • Rank an artist's catalog by page views to find their breakout tracks
  • Compare annotation counts to gauge which songs drive the most listener discussion
  • Track release dates and explicit flags across a label's roster

Journalism & Editorial

  • Pull verified songwriting and production credits for music reporting
  • Quote lyrics with the canonical Genius source URL attached
  • Build "who-produced-what" features from producer credit arrays

App & Playlist Development

  • Power lyric-display features with clean, line-broken text
  • Cross-link Genius tracks to Spotify, Apple Music, YouTube, and SoundCloud IDs
  • Surface album art and song thumbnails in your own UI

Academic & Cultural Research

  • Study lyrical themes across decades using release-date metadata
  • Analyze featured-artist collaboration networks at scale
  • Map an artist's social-media reach via profile follower counts

Getting Started

The simplest run β€” one search, the top 50 matching songs with lyrics:

{
"searchQueries": ["HUMBLE Kendrick Lamar"],
"maxResults": 50
}

Full Artist Discography

Paste an artist-page URL to pull their catalog, ranked by popularity, capped at 200 songs:

{
"artistUrls": ["https://genius.com/artists/Drake"],
"maxResults": 200,
"includeArtistProfile": true
}

Multi-Source with Language Filter

Mix searches, artist pages, and direct song URLs β€” keep Spanish-language tracks only, and skip lyrics for a faster, lighter run:

{
"searchQueries": ["bad bunny"],
"artistUrls": ["https://genius.com/artists/Rosalia"],
"songUrls": ["https://genius.com/Kendrick-lamar-humble-lyrics"],
"language": "es",
"includeLyrics": false,
"includeArtistProfile": true,
"maxResults": 100
}

Input Reference

Sources

Pick any combination β€” at least one is needed. Leave them all empty to run a small example search.

ParameterTypeDefaultDescription
searchQueriesstring[]["HUMBLE Kendrick Lamar"]Song titles, artist names, or lyric fragments to search on Genius. Each query runs independently and returns matching songs.
artistUrlsstring[][]Genius artist-page URLs (e.g. https://genius.com/artists/Drake) to pull a full discography, up to the limit below.
songUrlsstring[][]Direct Genius song-page URLs (e.g. https://genius.com/Kendrick-lamar-humble-lyrics). Each URL produces one song row.

Limits

ParameterTypeDefaultDescription
maxResultsinteger50Maximum songs per search query or per artist. Set to 0 for all available songs. Hard upper bound is 1,000 per source.

What to Extract

ParameterTypeDefaultDescription
includeLyricsbooleantrueExtract full plain-text lyrics for every song. Turn off for a faster, smaller run that returns metadata, credits, and links only (roughly twice as fast).
includeArtistProfilebooleanfalseWhen you provide an artist URL or search for an artist, also emit a standalone artist-profile row with followers, verified status, biography, and social handles.

Localization

ParameterTypeDefaultDescription
languageselectAny languageKeep songs only in a specific language. Options: Any language, English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Japanese, Korean, Chinese (Simplified). Picking a specific language drops songs detected in other languages.

Output

Every row carries a recordType field β€” song or artist β€” so you can filter the two cleanly in one dataset.

Song (recordType: "song")

{
"recordType": "song",
"id": 3039923,
"title": "HUMBLE.",
"url": "https://genius.com/Kendrick-lamar-humble-lyrics",
"language": "en",
"explicit": true,
"releaseDate": "2017-03-30",
"pageviews": 4821334,
"annotationCount": 87,
"thumbnailUrl": "https://images.genius.com/thumb.300x300.jpg",
"imageUrl": "https://images.genius.com/songart.1000x1000.jpg",
"lyrics": "[Intro]\nNobody pray for me\nIt's been that day for me\n...",
"description": "\"HUMBLE.\" was the lead single from Kendrick Lamar's fourth studio album...",
"artistName": "Kendrick Lamar",
"artistId": 1421,
"artistUrl": "https://genius.com/artists/Kendrick-lamar",
"artistImageUrl": "https://images.genius.com/artist.jpg",
"albumName": "DAMN.",
"albumUrl": "https://genius.com/albums/Kendrick-lamar/Damn",
"albumCoverUrl": "https://images.genius.com/albumcover.jpg",
"writerNames": ["Kendrick Lamar", "Mike WiLL Made-It"],
"producerNames": ["Mike WiLL Made-It"],
"featuredArtistNames": [],
"spotifyUrl": "https://open.spotify.com/track/7KXjTSCq5nL1LoYtL7XAwS",
"youtubeUrl": "https://www.youtube.com/watch?v=tvTRZJ-4EyI",
"soundcloudUrl": "https://soundcloud.com/kendrick-lamar-music/humble",
"appleMusicUrl": "https://music.apple.com/us/album/_/1440881047",
"recordingLocation": "Carnival Music Studio"
}

Core Fields

FieldTypeDescription
recordTypestringAlways "song"
idnumberGenius song ID
titlestringSong title
urlstringCanonical Genius song-page URL
languagestringDetected ISO language code
explicitbooleanExplicit-content flag
releaseDatestringRelease date (YYYY, YYYY-MM, or YYYY-MM-DD)
lyricsstringFull plain-text lyrics (null for instrumentals or incomplete entries)
descriptionstringSong description / context text
recordingLocationstringRecording studio or location, when listed

Stats & Artwork

FieldTypeDescription
pageviewsnumberTotal Genius page views for the song
annotationCountnumberNumber of community annotations on the lyrics
thumbnailUrlstringSmall song-art image URL
imageUrlstringFull-size song-art image URL

Artist & Album

FieldTypeDescription
artistNamestringPrimary artist name
artistIdnumberGenius artist ID
artistUrlstringGenius artist-page URL
artistImageUrlstringPrimary artist image URL
albumNamestringAlbum name, when the song belongs to one
albumUrlstringGenius album-page URL
albumCoverUrlstringAlbum cover-art image URL
FieldTypeDescription
writerNamesstring[]Songwriter credits
producerNamesstring[]Producer credits
featuredArtistNamesstring[]Featured-artist credits
spotifyUrlstringSpotify track URL, when available
youtubeUrlstringYouTube video URL, when available
soundcloudUrlstringSoundCloud track URL, when available
appleMusicUrlstringApple Music URL, when available

Artist (recordType: "artist")

Emitted only when includeArtistProfile: true for artist sources.

{
"recordType": "artist",
"artistId": 1421,
"name": "Kendrick Lamar",
"url": "https://genius.com/artists/Kendrick-lamar",
"imageUrl": "https://images.genius.com/artist.1000x1000.jpg",
"alternateNames": ["K.Dot", "Kung Fu Kenny"],
"followerCount": 41822,
"isVerified": true,
"iq": 21450,
"description": "Kendrick Lamar Duckworth is a Pulitzer Prize-winning rapper from Compton, California...",
"instagramName": "kendricklamar",
"twitterName": "kendricklamar",
"facebookName": "kendricklamar"
}
FieldTypeDescription
recordTypestringAlways "artist"
artistIdnumberGenius artist ID
namestringArtist display name
urlstringGenius artist-page URL
imageUrlstringArtist avatar image URL
alternateNamesstring[]Known aliases and alternate spellings
followerCountnumberGenius follower count
isVerifiedbooleanWhether the artist account is verified on Genius
iqnumberGenius IQ score (community contribution metric)
descriptionstringArtist biography text
instagramNamestringInstagram handle
twitterNamestringTwitter / X handle
facebookNamestringFacebook handle

Tips for Best Results

  • Use artist URLs for complete discographies. A https://genius.com/artists/... URL pulls the artist's whole catalog sorted by popularity β€” far more reliable than guessing search terms for every track.
  • Leave language on "Any language" for multilingual artists. Picking a specific language drops every track detected in another tongue, so bilingual or crossover catalogs come back partial. Only set a language when you truly want one.
  • Turn off lyrics for metadata-only runs. Setting includeLyrics: false roughly halves runtime and shrinks each row when you only need credits, stats, and streaming links.
  • Keep maxResults modest while testing. Start at 25–50 to confirm the data shape, then raise it β€” popular artists can have well over 1,000 songs, so an uncapped run is large.
  • Add includeArtistProfile for one-row artist context. It appears once per artist source as its own artist row, so it costs a single extra result while giving you followers, IQ, and social handles.
  • Filter by recordType downstream. Songs and artist profiles land in the same dataset β€” split on recordType to route each into its own table.
  • Rank by pageviews for popularity, annotationCount for discussion. They capture different signals: views measure reach, annotations measure how much listeners dissect the lyrics.

Pricing

$2.50 per 1,000 results β€” flat pay-per-result, with lyrics, credits, streaming links, and engagement stats all bundled into every song row at no extra charge.

ResultsEstimated Cost
100$0.25
1,000$2.50
10,000$25.00
100,000$250.00

A "result" is any row in the output dataset β€” a song or an artist profile. No compute charges β€” you only pay per result returned.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n β€” Workflow automation
  • Google Sheets β€” Direct spreadsheet export
  • Slack / Email β€” Notifications on new results
  • Webhooks β€” Trigger custom APIs on run completion
  • Apify API β€” Full programmatic access

This actor is designed for legitimate research, journalism, and data analysis. Lyrics and other content remain the property of their respective rights holders β€” users are responsible for complying with applicable copyright law and Genius's terms of service, including respecting content-usage and redistribution rules. Do not use extracted data for spam, harassment, or any illegal purpose.