Spotify Scraper: Artists, Tracks, Playlists, Podcasts
Pricing
from $4.00 / 1,000 results
Spotify Scraper: Artists, Tracks, Playlists, Podcasts
Scrape Spotify artists, tracks, albums, playlists, podcasts and curator profiles by link, search or ISRC. Play counts, monthly listeners, followers, ISRC, UPC, credits, playlist followers, podcast ratings. $4 per 1,000 results.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Epic Scrapers
Maintained by CommunityActor stats
0
Bookmarked
17
Total users
15
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Spotify Scraper: artist stats, playlist analyzer, ISRC finder, podcasts and credits

Spotify Scraper turns any Spotify link, ISRC, UPC or search into clean JSON, CSV or Excel. One actor covers artists, tracks, albums, playlists, podcasts, episodes and user profiles, with the numbers music businesses work with: exact play counts, monthly listeners, world rank, top cities, playlist followers, curator contacts, podcast ratings, ISRCs, UPCs and songwriter credits. Schedule it and every run also gives you the change since the last one. It works as a Spotify API alternative for everything the official Web API leaves out.
- Every track, not just the first 100. Playlists and albums come with their whole track list, each track with its exact play count and the date it was added. A 631-track playlist returns 631 tracks.
- Built for playlist pitching. Search playlists by genre or mood, keep the ones between 1,000 and 100,000 followers that Spotify doesn't own, and get the curator's followers, the date they last added a track, and any email, Instagram or other @handle they list in the description (Spotify has no contact field, so many playlists have none).
- Catalog data without the Web API. Paste ISRCs or UPCs and get the Spotify track or album with play counts, label, popularity and songwriter, producer and engineer credits. No developer app, no OAuth.
- Growth tracking built in. Turn on Compare with previous run and schedule it: every row gets the change in play counts, monthly listeners, followers, world rank, playlist followers or podcast ratings.
- Search everything Spotify searches. Tracks, artists, albums, playlists, podcasts, episodes and user profiles, with more than Spotify's ~200 results per query when you need them.
- $4 per 1,000 results, no start fee. Track lists are included. ISRC/UPC lookups and credits are optional add-ons, so you only pay for them when you need them.
Who uses it, and how
| You are | What you run | What you read |
|---|---|---|
| Playlist pitching agency or indie artist team | Playlist searches for your genres, weekly | Independent playlists in your follower range, with the curator's contacts and how recently they add tracks |
| Music marketer or promoter | The playlists your tracks are on, daily | followersChange and trackCountChange per playlist, and each track's play count and position |
| Label, A&R scout or manager | Hundreds of artist links, daily | monthlyListenersChange, worldRankChange, top cities and the latest release, to spot who is breaking out |
| Catalog, royalty or rights team | Lists of ISRCs and UPCs | The matching Spotify track or album with play count, label, release date and credits |
| Publisher or songwriter rep | Tracks or albums with Track credits on | Who wrote and produced each track, to check registrations and find co-writers |
| Podcast advertiser or agency | Podcast searches by topic | Rating, number of ratings, episode count and the latest episode date, to shortlist shows to sponsor |
| Music data company or developer | Any mix of links and searches through the API | One schema for every Spotify object, ready for a database |
| AI agent builder | The actor as a tool through the Apify MCP server | Structured Spotify data the agent can reason about |
How it compares with the Spotify Web API and other scrapers
| What you need | Spotify Scraper | Most Spotify scrapers on Apify | Spotify Web API (official) |
|---|---|---|---|
| Exact play counts | Every track, also in playlists and albums | Top tracks and albums | No, only a 0–100 popularity |
| Playlist tracks | All, with play count and date added | Often the first 100, without play counts | All, without play counts |
| Playlist followers and owner | Followers, owner's followers and playlist count | Often not included | Followers only |
| Curator contacts | Emails, Instagram, @handles and links from the description | No | No |
| ISRC and UPC lookup | Yes, also per track in playlists and albums | Rarely | Yes, with app registration |
| Songwriter and producer credits | Yes | Rarely | No |
| Podcasts | Search, ratings, topics, episodes | Often links only, without ratings | No ratings |
| Change since the last run | Built in | No, compare exports yourself | No |
| Price | $4 per 1,000 results, no start fee | $1 to $5 per 1,000, some with a start fee | Free, with app registration and rate limits |
Quick start
- Click Try for free and sign in to Apify. The free plan's monthly credit covers more than 1,000 results.
- Paste Spotify links, ISRCs or UPCs into Spotify links, IDs, ISRCs or UPCs, or type keywords into Search terms and pick what to search for. In the Spotify app, use Share → Copy link.
- Turn on the add-ons you need: ISRC, UPC and label and Track credits.
- Click Start. When the run finishes, open the Output tab and export a view (Artists, Tracks, Playlists, Podcasts or Changes since last run) to CSV, Excel or JSON.
{"startUrls": ["https://open.spotify.com/artist/3TVXtAsR1Inumwj472S9r4","https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M","USUG11904206"],"includeIsrc": true,"includeCredits": true}
Ready-to-run workflows
Spotify playlist search: find curators for playlist submission
{"searchTerms": ["lofi study", "chillhop", "jazzhop", "lofi sleep"],"searchType": "playlists","maxResultsPerSearch": 500,"minFollowers": 1000,"maxFollowers": 100000,"excludeSpotifyPlaylists": true,"maxItemsPerResult": 0}
Every playlist that matches, with followers, ownerName, ownerFollowers, ownerPlaylistCount, lastTrackAddedAt and contacts (emails, Instagram, other @handles and links from the description). Sort the Playlists view by lastTrackAddedAt to pitch curators who are still active. Playlists removed by the filters are free.
About contacts: Spotify has no contact field, so contacts only holds what curators write in their playlist description. Search terms decide how many you get. In our tests, terms with "submissions" ("indie submissions", "lofi submissions", "chill submissions") gave 150 playlists, 92 (61%) with a contact and 31 (21%) with an email (November 2026). Plain genres ("indie", "lofi", "chill") gave contacts on 37 of 300 (12%) and emails on 4. Treat contacts as a bonus and use the follower and activity data to choose who to pitch.
To find the curators themselves, search User profiles (curators) with the same keywords: each profile comes with its followers, public playlist count and its playlists with their followers.
Spotify playlist analyzer: followers, curator and your placements
{"startUrls": ["https://open.spotify.com/playlist/6zCID88oNjNv9zx6puDHKj","https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M"],"compareWithPreviousRun": true}
Each playlist row shows followers, the curator and their followers, isSpotifyOwned, totalPlayCount and when the last track was added: enough to tell an active, real playlist from a dead or botted one before you pitch it. Schedule it daily and each row also has followersChange and trackCountChange, and its tracks list shows every track's position, play count and addedAt, so you can see when your track was added, moved or removed.
Spotify artist stats and A&R watchlist
{"startUrls": ["https://open.spotify.com/artist/3TVXtAsR1Inumwj472S9r4","https://open.spotify.com/artist/1Xyo4u8uXC1ZmMpatF05PJ"],"compareWithPreviousRun": true}
Add hundreds of artists and schedule it daily. Sort the Changes since last run view by monthlyListenersChange, check topCities for where the growth comes from and latestRelease for what drives it. relatedArtists (20 per artist) is a ready list of artists to add next.
ISRC finder and UPC finder, in both directions
{"startUrls": ["USUG11904206", "GBKQU2184377", "00602508924224"],"includeCredits": true}
Each ISRC returns the most-played Spotify release of that recording, with isrc, playCount, label, releaseDate, songwriters, producers and the full credits list. Each UPC returns the album; turn on ISRC, UPC and label to also get every track's ISRC. Codes Spotify doesn't have are listed in the run's OUTPUT record and are free. It works the other way too: paste Spotify track or album links with ISRC, UPC and label on to get their ISRC or UPC. Ready-made pages: Spotify ISRC finder and Spotify UPC finder.
Spotify popularity score and song credits
{"startUrls": ["https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b","https://open.spotify.com/track/2qSkIjg1o9h3YT9RAgYN75"],"includeIsrc": true,"includeCredits": true}
Each track row gets popularity (Spotify's 0–100 score, weighted to recent plays) next to the all-time playCount, plus songwriters, producers and the full credits list. Compare scores across your releases and competitors, or check publishing registrations against the credits.
Spotify podcast rankings: shortlist shows to sponsor
{"searchTerms": ["personal finance", "investing"],"searchType": "podcasts","maxResultsPerSearch": 200,"maxItemsPerResult": 5}
Sort the Podcasts view by ratingCount (a good proxy for audience size) and check latestEpisodeDate to skip shows that stopped publishing. Each row has the publisher, topics, episode count and the latest episodes; contacts collects emails and links from the show description.
Full artist catalogs
{"startUrls": ["https://open.spotify.com/artist/1Xyo4u8uXC1ZmMpatF05PJ"],"includeDiscography": true}
The artist row gets releases: every album, single and compilation with its date, label and link. Feed the album links back in to get every track with its play count.
Schedule it and track changes
- Save your input as a task. Open the actor, set your input, turn on Compare with previous run and click Save as a new task. Make one task per purpose, for example one for your placements and one for your A&R watchlist.
- Schedule the task. In Apify Console, go to Schedules, click Create new, pick a time (for example daily at 07:00 in your time zone) and add your task. See Schedules.
- Send the results somewhere. The task's Integrations tab connects Google Sheets, Slack, email, Make, Zapier, n8n and webhooks. With Google Sheets, each run's rows land below the previous ones and build a history you can chart.
What each row type compares with the previous run:
| Row | Fields with previous… and …Change |
|---|---|
| Artist | monthlyListeners, followers, worldRank |
| Track | playCount, popularity |
| Album | totalPlayCount |
| Playlist | followers, trackCount |
| Podcast | ratingCount, episodeCount |
| User profile | followers |
Every row also has previousScrapedAt. The first run of an object has empty previous… fields; changes start from the second run. Values are remembered in your Apify account and shared by all your tasks.
What data can you extract?
| Row | Fields |
|---|---|
| Artist | monthlyListeners, followers, worldRank, popularity, topCities (city, country, listeners), verified, biography, externalLinks, albumCount, singleCount, compilationCount, appearsOnCount, latestRelease, topTracks (10, with play counts), relatedArtists (20), artistPlaylists, upcomingConcerts, imageUrl, headerImageUrl; with Artist discography: releases |
| Track | playCount, artistName, artists, albumName, albumType, releaseDate, trackNumber, discNumber, durationMs, explicit, playable; with ISRC, UPC and label: isrc, label, languages, popularity; with Track credits: songwriters, producers, credits (name, role, group) |
| Album | albumType, artistName, releaseDate, label, copyright, phonographicCopyright, trackCount, totalPlayCount, tracks (each with playCount); with ISRC, UPC and label: upc, popularity, and isrc and popularity on every track |
| Playlist | followers, trackCount, description, ownerName, ownerUrl, ownerFollowers, ownerPlaylistCount, isSpotifyOwned, collaborative, lastTrackAddedAt, firstTrackAddedAt, totalPlayCount, contacts, tracks (each with playCount and addedAt; with the add-on also isrc and popularity) |
| Podcast | publisher, description, rating, ratingCount, topics, episodeCount, latestEpisodeDate, mediaType, explicit, contacts, episodes (newest first, with release date, duration, video flag and description) |
| Episode | show, release date, duration, video or audio, description, audio preview |
| User profile | followers, following, publicPlaylistCount, verified, playlists (each with its followers) |
Every row also has type, id, name, url, scrapedAt, and input or searchTerm with searchRank, so you can trace it back to what you asked for.
Output examples
Real rows from October 2026, shortened.
Artist
{"type": "artist","id": "3TVXtAsR1Inumwj472S9r4","name": "Drake","url": "https://open.spotify.com/artist/3TVXtAsR1Inumwj472S9r4","verified": true,"monthlyListeners": 94687381,"followers": 117837479,"worldRank": 8,"popularity": 100,"topCities": [{ "city": "London", "region": "ENG", "country": "GB", "listeners": 2018639 }],"albumCount": 22,"singleCount": 65,"appearsOnCount": 911,"latestRelease": {"name": "HABIBTI (FOMO)","type": "album","releaseDate": "2026-10-02","label": "OVO/Republic","trackCount": 15},"topTracks": [{ "position": 1, "name": "One Dance", "playCount": 4504086419, "artistName": "Drake, Wizkid, Kyla" }],"relatedArtists": [{ "id": "1RyvyyTE3xzB2ZywiAwp0i", "name": "Future" }],"scrapedAt": "2026-10-08T14:12:43.285Z"}
Track from an ISRC, with credits
{"type": "track","name": "Blinding Lights","url": "https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b","playCount": 5623655578,"popularity": 91,"isrc": "USUG11904206","artistName": "The Weeknd","albumName": "After Hours","albumType": "album","releaseDate": "2020-03-20","label": "Republic Records","trackNumber": 9,"discNumber": 1,"languages": ["en"],"songwriters": "Max Martin, Oscar Holter, Abel Tesfaye, Ahmad Balshe, Jason \"DaHeala\" Quenneville","producers": "Max Martin, Oscar Holter, The Weeknd","credits": [{ "name": "Max Martin", "role": "Composer", "group": "Composition & Lyrics" }],"input": "USUG11904206"}
Playlist from a search
{"type": "playlist","name": "Lofi Study 2026","url": "https://open.spotify.com/playlist/6zCID88oNjNv9zx6puDHKj","followers": 624612,"trackCount": 237,"ownerName": "Lofi Girl","ownerUrl": "https://open.spotify.com/user/chilledcow","ownerFollowers": 1871428,"ownerPlaylistCount": 82,"isSpotifyOwned": false,"lastTrackAddedAt": "2026-09-29T11:52:01Z","contacts": { "emails": [], "instagram": [], "handles": [], "links": ["https://bit.ly/lofi-sleep-spotify"] },"tracks": [{"position": 1,"name": "94","artistName": "Mavine","playCount": 3262855,"addedAt": "2026-09-29T11:52:01Z"}],"searchTerm": "lofi study","searchRank": 2}
Podcast
{"type": "show","name": "Lex Fridman Podcast","publisher": "Lex Fridman","rating": 4.75,"ratingCount": 83182,"topics": ["Technology"],"episodeCount": 503,"latestEpisodeDate": "2026-09-17","episodes": [{"position": 1,"name": "#502 – Psychiatry, Insane Asylums, Mental Illness, ECT, Lobotomies, Freud & Jung","releaseDate": "2026-09-17","durationMs": 13409643,"video": true}]}
With Compare with previous run, rows from the second run on also have the previous… and …Change fields listed above. The run's key-value store has an OUTPUT record with the status of every link and search term.
For AI agents
Call epicscrapers/spotify-scraper with links, IDs, ISRCs or UPCs:
{ "startUrls": ["https://open.spotify.com/artist/3TVXtAsR1Inumwj472S9r4", "USUG11904206"], "includeIsrc": true }
or with a search: { "searchTerms": ["lofi"], "searchType": "playlists", "maxResultsPerSearch": 50 } (searchType: tracks, artists, albums, playlists, podcasts, episodes, users).
One row per Spotify object, with type, id, name, url, scrapedAt. Key fields: artist monthlyListeners, followers, worldRank, topCities, topTracks; track playCount, isrc, popularity, songwriters; album upc, tracks; playlist followers, ownerName, lastTrackAddedAt, contacts, tracks; show rating, ratingCount, episodeCount. Inputs that aren't found are skipped, free, and listed in the OUTPUT record.
Spotify API alternative: use it from code or a Spotify MCP server
Through the Apify API or the JavaScript and Python clients:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("epicscrapers/spotify-scraper").call(run_input={"startUrls": ["https://open.spotify.com/artist/3TVXtAsR1Inumwj472S9r4", "USUG11904206"],"includeIsrc": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["type"], item["name"], item.get("playCount") or item.get("monthlyListeners"))
As a Spotify MCP server for Claude, Cursor and other AI agents, through the Apify MCP server limited to this actor:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=epicscrapers/spotify-scraper"
Then ask, for example: "Find 50 independent lofi playlists with 5,000 to 50,000 followers that added a track this month, and list their curators' contacts."
Analyze the results with ChatGPT or Claude
Export a view as CSV and attach it to a chat. Some prompts to start with:
- Pitch list. "These are Spotify playlists from a search. Keep the ones with
lastTrackAddedAtin the last 30 days and at least one email or Instagram incontacts. Rank them byfollowersand write one line per playlist on why it fits a chill lofi single." - Breakouts. "These are artist rows from a daily run. Rank the artists by
monthlyListenersChangerelative tomonthlyListenersand list their top cities. Who grows fastest from a small base?" - Catalog check. "These are tracks matched from our ISRC list. Group them by
labeland list the tracks whosesongwritersdon't include any of our writers: [names]."
Cost
Pay per event, with no subscription and no start fee. Platform usage and proxies are included.
| Event | Price | When |
|---|---|---|
| Result | $4 per 1,000 ($0.004 each) | Each row: an artist, track, album, playlist, podcast, episode or user profile, with its full track or episode list |
| ISRC or UPC lookup | $1 per 1,000 ($0.001 each) | Each track or album that gets its ISRC or UPC, including each track listed in an album or playlist. With ISRC, UPC and label on, and for ISRC and UPC inputs |
| Track credits | $2 per 1,000 ($0.002 each) | With Track credits on: each track row with its credits |
Links that aren't found, and search results removed by the playlist filters, are free.
| Example | Cost |
|---|---|
| 300 curator playlists for one keyword | $1.20 |
| One 631-track playlist with every play count | $0.004 |
| The same playlist with every track's ISRC | $0.635 |
| 50 placement playlists, daily for 30 days | $6 a month |
| A&R watchlist of 200 artists, daily for 30 days | $24 a month |
| 1,000 ISRCs → track with ISRC, label and play count | $5 |
| 1,000 ISRCs → the same with credits | $7 |
| 500 podcasts from a topic search | $2 |
Set Maximum cost per run in the run options to cap a run. The actor checks each result's full price, add-ons included, before saving it, and stops cleanly at the limit.
Tips
- Need a quick list? Turn off Open every search result to get names and links fast, then scrape the ones you need.
- Only need playlist metadata? Set Max tracks or episodes per result to 0.
- Very large playlists? Raise Max tracks or episodes per result above the default 1,000.
- Many links? Put them all in one run; up to 10 are read at once.
- Need one row per track with daily streams for whole discographies? Use Spotify Play Count Scraper, our play count specialist.
Limitations
- Lyrics, audio features (tempo, key, danceability) and genres aren't public without a Spotify login, so they aren't included.
- Spotify returns about 200 results per search query. For more, the actor adds related queries (e.g. "lofi playlist", "best lofi", "lofi 2026"), so later results can drift from the exact keyword.
- An ISRC can belong to several Spotify releases (single and album); the actor returns the most-played one.
lastTrackAddedAtandfirstTrackAddedAtcome from the listed tracks and the playlist's last 100 tracks.- Search results depend on the country of the proxy IP, as on Spotify.
FAQ
Do I need a Spotify account, API key or proxies?
No. The actor uses Spotify's public web player data, doesn't log in and handles connections and retries itself.
Does the official Spotify API give play counts?
No. The Spotify Web API only has a 0–100 popularity score, and no monthly listeners, world rank, top cities, credits or podcast ratings. This actor returns the numbers Spotify shows in its app.
What is the Spotify popularity score?
A 0–100 score Spotify computes for every track and artist, weighted to recent plays. An old hit can have billions of plays and a lower score than a new viral song. Turn on ISRC, UPC and label to get it for tracks; artists always have it.
How do I find the ISRC of a Spotify song?
Paste the song link with ISRC, UPC and label on; the isrc field holds the code. To go the other way, paste the ISRC itself and get the Spotify track. The same works for albums and UPCs.
Can I export a Spotify playlist to CSV or Excel?
Yes. Paste the playlist link, then export the run from the Output tab. Each playlist comes with every track, its play count and the date it was added. For one row per track, use Spotify Play Count Scraper.
How fresh is the data?
Every run reads Spotify live, so you get the numbers Spotify shows at that moment. Every row has a scrapedAt timestamp.
Why is a link missing from the results?
It was deleted, isn't available, or the ID is wrong. The log names it, the OUTPUT record shows its status, and you aren't charged for it.
Why did my run stop early?
The run reached its maximum cost or your account's spending limit. Everything collected before that is saved. Raise the limit in the run options to collect more.
Is it legal to scrape Spotify?
The actor reads only public data that Spotify shows to every visitor. Playlist and podcast descriptions can contain personal data such as emails; use it only with a legitimate reason and in line with GDPR and similar laws. You are responsible for how you use the data, including Spotify's terms.
Support
Report problems or request features in the Issues tab. Include the run ID, the input and what you expected. We read every issue.
This actor is not affiliated with or endorsed by Spotify AB. "Spotify" is a trademark of Spotify AB.