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
0
Bookmarked
4
Total users
1
Monthly active users
12 hours 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-spotify-scraper": {"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.
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