Genius Scraper avatar

Genius Scraper

Pricing

Pay per event

Go to Apify Store
Genius Scraper

Genius Scraper

Extract song lyrics, metadata, and artist data from Genius.com. Get titles, full lyrics text, release dates, Spotify/YouTube/Apple Music links, writer and producer credits, and pageview stats. Search songs, scrape artist discographies, or target specific URLs. Export to JSON, CSV, or Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

What does Genius Scraper do?

Genius Scraper extracts song lyrics, metadata, and artist information from Genius.com — the world's largest lyrics and music knowledge platform. Search for songs by keyword, scrape full artist discographies, or extract lyrics and details from specific song URLs. No API key or login required.

The scraper uses Genius's public API to collect rich metadata including release dates, Spotify/YouTube/Apple Music links, writer and producer credits, page view counts, and full lyrics text. It's the easiest way to get structured music data at scale.

Try it by clicking Start with the prefilled input — it searches for "Bohemian Rhapsody" and returns song data with lyrics.

Who is Genius Scraper for?

Music researchers and analysts

  • Build datasets of song metadata across genres, decades, or artists
  • Analyze lyrical themes, language patterns, and songwriting credits
  • Track song popularity via Genius pageview statistics

Content creators and marketers

  • Source accurate lyrics for video subtitles, karaoke apps, or music blogs
  • Find Spotify/YouTube/Apple Music links for playlists and recommendations
  • Research songwriter and producer credits for music journalism

Data scientists and NLP engineers

  • Train language models on song lyrics corpora
  • Perform sentiment analysis on lyrics across genres
  • Build music recommendation systems using metadata features

App developers

  • Power music discovery features with structured song data
  • Integrate lyrics into music players or karaoke applications
  • Build artist databases with discography and credit information

Why use Genius Scraper?

  • No API key needed — works out of the box, no Genius developer account required
  • Rich metadata — not just lyrics: album info, release dates, credits, streaming links, pageviews
  • Three scraping modes — search by keyword, scrape artist discographies, or target specific song URLs
  • Fast HTTP-only extraction — no browser overhead, runs on 256 MB memory
  • Pay-per-result pricing — only pay for songs you actually extract
  • Export anywhere — JSON, CSV, Excel, or connect to 5,000+ apps via API
  • Scheduled runs — monitor new releases or trending songs automatically
  • Proxy rotation — reliable data collection with automatic IP rotation

What data can you extract?

Each song result includes up to 25 data fields:

CategoryFields
🎵 Song infoTitle, Genius ID, URL, language, explicit flag
👤 ArtistName, ID, URL, image
💿 AlbumName, URL, cover art
📅 ReleaseRelease date, recording location
📝 LyricsFull lyrics text (plain text)
📊 StatsPageviews, annotation count
🔗 StreamingSpotify URL, YouTube URL, Apple Music URL
✍️ CreditsWriter names, producer names, featured artists
📖 ContextDescription/annotation preview

How much does it cost to scrape Genius?

This Actor uses pay-per-event pricing — you pay only for what you scrape. No monthly subscription. All platform costs are included.

FreeStarter ($29/mo)Scale ($199/mo)Business ($999/mo)
Per song$0.0069$0.006$0.00468$0.0036
1,000 songs$6.90$6.00$4.68$3.60

Higher-tier plans get additional volume discounts.

Real-world cost examples:

QuerySongsDurationCost (Free tier)
"Bohemian Rhapsody" (search)3~11s~$0.03
Artist: Eminem (top 50 songs)50~78s~$0.35
2 song URLs with lyrics2~15s~$0.02

With Apify's free plan ($5/month credit), you can scrape approximately 700 songs per month at no cost.

How to scrape Genius songs and lyrics

  1. Go to the Genius Scraper page on Apify Store.
  2. Click Try for free to open the actor in Apify Console.
  3. Choose your scraping mode:
    • Search: Enter song titles, artist names, or lyrics in the "Search queries" field
    • Artist: Paste Genius artist URLs (e.g., https://genius.com/artists/Queen)
    • Song URLs: Paste direct song page URLs for specific lyrics extraction
  4. Set Max songs to control how many results to extract (start small!).
  5. Toggle Include lyrics on/off depending on your needs.
  6. Click Start and wait for the run to finish.
  7. Download results in JSON, CSV, or Excel from the Dataset tab.

Example input for search:

{
"searchQueries": ["Kendrick Lamar", "Taylor Swift Midnights"],
"maxSongs": 20,
"includeLyrics": true
}

Example input for artist scraping:

{
"artistUrls": [
"https://genius.com/artists/Drake",
"https://genius.com/artists/Beyonce"
],
"maxSongs": 100,
"includeLyrics": true
}

Input parameters

ParameterTypeDefaultDescription
searchQueriesstring[][]Song titles, artist names, or lyrics to search
artistUrlsstring[][]Genius artist page URLs to scrape discographies
songUrlsstring[][]Direct Genius song page URLs
maxSongsinteger50Max songs per search query or artist
includeLyricsbooleantrueWhether to extract full lyrics text

You must provide at least one of: searchQueries, artistUrls, or songUrls.

Output example

{
"id": 1063,
"title": "Bohemian Rhapsody",
"artistName": "Queen",
"artistId": 563,
"artistUrl": "https://genius.com/artists/Queen",
"artistImageUrl": "https://images.genius.com/3bc047e8b3c654ed28aedc69f93f8663.1000x1000x1.jpg",
"albumName": "Studio Collection",
"albumUrl": "https://genius.com/albums/Queen/Studio-collection",
"albumCoverUrl": "https://images.genius.com/225103ef88cca1bc85c804a1ded937a5.597x597x1.jpg",
"releaseDate": "1975-10-31",
"url": "https://genius.com/Queen-bohemian-rhapsody-lyrics",
"thumbnailUrl": "https://images.genius.com/718de9d1fbcaae9f3c9b1bf483bfa8f1.300x300x1.png",
"imageUrl": "https://images.genius.com/718de9d1fbcaae9f3c9b1bf483bfa8f1.1000x1000x1.png",
"pageviews": 11020679,
"lyrics": "[Intro]\nIs this the real life? Is this just fantasy?\nCaught in a landslide, no escape from reality\n...",
"language": "en",
"description": "Widely considered to be one of the greatest songs of all time...",
"spotifyUrl": "https://open.spotify.com/track/7tFiyTwD0nx5a1eklYtX2J",
"youtubeUrl": "https://www.youtube.com/watch?v=fJ9rUzIMcZQ",
"appleMusicUrl": "https://music.apple.com/song/932648449",
"writerNames": ["Freddie Mercury"],
"producerNames": ["Roy Thomas Baker", "Queen"],
"featuredArtistNames": [],
"annotationCount": 33,
"isExplicit": false,
"recordingLocation": "Rockfield Studios, Wye Valley, Monmouthshire, Wales, United Kingdom"
}

Tips for best results

  • Start small — use maxSongs: 10 for your first run to verify the data matches your needs
  • Search mode is fastest — returns 3-5 top matches per query, great for targeted extraction
  • Artist mode for completeness — scrapes the full discography sorted by popularity
  • Disable lyrics for speed — set includeLyrics: false if you only need metadata (2x faster)
  • Combine modes — use search queries AND artist URLs in the same run
  • Schedule weekly runs — track new releases by scheduling artist scrapes
  • Use song URLs for precision — paste exact Genius URLs when you know which songs you need

Integrations

Connect Genius Scraper to your existing workflows:

  • Genius Scraper → Google Sheets — build a live music database with lyrics and metadata that updates automatically on a schedule
  • Genius Scraper → Slack/Discord — get notified when new songs are added to an artist's discography
  • Genius Scraper → Make/Zapier — trigger NLP analysis or translation workflows when new lyrics are scraped
  • Genius Scraper → PostgreSQL/BigQuery — feed structured music data into your analytics warehouse
  • Scheduled runs — monitor artist discographies weekly for new releases
  • Webhooks — process lyrics in real-time as they're extracted

Using the Apify API

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('automation-lab/genius-scraper').call({
searchQueries: ['Kendrick Lamar'],
maxSongs: 20,
includeLyrics: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('automation-lab/genius-scraper').call(run_input={
'searchQueries': ['Kendrick Lamar'],
'maxSongs': 20,
'includeLyrics': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~genius-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": ["Kendrick Lamar"],
"maxSongs": 20,
"includeLyrics": true
}'

Use with AI agents via MCP

Genius Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).

Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com"

Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com"
}
}
}

Your AI assistant will use OAuth to authenticate with your Apify account on first use.

Example prompts

Once connected, try asking your AI assistant:

  • "Use automation-lab/genius-scraper to get all lyrics by Radiohead and analyze the most common themes"
  • "Search Genius for songs about climate change and export the lyrics to a spreadsheet"
  • "Scrape the top 50 songs by Taylor Swift and list which producers appear most frequently"

Learn more in the Apify MCP documentation.

Genius Scraper accesses only publicly available data on Genius.com — the same information any visitor can see in their browser. The scraper does not bypass any authentication, paywalls, or access restrictions.

Web scraping of public data is generally legal based on the 2022 US appeals court ruling in hiQ Labs v. LinkedIn, which confirmed that scraping publicly accessible data does not violate the Computer Fraud and Abuse Act (CFAA).

However, you should:

  • Review Genius's Terms of Service before scraping
  • Comply with GDPR and local data protection laws when processing personal data
  • Use the data responsibly and respect intellectual property rights for lyrics content
  • Avoid excessive request rates that could impact the website's performance

FAQ

How fast is Genius Scraper? A search query typically returns results in 10-15 seconds. Scraping 50 songs from an artist takes about 60 seconds. With lyrics extraction disabled, runs are roughly 2x faster since it skips fetching individual song pages.

How much does it cost? With pay-per-event pricing, you pay approximately $0.003 per song (Starter plan). The free Apify plan ($5/month credit) gives you about 1,400 songs per month at no cost.

Does it extract full lyrics? Yes, when includeLyrics is enabled, the scraper extracts the complete lyrics text from each song page. Lyrics are returned as plain text with section markers (e.g., [Verse 1], [Chorus]).

Why are some lyrics null? Some songs on Genius are instrumental (no lyrics), unreleased, or have incomplete lyric entries. The lyrics field will be null in these cases. The metadata (title, artist, album, etc.) is still extracted from the API.

Why are search results limited? Genius's search API returns the top matches per query. For comprehensive results, use artist mode with artistUrls to get the full discography, or provide multiple specific search queries.

Can I scrape lyrics in other languages? Yes. Genius hosts lyrics in many languages. The language field in the output indicates the song's language. Search queries work in any language supported by Genius.

Other music and media scrapers