Spotify Monthly Listeners Scraper
Pricing
from $5.00 / 1,000 artist scrapeds
Spotify Monthly Listeners Scraper
Get Spotify artist monthly listeners, followers, world rank, and top listener cities from an artist URL, ID, or name. HTTP-only, no API key, MCP-ready.
Pricing
from $5.00 / 1,000 artist scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Use this Apify Actor to get Spotify artist monthly listeners, followers, world rank, and top listener cities from an artist URL, artist ID, Spotify URI, or artist name. It accepts a list of artist inputs, returns one dataset record per successfully scraped artist, and produces structured fields that are useful for analytics, routing, and agent workflows. The output includes artist identity fields plus popularity metrics and city data, so each record can be used as a compact snapshot of one artist at run time.
Best fit and connected workflows
This Actor fits workflows that start with an artist name or link and need Spotify artist popularity data in a structured format. It is useful for:
- roster monitoring and artist benchmarking
- audience geography review using top listener cities
- enrichment steps in music marketing or A&R pipelines
- AI agent tasks that need a single tool to resolve an artist and return current Spotify metrics
Because it is an Apify Actor, it can be used through Apify MCP as part of a larger agent flow, while still keeping the task focused on artist-level Spotify data.
Practical scenario
A music marketer is preparing a campaign for a shortlist of artists. They start with a list that includes a plain artist name and a Spotify artist URL. The Actor returns each artist's name, monthly listeners, followers, world rank, and top listener cities. The marketer uses the city list to decide where to concentrate ad spend and uses the world rank and listener counts to compare relative scale across the shortlist. The next action is to export the dataset items into a spreadsheet or pass them into a downstream reporting workflow.
Input
The Actor accepts these input fields:
| Field | Type | Purpose |
|---|---|---|
artists | array of strings | One entry per artist. Accepts a Spotify artist URL, Spotify URI, bare 22-character artist ID, or plain artist name. |
topCitiesLimit | integer | Number of top listener cities to include per artist. Range: 0 to 50. Spotify exposes up to 5 cities publicly. |
maxResults | integer | Hard cap on the number of artists processed and billed in one run. |
proxyConfiguration | object | Proxy used for Spotify requests. Apify Proxy is enabled by default. |
Focused JSON input example
{"artists": ["Taylor Swift","https://open.spotify.com/artist/4q3ewBCX7sLwd24euuV69X","spotify:artist:1Xyo4u8uXC1ZmMpatF05PJ"],"topCitiesLimit": 5,"maxResults": 10,"proxyConfiguration": {"useApifyProxy": true}}
Output
Each dataset item represents one artist that was successfully scraped.
| Field | Type | Meaning |
|---|---|---|
query | string or null | Original input value for the artist. |
resolvedVia | string or null | How the input was resolved, such as URL, URI, ID, or search. |
type | string | Record type returned by Spotify. |
id | string or null | Spotify artist ID. |
uri | string or null | Spotify artist URI. |
url | string or null | Spotify artist URL. |
name | string or null | Artist name returned by Spotify. |
verified | boolean or null | Verified status when available. |
monthlyListeners | integer or null | Monthly listeners value. |
followers | integer or null | Spotify follower count. |
worldRank | integer or null | World rank value when Spotify exposes it. |
topCities | array or null | Top listener cities, ordered by listener count. |
avatarImage | string or null | Artist image URL. |
scrapedAt | string or null | Timestamp for when the record was scraped. |
Illustrative output record
{"query": "Taylor Swift","resolvedVia": "search","type": "artist","id": "06HL4z0CvFAxyc27GXpf02","uri": "spotify:artist:06HL4z0CvFAxyc27GXpf02","url": "https://open.spotify.com/artist/06HL4z0CvFAxyc27GXpf02","name": "Taylor Swift","verified": true,"monthlyListeners": 84213765,"followers": 132847901,"worldRank": 3,"topCities": [{"city": "London","country": "GB","region": "England","listeners": 1284551}],"avatarImage": "https://i.scdn.co/image/...","scrapedAt": "2026-06-20T22:41:09.412Z"}
How it works
The Actor resolves each artist input to a Spotify artist and then queries Spotify's Partner API queryArtistOverview operation. According to the live contract, it is HTTP-only and uses a self-healing TOTP token plus operation hash extracted live from Spotify's web player. The actor does not launch a browser. Names are resolved to the top matching artist, while URLs, URIs, and bare IDs are used directly.
Pricing
Spotify Monthly Listeners Scraper uses Pay per event plus Apify platform usage. The charged events are:
- Actor start
- Artist scraped
An artist is billed when it is successfully returned with monthly listeners, followers, world rank, and top cities. Skipped inputs and non-artist links are not billed. Apify platform usage is billed separately according to your Apify plan and resource consumption. For the current pricing details, open the live Pricing tab in the Apify Console.
For a simple example, a run that scrapes twenty artists triggers twenty artist events plus one Actor start event.
Use with AI agents (MCP)
This Actor is available as an Apify Actor usable through Apify MCP. It is designed for agent workflows that need a compact tool call to resolve Spotify artist inputs and retrieve structured artist-level metadata.
Actor identity: khadinakbar/spotify-monthly-listeners-scraper
Tool description: accept a list of Spotify artist URLs, URIs, IDs, or names and return one record per successfully scraped artist with monthly listeners, followers, world rank, top listener cities, and identity fields.
Get the Spotify artist profile for this artist name and return monthly listeners, followers, world rank, top listener cities, and the resolved Spotify URL. Use the artist's own Spotify page when possible.
Output interpretation:
resolvedViashows how the artist was matched.querypreserves the original input.monthlyListeners,followers, andworldRankare the main popularity fields.topCitiesprovides the publicly exposed top listener cities, ordered by listener count.scrapedAtmarks when the record was collected.
Provenance and scope:
- Data comes from Spotify artist data exposed through the actor's HTTP-based scraping flow.
- The scope is artist-level Spotify popularity data only.
Pagination and cost guidance:
- Feed multiple artists in one input array.
- Use
maxResultsto cap the number of processed and billed artists. - Use
topCitiesLimitto control how many city rows are included per artist. - Billing follows the actor's Pay per event contract.
Apify API example
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const run = await client.actor('khadinakbar/spotify-monthly-listeners-scraper').call({artists: ['Taylor Swift', 'The Weeknd'],topCitiesLimit: 5,maxResults: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) {console.log(`${item.name}: ${item.monthlyListeners} monthly listeners`);}
Best results and outcome guidance
Use exact Spotify artist URLs or artist IDs when you want the most direct match. Use a plain artist name when you want the Actor to resolve the top matching artist on Spotify. Set topCitiesLimit to 0 when you only need core popularity fields and want smaller records. Keep maxResults aligned with the number of artists you intend to process in one run.
Focused standalone workflow
Spotify Monthly Listeners Scraper is designed as a focused standalone workflow for the public input and structured output contract described above.
Design note
I found that the live dataset contract exposes a single flat record per artist, with query, resolvedVia, monthlyListeners, followers, worldRank, topCities, and scrapedAt among the fields, which makes the Actor straightforward to consume in downstream workflows.
FAQ
Can I paste a Spotify artist URL, URI, or ID?
Yes. The Actor accepts all three, along with a plain artist name.
What happens with a Spotify album or playlist link?
The input schema is for artist entries. Artist URLs, URIs, IDs, and names are the intended inputs.
How many top listener cities can I request?
The topCitiesLimit field accepts 0 to 50, while Spotify exposes up to 5 cities publicly.
What does resolvedVia tell me?
It shows whether the artist was resolved from a URL, URI, ID, or search input.
Is this Actor usable through Apify MCP?
Yes. It is an Apify Actor that is MCP-ready and designed for agent workflows.
Can I use this for multiple artists in one run?
Yes. Pass an array of artist inputs and control the run with maxResults.
Responsible use
Use the data in ways that respect Spotify's terms, applicable laws, and your own data-handling requirements. This Actor collects publicly exposed Spotify artist information and returns it in structured form for legitimate research, operations, automation, and agent workflows.