Spotify Play Count Scraper

Export timestamped public Spotify track play counts and artist listener metrics from watchlist URLs.

Data fields

FieldTypeDescription
entityTypestringValue exported as entityType.
spotifyIdstringValue exported as spotifyId.
urlstringValue exported as url.
namestringValue exported as name.
artistNamesarrayValue exported as artistNames.
albumNamestring | nullValue exported as albumName.
playCountnumber | nullValue exported as playCount.
monthlyListenersnumber | nullValue exported as monthlyListeners.

Input preview

trackUrlsTrack URLs
artistUrlsArtist URLs
albumUrlsAlbum URLs
maxItemsMaximum metric rows
includeRelatedTracksInclude related tracks
failOnUnavailableMetricSkip unavailable metrics

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Export timestamped public Spotify track play counts, artist monthly listeners, and album metadata from Spotify watchlist URLs.

Monitor Spotify music metrics over time

Spotify Play Count Scraper is built for music marketers, labels, playlist analysts, and creator-economy teams that need a repeatable public-metric export.

Use it to:

  • Track public play counts for a watchlist of Spotify tracks.
  • Record public monthly-listener values for artists.
  • Save timestamps so exports can be compared across reporting periods.
  • Keep album identity and release metadata alongside a metric watchlist.

It works with public Spotify URLs. It does not access Spotify for Artists, listener accounts, user libraries, or private analytics.

Who is it for?

Music marketers can compare track momentum between campaign snapshots.

Record labels and managers can maintain an exportable artist and release watchlist.

Playlist analysts can collect public track identifiers and visible performance metrics for reporting workflows.

Creator-economy researchers can build timestamped datasets for public music-performance analysis.

Start with a track watchlist

Paste public Spotify URLs and use a low maxItems value for a quick first export.

{
  "trackUrls": [
    "https://open.spotify.com/track/3n3Ppam7vgaVa1iaRUc9Lp"
  ],
  "artistUrls": [
    "https://open.spotify.com/artist/0C0XlULifJtAgn6ZNCW2eu"
  ],
  "maxItems": 10,
  "includeRelatedTracks": false
}

Spotify monthly listeners scraper and artist metrics scraper

Track play-count monitoring

Add one or more trackUrls. Keep maxItems close to the number of watchlist URLs when you only need requested tracks.

{
  "trackUrls": [
    "https://open.spotify.com/track/3n3Ppam7vgaVa1iaRUc9Lp"
  ],
  "maxItems": 1
}

Artist monthly-listener monitoring

Add public artist URLs to return a timestamped monthly-listener metric when Spotify exposes one.

{
  "artistUrls": [
    "https://open.spotify.com/artist/0C0XlULifJtAgn6ZNCW2eu"
  ],
  "maxItems": 1,
  "failOnUnavailableMetric": false
}

Set includeRelatedTracks when you also want public track rows shown on a requested artist or album page.

{
  "artistUrls": [
    "https://open.spotify.com/artist/0C0XlULifJtAgn6ZNCW2eu"
  ],
  "includeRelatedTracks": true,
  "maxItems": 10
}

Example output

{
  "entityType": "track",
  "spotifyId": "3n3Ppam7vgaVa1iaRUc9Lp",
  "url": "https://open.spotify.com/track/3n3Ppam7vgaVa1iaRUc9Lp",
  "name": "Mr. Brightside",
  "artistNames": ["The Killers"],
  "albumName": "Hot Fuss",
  "playCount": 3427230508,
  "monthlyListeners": null,
  "releaseDate": "2004-06-15T00:00:00Z",
  "snapshotAt": "2026-08-26T00:00:00.000Z",
  "scrapedAt": "2026-08-26T00:00:00.000Z",
  "metricAvailability": "available",
  "sourceInput": "https://open.spotify.com/track/3n3Ppam7vgaVa1iaRUc9Lp",
  "isTarget": true
}

Input settings

Input Description
trackUrls Public Spotify track URLs. Returns an exact public play count when Spotify exposes it.
artistUrls Public Spotify artist URLs. Returns public monthly listeners when exposed.
albumUrls Public Spotify album URLs. Returns album metadata; Spotify does not provide one aggregate album play count.
maxItems Maximum rows to persist (1–1000; default 10).
includeRelatedTracks Add public track rows exposed on requested artist or album pages.
failOnUnavailableMetric Skip a target rather than save its unavailable metric row; remaining targets continue.

Tips and limits

  • Use track URLs when exact track play counts are required.
  • Keep snapshotAt when comparing a metric across reporting periods.
  • Invalid Spotify URLs are ignored. If no valid URL remains, the run fails before browsing.
  • A public metric can change between runs.
  • Public pages may omit a metric. This Actor never substitutes a zero for an unavailable metric.
  • Album rows describe the album; Spotify does not expose one aggregate public album play count.

API Usage: Spotify play count API

Use the Apify API to run a saved or scheduled metric watchlist.

Node.js

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/spotify-play-count-scraper').call({
    trackUrls: ['https://open.spotify.com/track/3n3Ppam7vgaVa1iaRUc9Lp'],
    maxItems: 1,
});
console.log(run.defaultDatasetId);

Python

from apify_client import ApifyClient
import os

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/spotify-play-count-scraper').call(run_input={
    'trackUrls': ['https://open.spotify.com/track/3n3Ppam7vgaVa1iaRUc9Lp'],
    'maxItems': 1,
})
print(run['defaultDatasetId'])

cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~spotify-play-count-scraper/runs" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"trackUrls":["https://open.spotify.com/track/3n3Ppam7vgaVa1iaRUc9Lp"],"maxItems":1}'

MCP and agents

Connect an MCP-capable assistant to this Actor with:

claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/spotify-play-count-scraper"

Or add this server configuration to an MCP client:

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=fetch_cat/spotify-play-count-scraper"
    }
  }
}

Example prompts

  • “Run my Spotify track watchlist and return each play count with snapshotAt.”
  • “Compare this artist's monthly-listener snapshots from two datasets.”
  • “Export public metadata and exact counts for these Spotify track URLs.”

Support

Open an issue from the Actor page with the public Spotify URL, run ID, and expected public field. Do not share credentials or private account information.

Common questions

Questions and answers reused from the canonical actor README.

What data can I export with spotify play count scraper?

Public track play counts, artist monthly listeners when exposed, album metadata, canonical Spotify IDs, and timestamped availability states.

Can I run Spotify Play Count Scraper through an API, schedule, or MCP client?

Yes. Use the Spotify play count API examples above, schedule a saved watchlist input in Apify, or connect through the MCP configuration in this README.

How much does it cost to use Spotify Play Count Scraper?

It charges once when the run starts and once per saved dataset row. See the live Pricing tab for current rates.

Can it access Spotify for Artists or private listener data?

No. It only returns public page data and does not accept Spotify credentials.

Why is playCount null for an album?

Spotify exposes per-track counts, not one aggregate album count.