Spotify Monthly Listeners Scraper: Followers & World Rank
Pricing
from $0.90 / 1,000 artists
Spotify Monthly Listeners Scraper: Followers & World Rank
Spotify monthly listeners, followers, world rank and top 5 listener cities for any artist. Paste artist links, IDs or names; 50 artists per request. Track changes between runs. Pay per artist.
Pricing
from $0.90 / 1,000 artists
Rating
0.0
(0)
Developer
Eduardo Airaudo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Spotify Monthly Listeners Scraper
Spotify monthly listeners, followers, world rank and top cities for any artist, as one clean row per artist. Paste artist links, IDs or plain artist names, run it once or on a schedule, and export the numbers to JSON, CSV or Excel. No Spotify account and no API key.
Unofficial; not affiliated with Spotify. This Actor reads the public numbers Spotify shows on artist pages.
What does Spotify Monthly Listeners Scraper do?
For every artist you enter, Spotify Monthly Listeners Scraper returns:
- Monthly listeners (
monthlyListeners): unique listeners over the last 28 days, the number on the artist's Spotify page, as an exact whole number. - Followers (
followers) and world rank (worldRank), Spotify's ranking of the most-listened artists. - Top cities (
topCities): the 5 cities with the most monthly listeners, each with country, region and listener count, plus the number one city astopCity,topCityCountryandtopCityListeners. - Popularity (
popularity, 0-100), the profile picture (imageUrl) and the artist's Spotify link (url).
It is built for rosters: 50 artists are fetched per request, so a list of 1,000 artist links or IDs takes 20 requests (each artist name adds one search first). With Track changes on, every row also says how the artist moved since your previous run.
How to scrape Spotify monthly listeners
- Paste your artists into Artists, one per line: Spotify artist links,
spotify:artist:URIs, 22-character artist IDs or artist names (for exampleBad Bunny). - Click Start. Three artists take about two seconds; thousands take a few minutes.
- Open the Monthly listeners view in the Output tab, or download the rows as JSON, CSV, Excel or HTML.
A name is looked up with Spotify's artist search, and only an artist whose name matches it is used: case, accents, punctuation, & versus "and", a leading "The" and a small typo don't matter ("Tyler The Creator" finds Tyler, The Creator; "Weeknd" finds The Weeknd). matchedName shows the artist it matched. A name that matches no artist is not charged, and its line in ERRORS names Spotify's top result so you can paste that artist's link instead. Links and IDs are always exact.
Input
| Field | What it does | Default |
|---|---|---|
artists | Artist links (open.spotify.com/artist/…, spotify.link short links too), spotify:artist: URIs, artist IDs or artist names, one per line (a line with several links or IDs is read as one artist each). The same artist entered twice is fetched and charged once. | required |
includeTopCities | Adds topCities and the number one city (topCity, topCityCountry, topCityListeners). | true |
trackChanges | Compares each artist with its previous run and adds the change columns (see below). | false |
historyStoreName | The key-value store in your account that keeps the previous values for Track changes. Use one name per roster. | spotify-monthly-listeners-history |
Example input:
{"artists": ["https://open.spotify.com/artist/1Xyo4u8uXC1ZmMpatF05PJ","https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02","https://open.spotify.com/artist/4q3ewBCX7sLwd24euuV69X","Peso Pluma"],"trackChanges": true}
Output example
One row per artist (The Weeknd on 2026-11-01, with Track changes on and a previous run a week earlier):
{"artistId": "1Xyo4u8uXC1ZmMpatF05PJ","name": "The Weeknd","url": "https://open.spotify.com/artist/1Xyo4u8uXC1ZmMpatF05PJ","monthlyListeners": 116457297,"followers": 129632964,"worldRank": 3,"topCity": "Mexico City","topCityCountry": "MX","topCityListeners": 1645614,"topCities": [{ "city": "Mexico City", "country": "MX", "region": "CMX", "listeners": 1645614 },{ "city": "London", "country": "GB", "region": "ENG", "listeners": 1489446 },{ "city": "São Paulo", "country": "BR", "region": "SP", "listeners": 1393878 },{ "city": "Los Angeles", "country": "US", "region": "CA", "listeners": 1084296 },{ "city": "Sydney", "country": "AU", "region": "NSW", "listeners": 978781 }],"popularity": 96,"imageUrl": "https://i.scdn.co/image/ab6761610000e5ebc1719ac9e6a75c1c25835018","input": "https://open.spotify.com/artist/1Xyo4u8uXC1ZmMpatF05PJ","resolvedFrom": "url","matchedName": null,"scrapedAt": "2026-11-01T08:00:01.284Z","previousMonthlyListeners": 114902551,"monthlyListenersChange": 1554746,"monthlyListenersChangePct": 1.35,"previousFollowers": 129401877,"followersChange": 231087,"previousWorldRank": 4,"worldRankChange": 1,"previousScrapedAt": "2026-10-25T08:00:02.512Z"}
| Field | Meaning |
|---|---|
artistId, name, url | The artist's Spotify ID, name and page. |
monthlyListeners | Monthly listeners: unique listeners over the last 28 days. |
followers | Spotify followers. |
worldRank | Spotify world rank by monthly listeners; empty when the artist is not ranked. |
topCity, topCityCountry, topCityListeners | The city with the most monthly listeners, its country code and its listeners. |
topCities | Up to 5 cities: {city, country, region, listeners}, most listeners first. |
popularity, imageUrl | Spotify popularity score (0-100) and profile picture. |
input, resolvedFrom, matchedName | The line you entered; how it named the artist (url, uri, id, short_link or search); for a name, the artist it matched. |
scrapedAt | When the numbers were read. |
previousMonthlyListeners, monthlyListenersChange, monthlyListenersChangePct | Track changes: monthly listeners at the previous run, the difference and the difference in percent. |
previousFollowers, followersChange | Track changes: followers at the previous run and the difference. |
previousWorldRank, worldRankChange | Track changes: world rank at the previous run and the places gained (12 to 9 is +3). |
previousScrapedAt | Track changes: when the previous numbers were read. |
The Output tab has three views: Monthly listeners, Top cities, and Changes since the last run. The CSV link leaves out the nested topCities list; the number one city stays in its own columns.
Track Spotify monthly listeners over time
Spotify only shows today's number. To build your own monthly listeners history:
- Turn on Track changes (
trackChanges) and give your roster a History store name (historyStoreName). - Save the input as a task and schedule it daily or weekly in Apify.
- Each run compares every artist with the last run that delivered it and fills
previousMonthlyListeners,monthlyListenersChange,monthlyListenersChangePct,followersChangeandworldRankChange. An artist's first run leaves them empty.
Every run's dataset stays in your account, so the datasets of a schedule are also a full time series. Send them to Google Sheets, Slack or a webhook with Apify integrations. Use a separate history store for each schedule: two schedules writing the same store at the same time overwrite each other's values.
How much does it cost to scrape Spotify monthly listeners?
You pay per artist delivered. Your price follows your Apify plan:
| Apify plan | Per artist | Per 1,000 artists |
|---|---|---|
| Free | $0.0015 | $1.50 |
| Bronze | $0.00125 | $1.25 |
| Silver | $0.001 | $1.00 |
| Gold, Platinum and Diamond | $0.0009 | $0.90 |
Each run also has Apify's start fee of $0.00005 (5 thousandths of a cent), and Apify covers the first 5 seconds of every run's compute. There is no monthly rental and no charge for platform usage.
| Example (Free plan) | Artists | Cost |
|---|---|---|
| The prefilled 3 artists | 3 | $0.0045 + $0.00005 start |
| A roster of 1,000 artists | 1,000 | $1.50 |
| 10,000 artists | 10,000 | $15.00 ($9.00 on Gold) |
| 500 artists weekly for a month (4 or 5 runs) | 2,000 to 2,500 | $3.00 to $3.75 |
Never charged: unknown artists, names that match no artist, links to tracks or albums, broken IDs, repeats, and artists whose monthly listeners Spotify did not return this time. Set a maximum cost per run and the Actor stops at that amount without going over: it does not even look up the names it could not pay for.
FAQ
What are Spotify monthly listeners?
The number of unique people who played an artist at least once in the last 28 days, the figure on every artist's Spotify page. One listener who plays 50 songs counts once.
How often does Spotify update monthly listeners?
About once a day. Running this Actor more often than daily mostly returns the same numbers, so a daily or weekly schedule is enough for tracking.
Why is worldRank empty?
Spotify ranks only its most-listened artists, roughly the top 500 worldwide. Everyone else has no world rank, so the field is empty (null), not 0.
Why is monthlyListeners 0?
Nobody played the artist in the last 28 days. Spotify then shows no monthly listeners at all, and the row says 0. Followers are still filled in. Artists with very few listeners also have fewer than 5 top cities, or none.
Can I get historical monthly listeners?
Spotify publishes only the current number. Turn on Track changes and schedule the Actor: from your first run on, every run adds a data point and the change since the previous one.
What happens when Spotify does not answer for an artist?
The artist is asked for again right away and once more at the end of the run. If its monthly listeners still did not arrive, it is listed in the ERRORS record of the run's key-value store as temporary and is not charged. Run it again later.
When monthly listeners are missing for every artist of two requests in a row, Spotify's statistics are down for the moment: the Actor stops asking for the rest, tries them once more at the end of the run, and charges nothing for the artists it could not deliver (a run that delivered nothing ends as failed). Run it again later.
Do I need a Spotify account or API key?
No. You only need an Apify account, and the Actor never uses your Spotify login. Spotify's own Web API has never returned monthly listeners, world rank or top cities, and it stopped returning artist followers in 2026.
Can I mix links, IDs and names?
Yes. Links and IDs are fetched directly; names are looked up with Spotify's artist search first, 50 at a time, so the first rows arrive while a long list of names is still being looked up. When several artists share a name, Spotify's top-ranked one is used, so prefer links for exact results. resolvedFrom and matchedName tell you how each row was found.
Why did a name return no artist?
Spotify's search answers every text with its closest artists, even when none of them is the one you meant, so the Actor only accepts an artist whose name matches yours. Nicknames and other spellings ("Tupac" for 2Pac) don't match: the ERRORS record shows Spotify's top result for that line, and nothing is charged. Enter the artist's link or exact name instead.
Is it legal to scrape Spotify monthly listeners?
The Actor reads public statistics that Spotify shows to every visitor of an artist page. It returns no personal data about listeners. Check that your use of the data complies with Spotify's terms and the laws that apply to you.
Use it from the Apify API or MCP
Start a run, wait for it and get the rows in one call (synchronous calls wait up to 5 minutes):
curl -X POST "https://api.apify.com/v2/acts/eduair94~spotify-monthly-listeners-scraper/run-sync-get-dataset-items?maxTotalChargeUsd=1" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"artists": ["https://open.spotify.com/artist/4q3ewBCX7sLwd24euuV69X", "Taylor Swift"]}'
JavaScript, with the apify-client package:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('eduair94/spotify-monthly-listeners-scraper').call({artists: ['https://open.spotify.com/artist/1Xyo4u8uXC1ZmMpatF05PJ', 'Bad Bunny'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const artist of items) console.log(artist.name, artist.monthlyListeners, artist.worldRank, artist.topCity);
Python, with the apify-client package:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("eduair94/spotify-monthly-listeners-scraper").call(run_input={"artists": ["Karol G", "https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02"], "trackChanges": True})for artist in client.dataset(run["defaultDatasetId"]).iterate_items():print(artist["name"], artist["monthlyListeners"], artist.get("monthlyListenersChange"))
AI agents can call it too: add the Actor to Apify's MCP server and ask for an artist's monthly listeners in plain language.
Use cases
- A&R and talent scouting: compare a shortlist of artists by monthly listeners, followers and world rank, and spot who is growing fastest with Track changes.
- Label and roster monitoring: a weekly snapshot of every signed artist, with the change since last week, straight into a spreadsheet.
- Tour routing: the top cities show where an artist's listeners are before you book venues.
- Playlist pitching and marketing: measure what a release, a playlist placement or a campaign did to an artist's monthly listeners.
- Music market research: bulk Spotify artist stats for a genre, a country scene or a festival lineup.
Related Spotify scrapers
- Spotify Scraper: Play Counts, Monthly Listeners & Playlists: tracks, albums, playlists, charts, lyrics and podcasts, plus full artist profiles with biography and social links.
- Spotify Play Count Scraper: stream counts for every track of an artist's discography, an album or a playlist.
- Spotify Playlist Scraper: whole playlists with every track's play count, priced per playlist, with change tracking.
- Spotify Artist Scraper: full artist profiles with biography, social links, top tracks and related artists.
- Spotify Charts Scraper: Top 200, top artists and top albums by country, daily or weekly, with streams.