Spotify Playlist
Pricing
$5.20 / 1,000 track scrapeds
Spotify Playlist
Extract track listings, artist info, audio features, and metadata from Spotify playlists, albums, and artist discographies. BPM, key, danceability scores. No Spotify API key required. Uses residential proxy for reliable results on all Apify plans.
Pricing
$5.20 / 1,000 track scrapeds
Rating
0.0
(0)
Developer
junipr
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Spotify Playlist Scraper
Extract complete track listings, artist information, audio features, and metadata from Spotify playlists, albums, and artist discographies. Get BPM, key, danceability, energy scores, ISRC codes, and playlist follower counts — no Spotify developer account required.
Proxy Configuration
The default input runs without proxy for a small public playlist sample. If Spotify blocks your workload from datacenter IPs, enable residential proxy in the Proxy Configuration field.
- Paid Apify plan users: Enable Apify residential proxy when you need higher reliability.
- Free Apify plan users: Provide your own residential proxy URL if direct requests are blocked.
- High-volume runs: Split work into capped runs; this actor allows up to 3 URLs per run and 100 tracks per source.
What Data Can You Extract?
| Field | Description |
|---|---|
title / titleClean | Track name (with and without feat. suffix) |
artists | Artist names, IDs, URLs, genres, follower counts |
album | Album name, type, release date, cover images |
durationMs / durationFormatted | Duration in ms and MM:SS format |
explicit | Explicit content flag |
popularity | Spotify popularity score (0–100) |
isrc | International Standard Recording Code |
previewUrl | 30-second preview URL |
playlistFollowers | Playlist follower count |
addedAt | Date track was added to playlist |
audioFeatures.tempo | BPM |
audioFeatures.key / keyName | Musical key (0–11 and "C", "C#", etc.) |
audioFeatures.danceability | Danceability score (0.0–1.0) |
audioFeatures.energy | Energy score (0.0–1.0) |
audioFeatures.valence | Happiness score (0.0–1.0) |
How to Use
Scrape a playlist:
{"urls": ["https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M"]}
Scrape with audio features:
{"urls": ["https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M"],"includeAudioFeatures": true}
Scrape multiple sources:
{"urls": ["https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M","https://open.spotify.com/album/4aawyAB9vmqN3uQ7FjRGTy","https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02"],"includeAudioFeatures": true,"includeArtistDetails": true}
Input Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
urls | array | Required | Spotify playlist, album, artist, or track URLs |
includeAudioFeatures | boolean | false | Fetch BPM, key, energy, danceability per track |
includeArtistDetails | boolean | false | Fetch artist genres, follower counts |
includeAlbumDetails | boolean | false | Fetch album label, UPC |
maxTracks | integer | 1 | Max tracks per source, capped at 100 |
includeLocalFiles | boolean | false | Include local file entries |
maxConcurrency | integer | 2 | Conservative request concurrency, capped at 3 |
requestDelay | integer | 100 | Delay between API calls (ms) |
Output Example
{"sourceUrl": "https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M","sourceType": "playlist","playlistName": "Today's Top Hits","playlistFollowers": 32000000,"trackPosition": 1,"addedAt": "2026-03-10T00:00:00Z","trackId": "4Dvkj6JhhA12EX05fT7y2e","title": "Blinding Lights","titleClean": "Blinding Lights","durationMs": 200040,"durationFormatted": "3:20","explicit": false,"popularity": 93,"isrc": "USUG11904978","artists": [{"id": "1Xyo4u8uXC1ZmMpatF05PJ","name": "The Weeknd","isPrimary": true}],"album": {"name": "After Hours","albumType": "album","releaseDate": "2020-03-20","releaseDatePrecision": "day"},"audioFeatures": {"tempo": 171.005,"key": 1,"keyName": "C#","mode": 1,"modeName": "major","danceability": 0.514,"energy": 0.73,"valence": 0.334},"scrapedAt": "2026-03-11T12:00:00.000Z"}
Audio Features Explained
Spotify calculates audio features using audio analysis algorithms:
| Feature | Range | Description |
|---|---|---|
tempo | 0–250 BPM | Track tempo |
key / keyName | 0–11 / "C"–"B" | Musical key (Pitch Class notation) |
mode | 0=minor, 1=major | Modality |
danceability | 0.0–1.0 | How suitable for dancing |
energy | 0.0–1.0 | Intensity and activity |
valence | 0.0–1.0 | Musical positiveness (happiness) |
speechiness | 0.0–1.0 | Presence of spoken words |
acousticness | 0.0–1.0 | Confidence of acoustic sound |
instrumentalness | 0.0–1.0 | Predicts no vocals |
liveness | 0.0–1.0 | Presence of live audience |
loudness | dB | Overall loudness |
Pricing
$3.90 per 1,000 tracks scraped (PPE — pay per track record)
Pricing includes all platform compute costs — no hidden fees.
| Use Case | Tracks | Cost |
|---|---|---|
| Single playlist (50 tracks) | 50 | $0.20 |
| 10 playlists | 500 | $1.95 |
| Album catalog | 1,000 | $3.90 |
| Weekly monitoring (10K tracks) | 10,000 | $39.00 |
Unavailable/deleted tracks and failed playlist loads are NOT billed.
FAQ
Do I need a Spotify account to use this?
No. This actor uses Spotify's public client credential flow — no developer account, no OAuth app setup required.
What are audio features and why are they useful?
Audio features are computed by Spotify's audio analysis algorithms. DJs use BPM and key for mixing. Music researchers use danceability and energy for genre analysis. A&R teams use popularity trends for playlist monitoring.
Why can't I scrape a private playlist?
Private playlists require authentication with the playlist owner's account. Only public playlists are accessible.
What's an ISRC code?
International Standard Recording Code — a unique identifier for a specific recording used in rights management, licensing, and royalty tracking.
Does this work with Spotify podcasts?
Podcast episodes in playlists are handled gracefully but audio features are not available for episodes.
Can I monitor playlist additions over time?
Yes — combine with Apify's scheduled runs. Run weekly on the same playlist URL and compare results to detect new additions.
Legal notice: Accessing public Spotify data for analysis is generally accepted practice. Do not use for audio extraction or DRM circumvention. ISRC codes are for identification only.
Related actors by Junipr: Medium Scraper | AI Content Detector