Genius Scraper
Pricing
from $3.00 / 1,000 results
Genius Scraper
Scrape Genius song and artist metadata without a login. Search songs, artists, and albums by keyword, fetch full metadata for a song, or pull an artist profile plus their song catalog with pageviews and release dates. Metadata only.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Goutam Soni
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract public song and artist metadata from Genius with no login and no API key. Search by keyword, pull a single song's full metadata, or scrape an artist profile plus their entire song catalog (titles, primary and featured artists, release dates, pageviews, annotation counts, artwork, and more). This Genius scraper returns metadata only and never reads or stores song lyrics.
What it does
- Keyword search across Genius. One query returns matching songs, artists, and albums together with titles, primary artist, release dates, public pageviews, and artwork.
- Song metadata from a Genius song link or numeric id. Returns title, primary artist, featured artists, release date, pageviews, annotation count, pyongs, hot flag, instrumental flag, and artwork.
- Artist catalog by artist name, link, or id. Returns an artist profile (follower count, bio, verification, social handles, artwork) plus that artist's songs, paginated all the way to your limit.
- Automatic pagination. The artist catalog walks page after page until it reaches the number of songs you asked for or the catalog runs out. No manual cursor handling.
- Clean, normalized output. Every row is a flat object with stable, importance-ordered columns. Missing values are explicit nulls, so your downstream code never breaks on a shape change.
- Concurrent processing. Multiple search terms, songs, and artists are processed in parallel for fast bulk runs.
Use cases
- Music market research. Pull an artist's full catalog with pageviews and release dates to spot which tracks drive the most attention over time.
- Catalog and metadata enrichment. Match your own track list against Genius to fill in release dates, featured artists, primary artist ids, and canonical titles.
- Trend and popularity monitoring. Re-run on a schedule and track how pageviews and annotation counts move for songs or artists you follow.
- Playlist and recommendation datasets. Build a structured songs-and-artists dataset for a music app, newsletter, or recommendation model.
- Artist discovery. Search a genre keyword and collect the songs, artists, and albums that surface, with their public stats.
Input
| Field | Type | Description |
|---|---|---|
searchQueries | array of strings | Keywords to search. Each returns matching songs, artists, and albums with metadata. |
songUrls | array of strings | Genius song links or numeric song ids to fetch full metadata for. |
artists | array of strings | Artist names, Genius artist links, or numeric artist ids to pull a profile and catalog for. |
maxSongsPerArtist | integer | Maximum songs returned per artist. Pagination is walked until this is reached or the catalog is exhausted. Default 100. |
includeArtistProfile | boolean | When on, each artist also emits one profile row (name, follower count, bio, social handles) before its songs. Default true. |
artistSongsSort | string | Sort order for an artist's songs: popularity, release_date, or title. Default popularity. |
concurrency | integer | How many sources (queries, songs, artists) to process in parallel. Default 5. |
proxyConfig | object | Optional proxy configuration. Residential proxy is used by default. |
Example input
{"searchQueries": ["bohemian rhapsody"],"artists": ["Acme Band", "https://genius.com/artists/Acme-band"],"maxSongsPerArtist": 200,"includeArtistProfile": true,"artistSongsSort": "popularity"}
Output
Each result is pushed as one row to the dataset. A song row looks like this:
{"type": "song","id": 123456,"url": "https://example.com/example-song","primaryArtist": "Acme Band","primaryArtistId": 130,"pageviews": 10241931,"annotationCount": 49,"pyongsCount": 759,"hot": false,"instrumental": false,"title": "Example Song","fullTitle": "Example Song by Acme Band (Ft. Example Guest)","featuredArtists": ["Example Guest"],"thumbnail": "https://example.com/art-thumb.jpg","songArtImageUrl": "https://example.com/art.jpg","headerImageUrl": "https://example.com/header.jpg","releaseDate": "2018-08-03","releaseDateDisplay": "August 3, 2018"}
Key fields:
typedistinguishes each row:song,artist, oralbum.pageviewsis the public view count at scrape time, the best popularity signal.primaryArtist/primaryArtistIdidentify the main artist for joining across rows.releaseDateis normalized toYYYY-MM-DD;releaseDateDisplaykeeps the human-readable form.featuredArtistsis an array of names (empty when a track has no guests).
An artist row (emitted when includeArtistProfile is on) carries name, followersCount, iq, isVerified, isMemeVerified, description (bio text), alternateNames, instagramName, twitterName, facebookName, imageUrl, and headerImageUrl.
An album row carries name, fullTitle, primaryArtist, coverArtUrl, and releaseDateDisplay.
FAQ
Is it free? How is it priced? You pay per result. There is no per-run start fee. Each row pushed to the dataset is billed at a flat rate, so a search that returns 30 results costs the same whether it runs fast or slow.
Do I need a Genius login, account, or API key? No. The actor reads only public metadata. You do not provide any credentials.
Does it return song lyrics? No. This actor returns metadata only (titles, artists, dates, public stats, artwork). It never reads or stores lyrics.
How many songs can I get per artist?
As many as the artist has. Set maxSongsPerArtist to your target (for example 500) and pagination is walked across as many pages as needed until that number is reached or the catalog is exhausted.
How fast is it?
Multiple sources run in parallel. A typical artist catalog of a few hundred songs completes in well under a minute. Raise concurrency to process more queries, songs, and artists at once.
What input formats are accepted for songs and artists? Songs accept a Genius song link or a numeric song id. Artists accept an artist name, a Genius artist link, or a numeric artist id. The actor resolves each to the right record automatically.
Why is a field null for some rows?
Each row is a stable shape. When Genius does not publish a value for a given item (for example a missing release date or a track with no featured artists), that field is returned as null or an empty array rather than omitted, so your downstream parsing stays consistent.