Spotify Scraper — Artists, Tracks, Playlists & Play Counts
Pricing
from $5.00 / 1,000 results
Spotify Scraper — Artists, Tracks, Playlists & Play Counts
Scrape Spotify without login: artists, tracks, albums, playlists, podcasts & episodes — with real play counts, monthly listeners, followers and world rank that the official API hides. Bonus: playlist placement + growth monitoring. Fast, request-only, no API key. Export to JSON, CSV, Excel.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
DataForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
🚀 What this Actor gives you
The official Spotify Web API returns metadata — but not play counts or monthly listeners. This Actor reads the same internal data the Spotify web player uses, so you get the numbers that actually matter.
| Capability | What you get |
|---|---|
| 🎤 Artists | Monthly listeners, followers, world rank, top tracks (with play counts), top cities, "fans also like", biography, verified status |
| 🎵 Tracks | Exact play count, artists, album, release date, duration |
| 💿 Albums | Track list with per-track play counts, total play count, label, release date |
| 📃 Playlists | Followers, owner, full track list (paginated) with play counts |
| 🎙️ Podcasts & episodes | Show + episode metadata, episode counts, durations, release dates |
| 🔎 Search | Turn any keyword into fully-scraped entities |
Great for
- 📈 Artist & label analytics, A&R and momentum tracking
- 🎯 Playlist-pitching and placement research
- 🥊 Competitor and catalog benchmarking
- 🤖 Music datasets for dashboards, ML and RAG
- 📁 JSON, CSV, Excel, API, webhook, Make & Zapier workflows
✨ Our extras (beyond the usual scrapers)
- 🎯 Playlist Placement — for any artist, list the playlists that feature them, with reach (followers). The intel labels pay for when pitching.
- 📈 Growth Monitor — compare monthly listeners / followers / play counts against your previous run and get the deltas attached automatically. Schedule it to track momentum over time.
⚡ Quick start
Scrape an artist (with play counts + monthly listeners)
{"spotifyUrls": ["https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02"]}
Mix any entity types — auto-detected
{"spotifyUrls": ["https://open.spotify.com/track/0V3wPSX9ygBnCm8psDIegu","https://open.spotify.com/album/151w1FgRZfnKZA9FEcg9Z3","https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M"]}
Search, then fully scrape the matches
{ "searchQueries": ["taylor swift", "the weeknd"], "searchType": "artist", "maxSearchResults": 5 }
Track an artist's growth + playlist placement
{"spotifyUrls": ["https://open.spotify.com/artist/1Xyo4u8uXC1ZmMpatF05PJ"],"growthMonitor": true,"monitorKey": "my-roster","playlistPlacement": true}
🎛️ Input reference
| Field | Type | Default | Description |
|---|---|---|---|
spotifyUrls | url list | — | Any Spotify URLs/URIs (artist/track/album/playlist/show/episode) |
searchQueries | string list | — | Keywords; matched entities are fully scraped |
searchType | select | all | Keep artist, track, album, playlist, podcast, or all |
maxSearchResults | integer | 10 | Entities scraped per query |
artistIds … episodeIds | string list | — | Bare IDs per type |
includePlaylistTracks | boolean | true | Fetch full playlist track lists |
maxPlaylistTracks | integer | 1000 | Cap on tracks per playlist |
playlistPlacement | boolean | false | Add playlists featuring each artist |
growthMonitor | boolean | false | Attach deltas vs the previous run |
monitorKey | string | default | Groups Growth Monitor snapshots |
maxItems | integer | 0 | Global cap (0 = unlimited) |
proxyConfiguration | object | Residential US | The default is recommended |
📦 Example — artist
{"type": "artist","name": "Taylor Swift","monthlyListeners": 100769724,"followers": 161769264,"worldRank": 6,"verified": true,"topTracks": [{ "name": "Anti-Hero", "playcount": 2036599665 }],"relatedArtists": [{ "name": "Olivia Rodrigo" }],"topCities": [{ "city": "London", "country": "GB", "listeners": 1635219 }],"url": "https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02"}
🧾 Output fields
Every record is flat and clean, with a type field so you can tell them apart. Empty optional fields are dropped.
| Type | Fields you get |
|---|---|
| 🎤 artist | name, monthlyListeners, followers, worldRank, verified, topTracks (name + play count), relatedArtists, topCities, biography, avatarImage, externalLinks, url |
| 🎵 track | name, playcount, artists, albumName, releaseDate, durationMs, trackNumber, explicit, coverArt, url |
| 💿 album | name, label, releaseDate, trackCount, artists, totalPlaycount, tracks (each with play count), coverArt, url |
| 📃 playlist | name, description, followers, ownerName, trackCount, tracks (each with play count), url |
| 🎙️ podcast | name, episodeCount, episodes (name, date, duration), url |
| 🎧 episode | name, description, durationMs, releaseDate, podcastName, url |
With add-ons: artists gain featuredPlaylists (Playlist Placement) and, in monitored runs, a growth object with monthlyListenersDelta / followersDelta / playcountDelta since the previous run.
🔒 How it works
The Actor talks to Spotify's public web-player data layer over plain HTTP requests — no browser, no account, no API key. Residential proxies (the default) keep access reliable. Rate limits and transient blocks are retried automatically.
❓ FAQ
Do I need a Spotify account or API key? No. It's request-only and anonymous.
Are play counts real? Yes — the same numbers shown on the Spotify web player, which the official API does not expose.
Why did an item come back empty? Some episodes/tracks are geo-restricted; those are reported in the errors dataset, never crashing the run.
Can I schedule growth tracking? Yes — enable growthMonitor with a stable monitorKey and schedule the run; each run attaches deltas since the last.