Genius Lyrics Scraper
Pricing
from $2.50 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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
nullinstead 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
Single Keyword Search
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.
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | ["HUMBLE Kendrick Lamar"] | Song titles, artist names, or lyric fragments to search on Genius. Each query runs independently and returns matching songs. |
artistUrls | string[] | [] | Genius artist-page URLs (e.g. https://genius.com/artists/Drake) to pull a full discography, up to the limit below. |
songUrls | string[] | [] | Direct Genius song-page URLs (e.g. https://genius.com/Kendrick-lamar-humble-lyrics). Each URL produces one song row. |
Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 50 | Maximum 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
| Parameter | Type | Default | Description |
|---|---|---|---|
includeLyrics | boolean | true | Extract 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). |
includeArtistProfile | boolean | false | When 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
| Parameter | Type | Default | Description |
|---|---|---|---|
language | select | Any language | Keep 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
| Field | Type | Description |
|---|---|---|
recordType | string | Always "song" |
id | number | Genius song ID |
title | string | Song title |
url | string | Canonical Genius song-page URL |
language | string | Detected ISO language code |
explicit | boolean | Explicit-content flag |
releaseDate | string | Release date (YYYY, YYYY-MM, or YYYY-MM-DD) |
lyrics | string | Full plain-text lyrics (null for instrumentals or incomplete entries) |
description | string | Song description / context text |
recordingLocation | string | Recording studio or location, when listed |
Stats & Artwork
| Field | Type | Description |
|---|---|---|
pageviews | number | Total Genius page views for the song |
annotationCount | number | Number of community annotations on the lyrics |
thumbnailUrl | string | Small song-art image URL |
imageUrl | string | Full-size song-art image URL |
Artist & Album
| Field | Type | Description |
|---|---|---|
artistName | string | Primary artist name |
artistId | number | Genius artist ID |
artistUrl | string | Genius artist-page URL |
artistImageUrl | string | Primary artist image URL |
albumName | string | Album name, when the song belongs to one |
albumUrl | string | Genius album-page URL |
albumCoverUrl | string | Album cover-art image URL |
Credits & Streaming Links
| Field | Type | Description |
|---|---|---|
writerNames | string[] | Songwriter credits |
producerNames | string[] | Producer credits |
featuredArtistNames | string[] | Featured-artist credits |
spotifyUrl | string | Spotify track URL, when available |
youtubeUrl | string | YouTube video URL, when available |
soundcloudUrl | string | SoundCloud track URL, when available |
appleMusicUrl | string | Apple 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"}
| Field | Type | Description |
|---|---|---|
recordType | string | Always "artist" |
artistId | number | Genius artist ID |
name | string | Artist display name |
url | string | Genius artist-page URL |
imageUrl | string | Artist avatar image URL |
alternateNames | string[] | Known aliases and alternate spellings |
followerCount | number | Genius follower count |
isVerified | boolean | Whether the artist account is verified on Genius |
iq | number | Genius IQ score (community contribution metric) |
description | string | Artist biography text |
instagramName | string | Instagram handle |
twitterName | string | Twitter / X handle |
facebookName | string | Facebook 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: falseroughly halves runtime and shrinks each row when you only need credits, stats, and streaming links. - Keep
maxResultsmodest 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
includeArtistProfilefor one-row artist context. It appears once per artist source as its ownartistrow, so it costs a single extra result while giving you followers, IQ, and social handles. - Filter by
recordTypedownstream. Songs and artist profiles land in the same dataset β split onrecordTypeto route each into its own table. - Rank by
pageviewsfor popularity,annotationCountfor 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.
| Results | Estimated 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
Legal & Ethical Use
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.