Spotify Monthly Listeners & Followers Tracker - Exact Counts avatar

Spotify Monthly Listeners & Followers Tracker - Exact Counts

Pricing

from $2.60 / 1,000 artist returneds

Go to Apify Store
Spotify Monthly Listeners & Followers Tracker - Exact Counts

Spotify Monthly Listeners & Followers Tracker - Exact Counts

Monthly listeners and followers for any Spotify artist as the exact integers on the public artist page, plus the top tracks with play counts and the latest release. Turn monitoring on and later runs return an artist only when a count has moved.

Pricing

from $2.60 / 1,000 artist returneds

Rating

0.0

(0)

Developer

NeverEmpty

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

10 days ago

Last modified

Share

Spotify Monthly Listeners & Followers Tracker

Monthly listeners and followers for any Spotify artist, as the exact integers in the public artist page (104,890,232 - not "104.9M"), plus the artist's top tracks with play counts and the latest release. With monitoring on, an artist comes back only when its monthly listeners or followers have moved, with the previous figure and the difference.

Paste artists as page URLs, spotify:artist: URIs or 22-character artist IDs, mixed in one list.

What you get

One row per artist:

ColumnMeaning
artistName, artistId, artistUrlThe name Spotify returned for that ID, the ID and the page that was read
monthlyListenersMonthly listeners, as an integer
followersFollowers, as an integer
topTracksThe top tracks listed in the page data, in page order: rank, trackName, trackId, trackUrl, playCount, albumName, albumId, artistNames
topTrackName, topTrackPlayCountThe first of those, as flat columns
latestReleasename, type (ALBUM, SINGLE, ...), year, albumId, url
externalLinksThe artist's own links from the profile (Instagram, Facebook, ...)
avatarUrlThe largest avatar image in the page data
pageCountryThe country Spotify served the page for (see "Limits")
input, scrapedAt, statusWhat you typed, when it was read, ok for an artist row

Monitoring columns (filled only in monitoring mode): change (first-check or changed), isFirstCheck, changedFields, previousMonthlyListeners, monthlyListenersChange, previousFollowers, followersChange, previousCheckedAt.

A value that is not in the page is null, never 0.

Measured on 2026-10-04 (the same figures came back from a home connection in Japan and from an Apify run in the US, minutes apart):

ArtistmonthlyListenersfollowersFirst top trackplayCount
Taylor Swift104890232165027667The Fate of Ophelia1705547569
Drake94087456117620422--

Why every row names the artist it read

The figures are taken only from the block of page data whose key is the artist ID you asked for. If the page does not contain that ID, no number is taken from it and you get an unreadable row instead. artistName is what Spotify returned for the ID, and input is what you typed, so a mix-up is visible in the row itself.

Input

  • artists - https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02 (with or without intl-xx/, ?si=... or the scheme), spotify:artist:06HL4z0CvFAxyc27GXpf02, or 06HL4z0CvFAxyc27GXpf02. Get the link from Share > Copy link to artist in Spotify. Artist names are not searched. Track, album, playlist and embed links are rejected with an invalid-input row.
  • maxArtists - with monitoring off, stop after this many artist rows.
  • monitoringMode, monitorMode, resetMonitoringState - see below.
  • useProxy - requests go directly to Spotify; a residential proxy is tried once only when Spotify answers HTTP 403 or 429.

Monitoring mode

Turn monitoringMode on and schedule the Actor. It remembers each artist's two counts and, on later runs:

  • an artist whose counts have not moved is not returned as a row; it still costs one check (see "What is charged"), and if no artist moved you get one free no-change row saying how many were compared;
  • an artist whose counts moved comes back with the previous figures, the differences and changedFields;
  • an artist it has never seen is returned once (first-check).

monitorMode chooses what counts as a change: any-change (monthly listeners or followers), listeners-change, or followers-change. Top-track play counts are reported in every returned row but do not trigger a return on their own.

Counts are remembered per artist, not per list, in a key-value store named spotify-listeners-monitoring in your own account, so adding an artist to the list does not return the others again. The remembered figure for an artist is updated only when a row for it was delivered, so each difference is measured against the last row you received. resetMonitoringState clears everything remembered.

Do not put the same artist in two schedules that run at the same moment: Apify's key-value store has no atomic update, so two runs finishing together can overwrite each other's record and an artist may be returned once more as first-check.

How often Spotify refreshes the monthly listener figure has not been measured by this Actor. If you schedule it more often than Spotify updates the page, the extra runs return no-change.

What is charged

  • artist-returned - one per artist row with status: ok.
  • artist-checked - monitoring mode only: one per artist that was read and compared, whether or not it changed. Checks are charged together after the last artist was read, so a run that is aborted or times out while reading charges nothing. An artist that changed is charged one check and one row.
  • Not charged: no-such-artist (Spotify answers 404 for the ID), invalid-input, duplicate-input, unreadable, blocked, no-change, not-read and budget-reached rows. There is no start fee and no monthly fee.

If you set a maximum total charge for a run, monitoring mode reads only as many artists as fit a check plus a row each, and lists the rest in a not-read row.

Rows that explain instead of failing

statusWhen
no-such-artistSpotify answered 404 (Page not found) for the ID
invalid-inputThe line is not an artist URL, URI or ID - or no artist was given
duplicate-inputThe same artist appeared earlier in the list
unreadableThe page came back without the artist data, or its format changed. No figure is guessed
blockedSpotify refused the request (403/429), or answered with a verification or login page
not-readLines that were not requested: after a blocked row or three unreadable pages in a row the run stops asking Spotify; also when maxArtists or the charge limit was reached
no-changeMonitoring: every artist was compared and none had moved
budget-reachedThe run's maximum total charge was reached before every ready row could be delivered

Limits

  • Top tracks: only the tracks listed in the artist page data are returned (5 on the pages measured on 2026-10-04). This is not a full discography or a play count for every track.
  • Country: Spotify builds the page for the country of the connection (pageCountry). Monthly listeners and followers were identical from Japan and the US on 2026-10-04; the order of top tracks may differ by country.
  • Latest release carries the year only, because that is all the page data holds, and is null for artists whose page data has no latest release (2 of the 5 artists measured on 2026-10-04).
  • Only the public artist page (open.spotify.com/artist/<id>) is requested, one page per artist, about one request per second, with a User-Agent that identifies this Actor. No login, no Spotify API token, no embed pages. If Spotify stops serving the data in that page, rows become unreadable rather than wrong.
  • This Actor is not affiliated with, endorsed by or sponsored by Spotify. Spotify's terms of use restrict automated collection from its service; decide for yourself whether your use is permitted before you run it.