
Congress Stock Trades Scraper
scrape.ly/store/querystone/congress-trades-scraperNewsBusiness
3 monthly users

Scrape Genius song lyrics and metadata by keyword or from song, artist, album, tag and search URLs. Get full lyrics, artists, album, release date, producers, writers, pageviews, annotation counts, tags and media links. No login needed.
Get full song lyrics and rich metadata from Genius.com: search by keyword or paste song, artist, album and tag URLs. Each song comes with plain-text lyrics, artists, album, release date, producers, writers, pageviews, annotation counts, genre tags and YouTube/Spotify/SoundCloud links. No login, no API token, fast and cheap.
[Chorus] kept, plus a simple HTML version.bohemian rhapsody) and/or Genius URLs (songs, artists, albums, tags, search pages).| Field | What it does |
|---|---|
searchTerms | Keywords to search on Genius. |
startUrls | Song, artist, album, tag or search URLs from genius.com. |
searchType | song (default), lyric, artist or album. |
maxItems | Maximum results per search term or URL (default 10, 0 = all). |
maxTotalItems | Optional cap for the whole run. |
scrapeSongDetails | Full details and lyrics for each song (default on). Off = fast song lists without lyrics. |
artistSongsSort | Artist songs order: popularity, title or release_date. |
includeComments / maxCommentsPerSong | Add song comments. |
includeContributors | Add transcribers and top contributors. |
proxyConfiguration | US residential proxy by default. |
{
"searchTerms": ["bohemian rhapsody"],
"startUrls": [
"https://genius.com/Sia-chandelier-lyrics",
"https://genius.com/artists/Drake",
"https://genius.com/albums/Sia/1000-forms-of-fear"
],
"searchType": "song",
"maxItems": 10
}
One row per song (artist and album searches return one row per artist or album instead).
| Field | Description |
|---|---|
title, artistNames, primaryArtist | Song title and credited artists |
lyrics, lyricsHtml | Lyrics as plain text and as simple HTML |
album, albums, trackNumber | Album info (track number for album URLs) |
releaseDate, language | Release date and lyrics language |
producers, writers, customPerformances | Credits |
pageviews, annotationCount, commentCount, pyongsCount | Genius stats |
tags, primaryTag | Genre tags |
media, youtubeUrl, spotifyUrl, spotifyId, appleMusicId, soundcloudUrl | Media links |
songRelationships, translations | Samples, interpolations, remixes and translations |
isHot, isInTop10*, songTier | Chart flags |
matchedLyrics | Matching lyric snippet (lyric search) |
comments, contributors | When enabled |
Example (trimmed):
{
"type": "song",
"id": 378195,
"url": "https://genius.com/Sia-chandelier-lyrics",
"title": "Chandelier",
"titleWithFeatured": "Chandelier",
"fullTitle": "Chandelier by Sia",
"artistNames": "Sia",
"primaryArtist": "Sia",
"primaryArtistId": 16775,
"primaryArtistUrl": "https://genius.com/artists/Sia",
"artists": [
{
"id": 16775,
"name": "Sia",
"url": "https://genius.com/artists/Sia",
"imageUrl": "https://images.genius.com/00bbce98e16a5740dc234ef6e3e9bf9e.556x556x1.jpg",
"isVerified": true
}
],
"featuredArtists": [],
"producers": [
{
"id": 55444,
"name": "Greg Kurstin",
"url": "https://genius.com/artists/Greg-kurstin",
"imageUrl": "https://images.genius.com/1e4b1db8fef9629acc9f622e3f4ecbf9.440x440x1.jpg",
"isVerified": false
}
],
"producerNames": [
"Greg Kurstin",
"Jesse Shatkin"
],
"writers": [
{
"id": 16775,
"name": "Sia",
"url": "https://genius.com/artists/Sia",
"imageUrl": "https://images.genius.com/00bbce98e16a5740dc234ef6e3e9bf9e.556x556x1.jpg",
"isVerified": true
}
],
"writerNames": [
"Sia",
"Jesse Shatkin"
],
"customPerformances": [
{
"label": "Guitar",
"artists": [
{
"id": 55444,
"name": "Greg Kurstin",
"url": "https://genius.com/artists/Greg-kurstin",
"imageUrl": "https://images.genius.com/1e4b1db8fef9629acc9f622e3f4ecbf9.440x440x1.jpg",
"isVerified": false
}
]
}
],
"album": {
"id": 104614,
"name": "1000 Forms of Fear",
"fullTitle": "1000 Forms of Fear by Sia",
"url": "https://genius.com/albums/Sia/1000-forms-of-fear",
"artist": "Sia",
"coverArtUrl": "https://images.genius.com/2248a5d9a3f54a412553c58f38985256.1000x1000x1.png",
"releaseDate": "2014-07-04"
},
"albums": [
{
"id": 104614,
"name": "1000 Forms of Fear",
"fullTitle": "1000 Forms of Fear by Sia",
"url": "https://genius.com/albums/Sia/1000-forms-of-fear",
"artist": "Sia",
"coverArtUrl": "https://images.genius.com/2248a5d9a3f54a412553c58f38985256.1000x1000x1.png",
"releaseDate": "2014-07-04"
}
],
"releaseDate": "2014-03-17",
"releaseDateForDisplay": "March 17, 2014",
"language": "en",
"lyrics": "[Verse 1]\nParty girls don't get hurt\nCan't feel anythin', when will I learn?\nI push it down, I push it down\nI'm the one for a good time call\nPhone's blowin' up,...",
"lyricsHtml": "<p>[Verse 1]<br>\nParty girls don't get hurt<br>\nCan't feel anythin', when will I...",
"lyricsState": "complete",
"lyricsPlaceholderReason": null,
"lyricsUpdatedAt": "2026-03-06T17:07:14Z",
"instrumental": false,
"explicit": false,
"description": "“Chandelier” was released as the lead single from Sia’s sixth studio album, 1000 Forms Of Fear. Despite its soaring melody, the song has a sad theme describing ...",
"pageviews": 3700287,
"annotationCount": 31,
"verifiedAnnotations": 15,
"unreviewedAnnotations": 0,
"contributorsCount": 197,
"transcribersCount": 8,
"commentCount": 86,
"pyongsCount": 450,
"isHot": false,
"songTier": "C",
"isInTop10": false,
"isInTop10Pop": false,
"isInTop10Rap": false,
"isInTop10Rock": false,
"isInTop10RnB": false,
"isInTop10Country": false,
"isArtistInTop10": false,
"isAlbumInTop10": false,
"isNewRelease": false,
"primaryTag": "Pop",
"tags": [
{
"id": 5103,
"name": "Aussie Pop",
"url": "https://genius.com/tags/aussie-pop",
"primary": false
}
],
"tagNames": [
"Aussie Pop",
"In English",
"Adult Contemporary",
"Synth-Pop",
"Electronic",
"Australia",
"Ballad",
"Electropop",
"Pop"
],
"media": [
{
"provider": "youtube",
"type": "video",
"url": "https://www.youtube.com/watch?v=2vjPBrBU-TM",
"nativeUri": null,
"start": 10
}
],
"youtubeUrl": "https://www.youtube.com/watch?v=2vjPBrBU-TM",
"spotifyUrl": "https://open.spotify.com/track/4VrWlk8IQxevMvERoX08iC",
"spotifyId": "4VrWlk8IQxevMvERoX08iC",
"appleMusicId": "882945383",
"soundcloudUrl": "https://soundcloud.com/siamusic/sia-chandelier",
"songArtImageUrl": "https://images.genius.com/0503a01c6f9a632167d3de01ca687976.1000x1000x1.png",
"headerImageUrl": "https://images.genius.com/0503a01c6f9a632167d3de01ca687976.1000x1000x1.png",
"recordingLocation": "2013",
"songRelationships": [
{
"type": "sampled_in",
"songs": [
{
"id": 6764960,
"title": "Die In a Fire Mega Mashup",
"artistNames": "SloofVif",
"url": "https://genius.com/Sloofvif-die-in-a-fire-mega-mashup-lyrics"
}
]
}
],
"translations": [
{
"id": 5215687,
"language": "es",
"title": "Sia - Chandelier (Traducción al Español)",
"url": "https://genius.com/Genius-traducciones-al-espanol-sia-chandelier-traduccion-al-espanol-lyrics"
}
],
"createdAt": "2014-03-10T19:23:47Z",
"source": "https://genius.com/Sia-chandelier-lyrics",
"scrapedAt": "2026-10-16T01:53:46Z"
}
You pay $2.50 per 1,000 results (one result = one song, artist or album row), plus a small amount of platform usage (compute and residential proxy traffic, about 35 KB per song). Example: 1,000 songs with lyrics cost about $2.50 in results plus roughly $0.10 of usage. Comments and contributors are included in the song price.
Is it legal to scrape Genius? The actor reads publicly visible pages only. Lyrics are usually copyrighted by their rights holders, so check how you may use them (research and analysis are common uses) and respect Genius' terms.
Do I need a Genius account or API token? No. No login and no token are needed.
Why a residential proxy? Genius blocks most datacenter IPs. US residential exits work reliably and the traffic per song is small.
How many songs can I get from an artist? All of them: set maxItems to 0. Artists with thousands of songs are paginated automatically.
What if a field is empty? Genius doesn't have every field for every song (for example no producers or no album). Unreleased or instrumental songs have no lyrics; lyricsPlaceholderReason says why.
Can I schedule runs or use the API? Yes. Schedule the actor in the console or start it through the API and fetch the dataset in JSON, CSV or Excel.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchTermsarrayOptionalSearch terms
Keywords to search on Genius (song titles, artists, album names or a line of lyrics). Each term is searched separately. Pick what to search for in 'Search type'.
startUrlsarrayOptionalGenius URLs
Genius song URLs (genius.com/Artist-song-lyrics), artist URLs (genius.com/artists/Name: all the artist's songs), album URLs (genius.com/albums/Artist/Album: the tracklist), tag URLs (genius.com/tags/pop) and search URLs (genius.com/search?q=...).
searchTypeenumOptionaldefault "song"Search type
What search terms look for. Songs and lyric matches return songs; artists and albums return one row per artist or album.
maxItemsintegerOptionaldefault 10Maximum results per input
Maximum number of results for each search term or URL (for an artist URL: how many of the artist's songs). Use 0 for all results.
Total limit, song details and artist song order.
maxTotalItemsintegerOptionalMaximum results in total
Optional cap for the whole run across all inputs. 0 means no total cap.
scrapeSongDetailsbooleanOptionaldefault trueFull song details and lyrics
Open every song for lyrics, credits (producers, writers), album, tags, media links and stats. Turn off for a fast song list from searches, artists and albums (title, artists, release date, pageviews) without lyrics.
artistSongsSortenumOptionaldefault "popularity"Artist songs order
Order of an artist's songs for artist URLs.
includeCommentsbooleanOptionaldefault falseInclude comments
Add the song's comments (text, votes, author, date) to each song.
maxCommentsPerSongintegerOptionaldefault 20Maximum comments per song
How many comments to add per song, in Genius' own order (top comments first). 0 means all (up to 2,000).
includeContributorsbooleanOptionaldefault falseInclude contributors
Add the song's contributors (transcribers and top IQ earners, with IQ and share of contribution).
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["RESIDENTIA…Proxy configuration
US residential proxies are used by default (Genius blocks datacenter IPs).
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| type | string | null | song, artist or album |
| id | number | null | Genius ID |
| url | string | null | Genius page URL |
| title | string | null | Song title |
| artistNames | string | null | All credited artists |
| primaryArtist | string | null | Primary artist |
| album | object | null | Primary album |
| releaseDate | string | null | Release date (YYYY-MM-DD) |
| lyrics | string | null | Lyrics as plain text |
| lyricsHtml | string | null | Lyrics as simple HTML |
| pageviews | number | null | Genius pageviews |
| annotationCount | number | null | Number of annotations |
| producers | array | null | Producers |
| writers | array | null | Writers |
| tags | array | null | Genre tags |
| media | array | null | YouTube, Spotify, SoundCloud links |
| name | string | null | Artist or album name |
| comments | array | null | Comments (when enabled) |
| contributors | array | null | Contributors (when enabled) |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Result | One Genius song (with lyrics and credits), artist or album saved to the dataset. | $0.0025 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('echofield/genius-scraper').call({
"searchTerms": [
"bohemian rhapsody"
],
"startUrls": [
"https://genius.com/Sia-chandelier-lyrics",
"https://genius.com/artists/Drake"
],
"maxItems": 10,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"RESIDENTIAL"
],
"scrapelyProxyCountry": "US"
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run echofield/genius-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=echofield/genius-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Find artists by name and get artist pages.
An artist's most popular songs with full lyrics.
Songs with lyrics, comments and contributors.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.