Spotify Scraper - Artists, Playlists & Tracks
Pricing
from $1.50 / 1,000 dataset items
Spotify Scraper - Artists, Playlists & Tracks
Scrape public Spotify artists, tracks, albums, playlists and podcasts. Get available listener and play counts, discover artists and track playlist or catalog changes. Export JSON or CSV and schedule repeat runs.
Pricing
from $1.50 / 1,000 dataset items
Rating
0.0
(0)
Developer
Fetch Finch
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Explore Spotify catalogs. Track changes. Map playlist connections.
Collect public Spotify artist, track, album, playlist, and podcast data in a structured Apify Dataset. Use one-off snapshots for catalog research, or build repeatable monitoring workflows that surface artist and playlist changes.
Monitoring and playlist graph analysis make this more than a one-time catalog export: compare snapshots over time, identify playlist additions and ranking moves, and explore relationships between playlists, tracks, artists, and albums.
Provide Spotify URLs, URIs, IDs, or search queries. Export results as JSON, CSV, or Excel, or connect runs to the Apify API, schedules, webhooks, and other integrations.
Pricing
- Actor start: $0.005 at the default 256 MB memory setting.
- Default Dataset output: $0.0015 per row.
- Platform usage during the run is included; it is not added as a separate per-run usage charge. Larger memory settings can increase the start-event charge.
Example costs at the default memory setting:
| Example run | Billed default-Dataset rows | Approx. event cost |
|---|---|---|
| One artist snapshot | 1 | $0.0065 |
| One playlist snapshot | 1 | $0.0065 |
| Representative playlist graph run | 308 | $0.467 |
The graph example reflects a previously tested run, not a fixed price. Graph row counts vary with the playlist contents and graph limits. Each default Dataset row is billed the same way, regardless of record type:
- A playlist or artist snapshot is one row, even when its record contains nested tracks or releases.
- A
playlist_analysisrecord is one row. - Every graph
nodeandedgeis one row. - Every emitted
changerecord is one row. - In monitor mode, each snapshot written to the default Dataset is one row too.
With
onlyChanges: true, snapshots are omitted from the default Dataset and only emitted changes are billed as rows. The separate named history Dataset can still receive snapshots and changes; those copies do not trigger the default-Dataset-item event.
So a graph run with one playlist row, one analysis row, and 306 node/edge rows
has 308 billed rows: $0.005 + (308 × $0.0015) = $0.467. Dataset/API reads
after a run may incur standard Apify platform charges.
What you can do
- Collect artist profiles, listener and follower metrics, releases, top tracks, and related artists.
- Collect track metadata, play counts, artist references, albums, release dates, durations, previews, and identifiers.
- Collect album and playlist metadata with their visible track listings.
- Collect podcast show and episode metadata, including descriptions, publishers, release dates, durations, and show relationships.
- Monitor catalog entities over time and receive compact change events.
- Analyze playlist composition and export a graph of playlists, tracks, artists, and albums.
- Search for artists and rank enriched results for discovery and A&R research.
Run modes
Snapshot
The default mode returns the current records for your targets and searches.
Monitor changes
Set mode to monitor to compare each successful fetch with its previous
successful snapshot. The first run emits first_seen events. Later runs emit
updated events with changed field paths, playlist additions/removals/position
changes, and numeric metric deltas where available.
{"mode": "monitor","stateStoreName": "my-artist-monitor","historyDatasetName": "my-artist-history","onlyChanges": true,"targets": ["https://open.spotify.com/artist/0gxyHStUsqpMadRV0Di1Qt"]}
Use onlyChanges for compact alert or webhook payloads. Use changePreset to
keep all changes, playlist changes, or metric changes. ignoredFields and
metricThresholdPercent help reduce noisy alerts.
For recurring monitoring, create an Apify Schedule using the same input and keep
the stateStoreName and historyDatasetName values stable between runs. Attach
an Apify Webhook to send new run or dataset events to your application.
Playlist intelligence
Set mode to playlist_intelligence to return the playlist record, composition
metrics, and a bounded graph of related playlists, tracks, artists, and albums.
Set maxGraphNodes to control output size.
{"mode": "playlist_intelligence","maxTracks": 100,"maxGraphNodes": 500,"targets": ["https://open.spotify.com/playlist/37i9dQZF1DXcBWIGoYBM5M"]}
Artist discovery
Set mode to discover to search the artist catalog, enrich the matching
artists, rank them, and optionally filter by listeners, followers, or release
count.
{"mode": "discover","searchQueries": ["indie electronic"],"searchTypes": ["artist"],"enrichSearchResults": true,"rankBy": "monthly_listeners","minMonthlyListeners": 10000,"maxItems": 25}
Input
Targets can be Spotify URLs or typed Spotify URIs. A raw 22-character Spotify
ID requires an explicit targetType because the ID itself does not identify
whether it belongs to an artist, track, album, playlist, show, or episode.
{"targets": ["https://open.spotify.com/artist/0gxyHStUsqpMadRV0Di1Qt","spotify:track:4uLU6hMCjMI75M1A2tKUQC"],"searchQueries": ["daft punk"],"searchTypes": ["artist", "track"],"enrichSearchResults": false,"maxSearchResults": 20,"maxTracks": 100,"maxEpisodes": 50,"maxItems": 100}
Search results are sparse by default. Set enrichSearchResults to fetch full
records for each matching entity. Use maxItems, maxTracks, and
maxEpisodes to keep runs bounded and predictable.
Output
Every dataset row includes a consistent envelope such as record_type, id,
uri, url, status, and scraped_at, together with the available fields for
that entity.
Depending on the mode, the dataset can also contain:
changerows withchange_type,changed_fields,playlist_changes, andmetric_deltas.analysisrows with playlist composition metrics such as unique artists, duplicate tracks, concentration, and diversity.nodeandedgerows for graph analysis.- Discovery fields such as
discovery_rank,ranked_by, and release counts.
Successful monitor snapshots and change events are also appended to the named
history Dataset. The latest run summary is available in the run's default
Key-Value Store under the OUTPUT key.
Preconfigured Tasks
The Actor includes ready-to-run examples for catalog lookup, track performance, artist and album research, podcast lookup, playlist intelligence, graph analysis, artist discovery, growth monitoring, playlist change monitoring, low-noise alerts, and historical archiving. Open the Actor's Tasks tab to run one of these workflows or save your own configuration.
Integrations
Use the standard Apify API, Dataset exports, Schedules, Webhooks, Make, Zapier, Slack, Google Sheets, or your own application. The Actor is designed so a single run can be used as a one-time export, a recurring monitor, or an input to another workflow.
Data scope
The Actor returns publicly available Spotify catalog metadata. Private account data, listening history, and private playlists are not included.
Support
If a run produces unexpected results, include the Apify run ID, sanitized input, one reproducible public Spotify URL, and the expected versus actual output when reporting the issue.