Disclosure: this tutorial is published by TubeText Labs, the developer of the Spotify Play Count Scraper. It describes an illustrative research workflow based on the public documentation checked on October 23, 2026. No new Actor run was performed for this article.
A music researcher following a group of releases needs a repeatable way to answer: what public counts did I observe last time, and what changed since then?
You can export Spotify track and artist metrics, save each collection separately, and compare matching records. The important part is keeping cumulative play counts, monthly listeners and missing observations distinct.
1. Choose a fixed set of links
Open the Actor and put public Spotify artist, album or track links in Spotify links (items). For a stable release panel, use explicit album or track URLs rather than assuming an artist's current popular releases will stay the same.
The current input schema also accepts playlist links, but limits maxPlaylistTracks to 100. It describes coverage as the tracks listed by Spotify's embed player. Do not treat a long playlist export as a guaranteed complete playlist.
For artist links, leave maxReleasesPerArtist at 0 if you only want artist summaries, including their top tracks. Setting it above zero requests additional popular releases and albums, with a schema maximum of 50 releases per artist. That expands the data collected and the billable album/track events.
Keep your link list and input settings alongside each export so you can tell a metric change from a change in collection scope.
2. Export the fields you actually need
Run the Actor when you are ready to incur its published charges, then open the output and export the Tracks, Artists or Albums view as CSV/Excel. Keep JSON too if you need nested fields such as cities or top tracks.
The documented output includes:
- Track rows:
type,status,url,name,playcount,artists,albumNameandreleaseDate.playcountis the cumulative track count, not a count for your research interval. - Artist rows:
monthlyListeners,followers,worldRank,topCitiesandtopTracks. World rank is documented for the top 500 only. - Album rows:
label,totalTracksandtotalPlays; the last is a sum of track play counts.
These fields are optional and nullable in the schema. Retain status and error, and never replace an unavailable value with zero. Top-city listener counts are location aggregates, not individual listener records or demographic profiles.
3. Preserve two separate snapshots
Save the first dataset and its run identifier. In your own research table, add an observation label, the run's collection window and an export timestamp in UTC. These are workflow metadata you add, not fields this article claims the Actor returns.
Later, repeat the same inputs and save a second dataset without overwriting the first. Match successful track rows by their documented Spotify url and type, after checking that the URLs refer to the same entity. Do not join only on a song title, and do not combine album totals with track counts.
In a spreadsheet or database, calculate:
observed change = later playcount - earlier playcount
Only calculate it when both matched rows have status = ok and numeric values. Leave unmatched or unavailable observations missing, and investigate duplicate records or negative differences rather than silently fixing them.
Call this change between observed cumulative counts. It is not an independently verified count of streams during a calendar day: collection times, source updates and missing observations can affect the comparison. A difference in monthlyListeners is a change in that reported metric, not a count of newly acquired listeners.
This workflow starts building your own history from saved observations. It does not backfill past counts, estimate royalties or establish why a metric changed. Availability and completeness can vary.
4. Budget for every event type
The live pricing page, checked October 23, lists Free-plan event rates of:
- $0.001 per track ($1 per 1,000 track events).
- $0.003 per artist report.
- $0.002 per album summary, with its tracks charged separately.
- $0.00005 per Actor Start event. The number of start events depends on allocated memory: one per GB, with a minimum of one.
For illustration, 20 chargeable track events, one album summary, one artist report and one start event add up to $0.02505. That is cost arithmetic, not a measured run or a fixed-price promise. Repeated snapshots incur their own events; higher Apify plans have different result-event rates. Check your selected plan before running.
The documentation describes failed or empty items as unbilled result rows, but that does not eliminate the separate start charge. Optional artist-release expansion can add album and track charges; the current public schema lists no AI option or AI event.
For a first research panel, keep the scope small and explicit. Export one observation, inspect the fields and missing values, then decide whether a recurring comparison would answer your actual research question.
Which comparison would you need: a fixed release panel, artist monthly-listener snapshots, or a playlist's changing membership? Those require different handling of scope and missing records.
Top comments (0)