Genius.com Scraper
Pricing
from $1.39 / 1,000 song scrapeds
Genius.com Scraper
Scrape Genius.com songs, full lyrics, credits, and artist profiles by search query, artist URL, or song URL. Export JSON, CSV, Excel.
Pricing
from $1.39 / 1,000 song scrapeds
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Genius.com Scraper
Scrape songs, full lyrics, credits, and artist profiles from Genius.com by search query, artist-page URL, or direct song-page URL. Genius.com Scraper returns clean, structured JSON for every matching song — plain-text lyrics, songwriter and producer credits, album data, pageviews, release dates, and streaming links to Spotify, YouTube, SoundCloud, and Apple Music.
| Search Genius, paste an artist URL for a full discography, or paste song URLs directly — get plain-text lyrics, writer/producer/feature credits, album and release data, pageviews, annotation counts, cover art, and Spotify / YouTube / SoundCloud / Apple Music links, with an optional artist-profile row (followers, verified status, bio, socials). Filter by language. Export JSON, CSV, Excel. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Genius.com Scraper (parsebird/genius-scraper) extracts songs, plain-text lyrics, credits, and artist profiles from genius.com. Inputs (combine any; all optional): searchQueries (array of strings — song titles, artist names, or lyric fragments), artistUrls (array of https://genius.com/artists/<slug> URLs — pulls the discography ranked by popularity), songUrls (array of https://genius.com/<slug>-lyrics URLs — one row each), maxResults (integer, default 50, 0 = all, hard cap 1000 per source), includeLyrics (boolean, default true — off is ~2x faster, metadata only), includeArtistProfile (boolean, default false — also emit a standalone artist-profile row), language (string ISO code, default "" = any — keeps only songs Genius detected in that language: en, es, fr, de, it, pt, nl, ru, ja, ko, zh), proxyConfiguration (object, default Apify Proxy). Output: one row per song with recordType "song" (id, title, url, language, explicit, releaseDate, pageviews, annotationCount, thumbnailUrl, imageUrl, lyrics, description, recordingLocation, artistName, artistId, artistUrl, artistImageUrl, albumName, albumUrl, albumCoverUrl, writerNames[], producerNames[], featuredArtistNames[], spotifyUrl, youtubeUrl, soundcloudUrl, appleMusicUrl) plus optional rows with recordType "artist" (artistId, name, url, imageUrl, alternateNames[], followerCount, isVerified, iq, description, instagramName, twitterName, facebookName). Pricing: pay-per-event, $0.00199 per song on Free down to $0.00139 on Gold; artist-profile rows are free. API: https://apify.com/parsebird/genius-scraper/api - Token: https://console.apify.com/account/integrations
What is Genius.com Scraper?
Genius.com Scraper is an Apify Actor that extracts structured song data and plain-text lyrics from Genius.com, the world's largest collection of song lyrics and music knowledge. It is a practical Genius API alternative: no client token, no OAuth, no rate-limited developer account — give it a search term, an artist page, or a song page and it returns analysis-ready JSON.
Genius.com Scraper handles three input types at once. Search "HUMBLE Kendrick Lamar" to get the top matching songs, paste https://genius.com/artists/Drake to pull a whole discography ranked by popularity, or paste direct links like https://genius.com/Kendrick-lamar-humble-lyrics for one-row-per-song extraction. Every row carries a recordType field — song or artist — so the two shapes filter cleanly in one dataset.
What can Genius.com Scraper do?
- 🎤 Full lyrics — complete plain-text lyrics for every song, with verse/section labels preserved. Toggle off for a faster, lighter metadata-only run.
- ✍️ Credits — songwriter, producer, and featured-artist names for each track.
- 💿 Album & release data — album name, album page URL, cover art, and the release date (year, year-month, or full date).
- 📊 Popularity signals — Genius pageviews and community annotation counts per song.
- 🔗 Streaming links — Spotify, YouTube, SoundCloud, and Apple Music URLs when Genius lists them.
- 👤 Artist profiles — an optional standalone row per artist with follower count, verified status, Genius IQ, biography, alternate names, and Instagram / Twitter / Facebook handles.
- 🌍 Language filter — keep only songs Genius detected in a chosen language (English, Spanish, French, and more).
- 🖼️ Artwork — song-art thumbnail and full-size image URLs, plus artist images.
- ⚡ Runs on Apify with API access, scheduling, webhooks, integrations, and export to JSON, CSV, Excel, HTML, or XML.
What data can you extract from Genius?
Song row (recordType: "song")
| Field | Description |
|---|---|
id | Genius song ID |
title | Song title |
url | Canonical Genius song-page URL |
language | Detected ISO language code |
explicit | Explicit-content flag |
releaseDate | Release date (YYYY, YYYY-MM, or YYYY-MM-DD) |
lyrics | Full plain-text lyrics (null for instrumentals or incomplete entries) |
description | Song description / context text |
recordingLocation | Recording studio or location, when listed |
pageviews | Total Genius page views for the song |
annotationCount | Number of community annotations on the lyrics |
thumbnailUrl / imageUrl | Small and full-size song-art image URLs |
artistName / artistId / artistUrl / artistImageUrl | Primary artist |
albumName / albumUrl / albumCoverUrl | Album, when the song belongs to one |
writerNames | Songwriter credits (array) |
producerNames | Producer credits (array) |
featuredArtistNames | Featured-artist credits (array) |
spotifyUrl / youtubeUrl / soundcloudUrl / appleMusicUrl | Streaming links, when available |
Artist row (recordType: "artist") — emitted only with includeArtistProfile: true
| Field | Description |
|---|---|
artistId / name / url / imageUrl | Artist identity |
alternateNames | Known aliases and alternate spellings |
followerCount | Genius follower count |
isVerified | Whether the artist account is verified on Genius |
iq | Genius IQ score (community contribution metric) |
description | Artist biography text |
instagramName / twitterName / facebookName | Social handles |
How to scrape Genius.com
- Open Genius.com Scraper on Apify Store and click Try for free.
- Add one or more Search queries — song titles, artist names, or lyric fragments.
- (Optional) Paste Artist page URLs (
https://genius.com/artists/<name>) to pull full discographies, and Song page URLs for exact songs. - Set Max results — the cap per search query or per artist. Use
0for everything, up to 1,000 per source. - (Optional) Turn off Include lyrics for a faster metadata-only run, turn on Include artist profile, or pick a Language.
- Click Start, then open the Dataset tab. Export as JSON, CSV, Excel, HTML, or XML.
Input example — single search
{"searchQueries": ["HUMBLE Kendrick Lamar"],"maxResults": 50}
Input example — full artist discography
{"artistUrls": ["https://genius.com/artists/Drake"],"maxResults": 200,"includeArtistProfile": true}
Input example — multi-source with language filter
{"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}
Output example
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": 12337222,"annotationCount": 21,"thumbnailUrl": "https://images.genius.com/483306c535608c27f9e3781b854dc91d.300x300x1.png","imageUrl": "https://images.genius.com/483306c535608c27f9e3781b854dc91d.1000x1000x1.png","lyrics": "[Intro]\nNobody pray for me\nIt been that day for me\n...","description": "On the ironically braggadocious track \"HUMBLE.\" Kendrick Lamar challenges his competition...","artistName": "Kendrick Lamar","artistId": 1421,"artistUrl": "https://genius.com/artists/Kendrick-lamar","albumName": "DAMN.","albumUrl": "https://genius.com/albums/Kendrick-lamar/Damn","writerNames": ["Kendrick Lamar", "Mike WiLL Made-It"],"producerNames": ["Mike WiLL Made-It"],"featuredArtistNames": [],"spotifyUrl": "https://open.spotify.com/track/3GnLo84IkdSWCPYt6tnLll","youtubeUrl": "https://www.youtube.com/watch?v=tvTRZJ-4EyI","soundcloudUrl": "https://soundcloud.com/kendrick-lamar-music/humble","appleMusicUrl": "https://music.apple.com/us/song/1223592498"}
Artist (recordType: "artist")
{"recordType": "artist","artistId": 1421,"name": "Kendrick Lamar","url": "https://genius.com/artists/Kendrick-lamar","alternateNames": ["K-Dot", "OKLAMA", "Kendrick Lamar Duckworth"],"followerCount": 31973,"isVerified": true,"iq": 70375,"description": "Kendrick Lamar Duckworth (born June 17, 1987) is an American rapper and songwriter from Compton, California...","instagramName": "kendricklamar","twitterName": "kendricklamar","facebookName": "kendricklamar"}
Download the dataset in JSON, CSV, Excel, HTML, or XML from the Dataset tab.
Use cases
- 📚 Lyrics datasets & NLP — Build training or analysis corpora of song lyrics with structured metadata and language labels.
- 🎯 Music research & journalism — Cite pageviews, release dates, credits, and annotation counts in articles and academic work.
- ✍️ Credits & rights research — Pull songwriter and producer credits across an artist's catalog in one run.
- 📈 Catalog monitoring — Schedule recurring runs to track a discography, new releases, or pageview growth over time.
- 🤝 A&R & scouting — Rank an artist's songs by Genius popularity to spot momentum.
- 🤖 AI & data pipelines — Feed lyrics and metadata into LLM agents through the Apify MCP server or your own database.
How it works
- The Actor reads your search queries, artist URLs, and song URLs, and resolves each one to Genius song IDs.
- Search queries are paginated; artist URLs expand into the discography ranked by popularity, up to your
maxResultscap. - For each unique song it fetches the full song record — credits, album, media links, pageviews, and language.
- When Include lyrics is on, it also retrieves the plain-text lyrics from the song page.
- If Include artist profile is on, a standalone artist row is emitted for each artist source.
- Optional language filtering drops songs Genius detected in another language.
- Each song becomes one dataset record and is billed as one pay-per-event result; artist-profile rows are free.
How much does it cost to scrape Genius.com?
Genius.com Scraper uses pay-per-event pricing. You are charged once per song row. Artist-profile rows (includeArtistProfile: true) are not charged.
| Plan | Price per song | Price per 1,000 songs |
|---|---|---|
| Free | $0.00199 | $1.99 |
| Bronze | $0.00179 | $1.79 |
| Silver | $0.00159 | $1.59 |
| Gold | $0.00139 | $1.39 |
Apify platform usage (compute and proxy) is billed separately but is minimal — the Actor uses lightweight API calls plus one page fetch per song for lyrics. A 200-song discography run costs about $0.40 on the Free plan. See the Apify pricing page.
API usage examples
Run Genius.com Scraper with the Apify API.
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run_input = {"searchQueries": ["HUMBLE Kendrick Lamar"],"maxResults": 50,"includeLyrics": True,}run = client.actor("parsebird/genius-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():if item["recordType"] == "song":print(item["artistName"], "-", item["title"], "|", item.get("pageviews"))
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('parsebird/genius-scraper').call({artistUrls: ['https://genius.com/artists/Drake'],maxResults: 100,includeArtistProfile: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.filter((i) => i.recordType === 'song').map((i) => i.title));
Connect finished datasets to Google Sheets, Slack, Zapier, Make, webhooks, or your own pipeline.
Is it legal to scrape Genius.com?
Genius.com Scraper reads only publicly visible data — the same song pages, lyrics, credits, and artist information any visitor sees on genius.com. It does not log in, use personal account cookies, or access private data. Song lyrics are protected by copyright owned by their respective rights holders; you are responsible for ensuring your use of scraped lyrics complies with copyright law and Genius's Terms of Service in your jurisdiction. For background, read Apify's guide: Is web scraping legal?.
Related Actors
- Spotify Play Count Scraper — Exact Spotify stream counts, monthly listeners, and discographies.
- SoundCloud Scraper — Tracks, playlists, and artist profiles from SoundCloud.
- YouTube Transcript Scraper — Full transcripts and captions from YouTube videos.
- Apple Podcasts Scraper — Podcast, episode, and chart data from Apple Podcasts.
FAQ
Do I need a Genius API key or account? No. Genius.com Scraper uses Genius's public website data — no client token, OAuth, or login.
Are the lyrics the full text?
Yes — the complete plain-text lyrics with section labels like [Chorus] preserved. lyrics is null for instrumentals and for songs whose lyrics are not yet transcribed on Genius. Turn off Include lyrics to skip lyric fetching for a faster, roughly 2x lighter run.
How do I get a whole artist's catalog?
Paste the artist-page URL (https://genius.com/artists/<name>) into Artist page URLs and set Max results to the number of songs you want, or 0 for everything up to 1,000. Songs come back ranked by Genius popularity.
What does the language filter do? Picking a language keeps only songs Genius has tagged with that language and drops the rest. Songs with no detected language are kept. Leave it on Any language to keep everything.
Why is a song URL I passed missing from the results? If you set a Language filter, direct song URLs in other languages are dropped too. Clear the filter to keep every song URL.
How current is the data? Every run fetches live data from Genius at scrape time — pageviews, annotation counts, credits, and lyrics reflect the current state of each page.
Can I schedule recurring runs? Yes. Use Apify schedules to run daily or weekly and track a discography, new releases, or pageview growth.
Can I use this as a Genius API? Yes. Call the Actor through the Apify API, use webhooks, or connect it to AI assistants with the Apify MCP server.
Something looks wrong or missing. Report it on the Issues tab and it will be looked at quickly.