Spotify Scraper
Pricing
Pay per event
Spotify Scraper
Search Spotify or scrape by URL. Get monthly listeners, play counts, followers, world rank, biographies, top tracks, and more. No API key needed.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
1
Bookmarked
37
Total users
17
Monthly active users
a day ago
Last modified
Categories
Share
Search Spotify by keyword or scrape artists, albums, tracks, and playlists by URL. Get monthly listeners, play counts, followers, world rank, biographies, top tracks, and more — no API key needed.
What does Spotify Scraper do?
Spotify Scraper extracts rich metadata from Spotify using its internal GraphQL API and public embed pages. Two modes:
- Search mode — Search by keyword and get tracks, artists, albums, or playlists matching your query
- URL mode — Provide direct Spotify URLs for detailed data extraction
What data you get
- Artists — Monthly listeners, followers, world rank, biography, top tracks with play counts, related artists, external links (Wikipedia, Instagram, etc.)
- Albums — Cover art, track listing with per-track play counts, release date, label
- Tracks — Play count, artists, album name, duration, release date, explicit flag, audio preview URL
- Playlists — Owner, description, track listing with durations, cover image
Why scrape Spotify?
Spotify is the world's largest music streaming platform with 600M+ users and 100M+ tracks. Structured Spotify data is valuable for:
- 🎵 Music analytics — Monthly listeners, play counts, and follower trends
- 📊 Playlist research — Analyze editorial and user playlists for genre trends
- 🎤 Artist monitoring — Track world rank, top songs, new releases, and related artists
- 📰 Content creation — Build data-driven playlists, reviews, and music newsletters
- 🎧 App development — Power music recommendation engines and discovery tools
- 📈 Market research — Study music industry trends and playlist curation patterns
Use cases
- Music journalists tracking new releases and artist popularity changes
- Record labels monitoring artist metrics (monthly listeners, world rank, play counts)
- Data scientists building music recommendation datasets
- Playlist curators researching top-performing tracks and artists
- Developers building music apps that need structured artist/track data
- Marketers analyzing playlist trends for brand partnerships
How to scrape Spotify
- Go to Spotify Scraper on Apify Store
- Choose a mode: Search by keyword or Scrape by URL
- For search: enter keywords and select result type (tracks, artists, albums, or playlists)
- For URLs: paste one or more Spotify URLs (artists, albums, tracks, or playlists)
- Set the max results limit
- Click Start and wait for results
- Download data as JSON, CSV, or Excel
Data you can extract
Artist data
| Field | Type | Description |
|---|---|---|
name | string | Artist name |
monthlyListeners | number | Current monthly listener count |
followers | number | Total follower count |
worldRank | number | Spotify global rank |
biography | string | Artist biography text |
imageUrl | string | Profile image (high-res) |
topTracks | array | Top 10 tracks with play counts and durations |
relatedArtists | array | Related artist names and IDs |
externalLinks | array | Links to Wikipedia, Instagram, Facebook, etc. |
genres | array | Associated music genres |
Album data
| Field | Type | Description |
|---|---|---|
name | string | Album name |
artist | string | Artist name |
imageUrl | string | Album cover art |
releaseDate | string | Release date |
trackCount | number | Number of tracks |
tracks | array | All tracks with play counts and durations |
Track data
| Field | Type | Description |
|---|---|---|
name | string | Track name |
artists | string | Artist name(s) |
playCount | number | Total play count |
albumName | string | Album name |
albumArt | string | Album cover image URL |
releaseDate | string | Release date |
duration | number | Duration in milliseconds |
durationFormatted | string | Duration (e.g., 3:46) |
isExplicit | boolean | Explicit content flag |
audioPreviewUrl | string | 30-second audio preview URL |
Playlist data
| Field | Type | Description |
|---|---|---|
name | string | Playlist name |
owner | string | Playlist owner |
description | string | Playlist description |
imageUrl | string | Playlist cover image |
trackCount | number | Number of tracks |
tracks | array | All tracks with titles, artists, durations |
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | urls | search for keyword search, urls for direct URL scraping |
urls | array | — | Spotify URLs to scrape (URL mode) |
searchTerms | array | — | Keywords to search on Spotify (search mode) |
searchType | string | tracks | Result type for search: tracks, artists, albums, playlists |
maxResults | integer | 50 | Max items to scrape |
Search mode example
{"mode": "search","searchTerms": ["arctic monkeys", "indie rock"],"searchType": "artists","maxResults": 10}
URL mode example
{"mode": "urls","urls": ["https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02","https://open.spotify.com/album/78bpIziExqiI9qztvNFlQu","https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M"],"maxResults": 50}
Output example
Artist (URL mode — full data)
{"type": "artist","id": "06HL4z0CvFAxyc27GXpf02","name": "Taylor Swift","url": "https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02","imageUrl": "https://i.scdn.co/image/ab6761610000e5ebe2e8e7ff002a4afda1c7147e","monthlyListeners": 54700000,"followers": 33600000,"worldRank": 3,"biography": "Taylor Alison Swift is an American singer-songwriter...","topTracks": [{"trackId": "1BxfuPKGuaTgP7aM0Bbdwr","title": "Cruel Summer","artists": "Taylor Swift","duration": 178427,"durationFormatted": "2:58","playCount": 3600000000,"isExplicit": false}],"relatedArtists": [{ "name": "Ed Sheeran", "id": "6eUKZXaKkcviH0Ku9w2n3V", "url": "https://open.spotify.com/artist/6eUKZXaKkcviH0Ku9w2n3V" }],"externalLinks": [{ "name": "Wikipedia", "url": "https://en.wikipedia.org/wiki/Taylor_Swift" }],"scrapedAt": "2026-03-10T17:00:00.000Z"}
Track
{"type": "track","id": "5XeFesFbtLpXzIVDNQP22n","name": "I Wanna Be Yours","artists": "Arctic Monkeys","albumName": "AM","albumArt": "https://i.scdn.co/image/ab67616d0000b2734ae1c4c5c45aabe565499163","releaseDate": "2013-09-09T00:00:00Z","duration": 183066,"durationFormatted": "3:03","playCount": null,"isExplicit": false,"audioPreviewUrl": "https://p.scdn.co/mp3-preview/...","url": "https://open.spotify.com/track/5XeFesFbtLpXzIVDNQP22n","scrapedAt": "2026-03-10T17:00:00.000Z"}
How much does it cost to scrape Spotify?
Spotify Scraper uses pay-per-event pricing:
| Event | Price |
|---|---|
| Run started | $0.005 |
| Item scraped | $0.005 per artist/album/track/playlist |
Cost examples
| Scenario | Items | Cost |
|---|---|---|
| Search 10 artists | 10 | ~$0.055 |
| 1 artist + 1 playlist by URL | 2 | ~$0.015 |
| 5 albums by URL | 5 | ~$0.030 |
| Search 50 tracks | 50 | ~$0.255 |
Apify's free plan includes $5/month — enough for ~330 Spotify items.
Using Spotify Scraper with the Apify API
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });// Search modeconst run = await client.actor('automation-lab/spotify-scraper').call({mode: 'search',searchTerms: ['arctic monkeys'],searchType: 'artists',maxResults: 5,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {console.log(`${item.name} — ${item.monthlyListeners?.toLocaleString() || '?'} monthly listeners`);});
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')# URL moderun = client.actor('automation-lab/spotify-scraper').call(run_input={'mode': 'urls','urls': ['https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02','https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M',],'maxResults': 50,})dataset = client.dataset(run['defaultDatasetId']).list_items().itemsfor item in dataset:print(f"{item['type']}: {item['name']}")
cURL
curl "https://api.apify.com/v2/acts/automation-lab~spotify-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-X POST -H "Content-Type: application/json" \-d '{"mode": "search", "searchTerms": ["taylor swift"], "searchType": "tracks", "maxResults": 10}'
Integrations
- Scheduled runs — Monitor artist metrics or playlist changes daily
- Webhooks — Trigger actions when new data is available
- Google Sheets — Export track listings and play counts to spreadsheets
- Slack — Notify your team about artist ranking changes
- Zapier / Make — Automate music data workflows
Tips
- 🔍 Search first — Use search mode to discover artists/tracks, then scrape specific URLs for full details
- 🎤 Rich artist data — URL mode for artists returns monthly listeners, followers, world rank, biography, and related artists
- 💿 Album play counts — Album tracks include per-track play counts (billions of plays for top songs)
- 🔗 Copy URLs from Spotify — Use "Share > Copy link" in the Spotify app or web player
- 📋 Playlist monitoring — Schedule daily runs on editorial playlists to track additions/removals
- 🎵 Mix URL types — Scrape artists, albums, tracks, and playlists in a single run
Limitations
- Search results have limited data — Search mode returns basic fields. For full data (monthly listeners, play counts, biography), use URL mode with artist/album URLs
- Top tracks only — Artist pages show top ~10 tracks, not the full discography
- Playlist limit — Embed pages show up to 100 tracks per playlist
- Residential proxy required — Spotify blocks datacenter IPs; this actor uses residential proxies
Is it legal to scrape Spotify?
This scraper accesses Spotify's publicly available pages and internal APIs — the same data shown to any Spotify visitor. It does not bypass authentication, use private API keys, or download copyrighted audio content. Always review Spotify's Terms of Service before use.
Use with AI agents via MCP
Spotify Scraper is available as a tool for AI assistants via the Model Context Protocol (MCP).
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/spotify-scraper"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/spotify-scraper"}}}
Example prompts
- "Search Spotify for top podcasts about technology"
- "Get playlist details for this Spotify URL"
- "Find the monthly listeners and top tracks for Arctic Monkeys on Spotify"
FAQ
Do I need a Spotify account? No. The scraper uses Spotify's anonymous access tokens — no account required.
Can I get monthly listeners and play counts? Yes! Artist pages include monthly listeners, followers, world rank, and top track play counts. Album tracks also include per-track play counts.
What's the difference between search and URL mode? Search mode finds content by keyword with basic metadata. URL mode extracts full details including monthly listeners, play counts, biography, and related artists.
What URL formats are supported?
Standard Spotify URLs (open.spotify.com/...), short URLs, and Spotify URIs (spotify:track:...).
Can I scrape podcast episodes? Podcast/show support may be added in a future version.
How often does the data update? Spotify updates metrics like monthly listeners and play counts in near-real-time. Each scrape returns the latest available data.
The scraper is failing with proxy errors or timeouts. Spotify blocks datacenter IP addresses, so residential proxies are required. The actor uses Apify's residential proxy pool automatically. If you are on a plan without residential proxy access, you may see failures. Upgrade your Apify plan or ensure residential proxy is enabled.
Why is playCount null for some tracks in search mode? Search mode uses Spotify's search API which returns limited metadata. Play counts are only available in URL mode when scraping a specific artist or album page. Use URL mode with the artist/album URL for full play count data.
How do I track Spotify artist growth over time?
To monitor an artist's monthly listeners, follower count, or world rank over time, use Apify's built-in scheduling to run the scraper automatically on a recurring basis:
- Set up a run with the artist's Spotify URL in URL mode
- Go to Schedules in Apify Console and create a daily or weekly trigger
- Export each run's results to Google Sheets or a database to build a historical dataset
This is particularly useful for record labels, artist managers, and music journalists tracking emerging artists or charting campaigns.
What is the difference between the Spotify Web API and scraping?
The official Spotify Web API requires developer credentials, OAuth authentication, and has strict rate limits. It also does not expose all the same data — for example, monthly listeners, world rank, and play counts are not available through the official API, only on the public Spotify web pages.
This scraper accesses Spotify's internal GraphQL API and public embed pages — the same data any browser sees — without requiring a Spotify account or developer credentials. It's the only way to programmatically access monthly listener counts and global rank data.
How do I get monthly listener data for multiple artists at once?
Provide multiple artist URLs in the urls field in a single run:
{"mode": "urls","urls": ["https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02","https://open.spotify.com/artist/3TVXtAsR1Inumwj472S9r4","https://open.spotify.com/artist/1Xyo4u8uXC1ZmMpatF05PJ"],"maxResults": 50}
Each artist result includes monthlyListeners, followers, worldRank, biography, topTracks, and relatedArtists. You can scrape dozens of artists in a single run.
Can I scrape Spotify playlist data for research?
Yes. Provide a playlist URL in URL mode to extract the full track listing with titles, artists, durations, and cover art. This is useful for:
- Analyzing what tracks appear on editorial playlists (e.g., "Today's Top Hits")
- Monitoring playlist additions and removals over time with scheduled runs
- Building datasets of genre-specific playlists for music recommendation research
- Tracking user-curated playlists for content strategy
Playlists return up to 100 tracks per playlist via the embed API.
Other social media and music scrapers
- YouTube Scraper — Scrape YouTube videos, channels, and playlists
- Podcast Scraper — Extract podcast episodes and metadata
- iTunes Scraper — Scrape iTunes app and media data