Spotify Monthly Listeners Scraper avatar

Spotify Monthly Listeners Scraper

Pricing

from $5.00 / 1,000 artist scrapeds

Go to Apify Store
Spotify Monthly Listeners Scraper

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

6 days ago

Last modified

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:

FieldTypePurpose
artistsarray of stringsOne entry per artist. Accepts a Spotify artist URL, Spotify URI, bare 22-character artist ID, or plain artist name.
topCitiesLimitintegerNumber of top listener cities to include per artist. Range: 0 to 50. Spotify exposes up to 5 cities publicly.
maxResultsintegerHard cap on the number of artists processed and billed in one run.
proxyConfigurationobjectProxy 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.

FieldTypeMeaning
querystring or nullOriginal input value for the artist.
resolvedViastring or nullHow the input was resolved, such as URL, URI, ID, or search.
typestringRecord type returned by Spotify.
idstring or nullSpotify artist ID.
uristring or nullSpotify artist URI.
urlstring or nullSpotify artist URL.
namestring or nullArtist name returned by Spotify.
verifiedboolean or nullVerified status when available.
monthlyListenersinteger or nullMonthly listeners value.
followersinteger or nullSpotify follower count.
worldRankinteger or nullWorld rank value when Spotify exposes it.
topCitiesarray or nullTop listener cities, ordered by listener count.
avatarImagestring or nullArtist image URL.
scrapedAtstring or nullTimestamp 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:

  • resolvedVia shows how the artist was matched.
  • query preserves the original input.
  • monthlyListeners, followers, and worldRank are the main popularity fields.
  • topCities provides the publicly exposed top listener cities, ordered by listener count.
  • scrapedAt marks 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 maxResults to cap the number of processed and billed artists.
  • Use topCitiesLimit to 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.