Spotify Playlist Track Extractor
Pricing
from $4.00 / 1,000 dataset items
Spotify Playlist Track Extractor
Extract every track from any Spotify playlist as clean JSON — one row per track with artists, album, duration, play count, added date, and the ISRC code for royalty and catalog work. Handles playlists of any size with pagination and resume. No API key. Pay only for results.
Pricing
from $4.00 / 1,000 dataset items
Rating
0.0
(0)
Developer
axly
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
5 days ago
Last modified
Categories
Share
Turn any Spotify playlist into a complete, structured dataset — one clean row per track. Get artists, album, duration, play count, the date each track was added, and the industry ISRC code. Handles playlists of any size with automatic pagination and checkpoint resume. No API key, no login.
Not affiliated with Spotify. Reads public playlist data from Spotify's own web and mobile backends for research, analytics and interoperability.
Who it's for
- Playlist curators & pluggers — audit tracklists, spot placements, and export playlists for pitching.
- Labels, distributors & rights teams — capture ISRC codes per track for royalty matching and catalog reconciliation.
- A&R, marketers & analysts — analyze what's on editorial and competitor playlists, with play counts and added-dates.
- Researchers & data teams — build track-level datasets from any set of playlists as clean JSON.
What you get (output fields)
One row per track, stamped with its playlist context.
| Field | Type | Description |
|---|---|---|
playlistId / playlistName / playlistUrl | string | Source playlist |
playlistOwner / playlistOwnerUsername | string | Playlist owner |
playlistFollowers | integer | Playlist follower count |
playlistTotalTracks | integer | Total tracks in the playlist |
position | integer | 1-based position in the playlist |
addedAt | string | When the track was added (ISO-8601) |
trackId / trackUri / trackUrl | string | Track identifiers + link |
trackName | string | Track title |
artists / artistNames | array / string | Contributing artists |
albumName / albumId / albumUri | string | Parent album |
releaseDate | string | Album release date (YYYY-MM-DD) |
durationMs / durationText | int / string | Track length |
isrc | string | International Standard Recording Code |
popularity | integer | Spotify popularity 0–100 |
playCount | integer | Lifetime stream count |
trackNumber / discNumber | integer | Position on the album |
explicit | boolean | Explicit flag |
imageUrl | string | Album cover image |
scrapedAt | string | UTC ISO-8601 timestamp |
Use cases
- Royalty & catalog matching — export ISRC codes for every track on a playlist and reconcile them against your catalog.
- Playlist auditing — snapshot editorial or competitor playlists over time to see what was added and when.
- Placement tracking — check whether your roster's tracks appear on target playlists, and where in the order.
- Music datasets — combine many playlists into a single track-level dataset for analysis or ML.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
playlistUrls | array | — | Spotify playlist URLs or URIs (required) |
maxTracksPerPlaylist | integer | 0 | Cap tracks per playlist (0 = all) |
maxItems | integer | 0 | Global cap across playlists (0 = no cap) |
includeISRC | boolean | true | Add ISRC + popularity (one extra request per track) |
market | string | US | ISO country code |
locale | string | en | Language for text fields |
proxyConfiguration | object | none | Optional Apify proxy (not required) |
Example input
{"playlistUrls": ["https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M"],"maxTracksPerPlaylist": 50,"includeISRC": true}
Example output (one track row)
{"playlistId": "37i9dQZF1DXcBWIGoYBM5M","playlistName": "Today's Top Hits","playlistFollowers": 33987576,"position": 1,"addedAt": "2026-08-01T00:00:00Z","trackId": "70pVCVMGjmIWPbWXDwf11e","trackName": "Some Hit Song","artistNames": "An Artist","albumName": "An Album","durationMs": 201000,"durationText": "3:21","isrc": "USxxx0000001","popularity": 92,"playCount": 123456789,"scrapedAt": "2026-08-05T07:00:00+00:00"}
Scheduling & integrations
- Schedule runs to snapshot playlists on a cadence and track changes over time.
- Webhooks on run completion push new tracks into your pipeline.
- Export to CSV, JSON, Excel, XML or via the Apify API; connect to Google Sheets, Make, Zapier, Airbyte or S3.
Use with AI agents (MCP)
Available over Apify's MCP interface — an assistant like Claude or ChatGPT can call it as a tool, e.g. "list every track and its ISRC on this Spotify playlist".
FAQ
Do I need a Spotify API key or account? No. It reads public playlist data anonymously.
How big a playlist can it handle? Any size — it paginates through the whole
playlist and checkpoints progress, so interrupted runs resume without duplicating
rows. Use maxTracksPerPlaylist / maxItems to cap output.
What is ISRC? The International Standard Recording Code — a unique identifier for a recording, used across the music industry for royalties and catalog matching.
Why is ISRC enrichment optional? It adds one extra request per track. Turn it
off (includeISRC: false) for the fastest, cheapest runs on very large playlists.
Is a proxy required? No. Spotify's endpoints have no anti-bot here; a proxy is optional for a specific egress region.
Is this legal / allowed? You are responsible for your use. This accesses publicly available data; review Spotify's terms and your local laws, and prefer the official Spotify API where it fits.