Gids

Spotify streams-API: totaal aantal keer afgespeeld per nummer, via ID of ISRC

De Web API van Spotify zegt nooit hoe vaak een nummer is afgespeeld. Het dichtst in de buurt komt populariteit, een score van 0–100 die de eigen referentie omschrijft als grotendeels gebaseerd op het totale aantal keer afgespeeld, en als verouderd markeert. Deze endpoints geven het aantal zelf terug: één nummer via Spotify-ID of ISRC, of maximaal 50 nummers in één aanroep.

Door Eduardo Airaudo, beheerder van de API · Bijgewerkt op 22 oktober 2026

Wat het officiële track-object weglaat

GET /v1/tracks/{id} in de Spotify Web API geeft het album, de artiesten, duration_ms, explicit, external_ids, de naam, popularity en nog een handvol velden terug. Geen daarvan telt hoe vaak het nummer is afgespeeld. Populariteit komt het dichtst in de buurt: de referentie van Spotify geeft het als een waarde van 0 tot 100, grotendeels berekend uit hoe vaak een nummer is afgespeeld en hoe recent dat was, en markeert het als verouderd. Met de wijzigingen van februari 2026 heeft Spotify het verwijderd voor apps in ontwikkelmodus die vanaf 11 februari 2026 zijn aangemaakt.

Een score kan niet wat een aantal kan. Hij is relatief en telt dus niet op over een album of een catalogus, en hij bevoordeelt recent afspelen — dezelfde referentie zegt dat nummers die nu veel worden afgespeeld hoger scoren dan nummers die vroeger veel werden afgespeeld — dus hij kan niet zeggen hoe vaak een nummer ooit is afgespeeld.

In de woorden van de spec is de Partner-groep van deze API “Spotify's internal (pathfinder) data, including play counts”. /partner/track/count geeft het totaal aantal keer afgespeeld van één nummer, /partner/tracks/count dat van maximaal 50 nummers tegelijk, en /partner/track bevat het in het volledige trackrecord.

Wat er terugkomt

Veld voor veld, zoals de responseschema's van de spec ze definiëren. De aanroep voor één nummer noemt het aantal streams; de batch noemt het playcount.

Eén nummer

GET /partner/track/count

streams
Het totaal aantal keer afgespeeld, als geheel getal (int64). Nullable in de spec, en 0 voor een nummer met minder dan 1.000 keer afgespeeld.
spotify_track_id
De Spotify-ID van het nummer.
isrc
De ISRC van het nummer. Nullable in de spec.
result
success of error, met een korte message ernaast.

Een batch

GET /partner/tracks/count

tracks[]
Eén item per gevraagde ID, in de volgorde van het verzoek.
tracks[].playcount
Totaal aantal keer afgespeeld (int64, nullable); 0 voor een nummer onder 1.000.
tracks[].status
ok, not_found of error, met een error-tekst wanneer het error is.
tracks[].name
De naam van het nummer; null als het niet gevonden is.
tracks[].artists[]
De id en name van elke artiest.
tracks[].releaseDate
De releasedatum van het album van het nummer: YYYY-MM-DD, of een grovere precisie.
missing[]
De gevraagde ID's waarvan de status niet ok is.

Een 0 betekent minder dan 1.000, niet nooit afgespeeld. De spec zegt dat Spotify 0 meldt voor nummers met minder dan 1.000 keer afgespeeld, dus sla een 0 op als “onder 1.000” in plaats van als aantal.

Opgenomen voorbeeld · vastgelegd op 2026-10-22

GET /partner/track/count

6 regels — de volledige opgenomen body.

Opgenomen voorbeeld · vastgelegd op 2026-10-22

GET /partner/tracks/count

18 regels — de volledige opgenomen body.

Eén nummer, of 50 per aanroep

  • GET /partner/track/countTrack play count

    Lifetime play count of one track, by Spotify id (spotify_track_id, or its alias id) or by isrc. Spotify reports 0 for tracks with fewer than 1,000 plays. Play counts are cached for 1 hour; for many tracks use /partner/tracks/count.

    Parametersspotify_track_id, id, isrc, cache

  • GET /partner/tracks/countTrack play counts (batch)

    Lifetime play counts for up to 50 tracks in one call. Entries come back in request order with status ok, not_found or error; ids without a play count are also listed in missing. Each id is cached for 1 hour.

    Parametersids, cache

  • GET /partner/trackPartner track data

    Track with its play count (data.trackUnion.playcount), album, artists and content ratings. Add slim=1 to keep only {id, uri, profile.name, visuals.avatarImage} of each artist (the full payload embeds the first artist's discography and is ~100 KB).

    Parametersid, slim, cache

/partner/tracks/count neemt tot 50 kommagescheiden ID's aan en antwoordt in de volgorde waarin je ze hebt verstuurd, dus 50 nummers kosten één verzoek in plaats van 50.

Afspeelaantallen ophalen

Eén nummer, via Spotify-ID

De ID is de tekenreeks van 22 tekens na /track/ in elke Spotify-URL. Om een nummer via zijn ISRC op te zoeken, stuur je isrc= in plaats van id=.

Tot 50 nummers in één aanroep

Lees het veld status van elk item voordat je het aantal gebruikt. Items komen terug in de volgorde van de ID's; een item zonder afspeelaantal is in plaats daarvan gemarkeerd als not_found of error en staat ook in missing.

Afspeelaantallen zonder code

Als de aantallen voor een spreadsheet zijn en niet voor je eigen code, leveren twee Apify-actors van dezelfde beheerder ze als dataset. Een run vereist een Apify-account en geen API-sleutel: je plakt links en downloadt JSON of CSV.

Beide rekenen per resultaat af, tegen de prijzen die op werden vermeld: $0.001 per rij in het gratis Apify-abonnement, tot $0.0006 vanaf Gold. Wanneer een run beter is dan een sleutel, en wanneer niet, staat in de scrapergids.

Een geschiedenis die je al bijhoudt: spotify-most-streamed-songs (opens in a new tab) on GitHub has daily play counts and daily streams for 1,000 of the most-streamed songs, as CSV and JSON history.

Gebruik het vanuit een AI-assistent (MCP): vraag Claude, Cursor of VS Code om de streams van een nummer, en de tool get_track_play_count van de Spotify-MCP-server geeft het totaal aantal keer afgespeeld uit deze API terug. De MCP-server instellen.

Vragen

Geeft de Spotify Web API afspeelaantallen terug?

Nee. Het track-object in de referentie van de Web API heeft geen veld voor het aantal keer afgespeeld. Het dichtstbijzijnde veld, popularity, is een score van 0–100 die Spotify grotendeels berekent uit het totale aantal keer afgespeeld en hoe recent dat was; de referentie markeert het als verouderd, en met de wijzigingen van februari 2026 heeft Spotify het verwijderd voor apps in ontwikkelmodus die vanaf 11 februari 2026 zijn aangemaakt.

Waarom toont een nummer 0 keer afgespeeld?

Omdat het er minder dan 1.000 heeft. De spec zegt dat Spotify 0 meldt voor nummers met minder dan 1.000 keer afgespeeld, dus een 0 betekent onder 1.000, niet nooit afgespeeld.

Kan ik de afspeelaantallen van veel nummers tegelijk ophalen?

Ja. GET /partner/tracks/count neemt tot 50 kommagescheiden nummer-ID's aan en antwoordt in de volgorde van het verzoek, elk item met de status ok, not_found of error; ID's zonder afspeelaantal staan ook in missing. 50 nummers kosten één verzoek in plaats van 50.

Kan ik een nummer opzoeken via ISRC?

Ja. GET /partner/track/count neemt isrc aan in plaats van een Spotify-ID, dus een catalogus met ISRC als sleutel hoeft niet eerst een ID op te zoeken.

Hoe actueel is het aantal?

Afspeelaantallen worden een uur gecachet, dus een aantal is doorgaans hooguit zo oud. Een waarde van X-Cache die begint met STALE of FALLBACK betekent dat een oudere kopie is geleverd omdat het live ophalen traag was of mislukte; X-Cache-Stale-Age geeft de leeftijd in seconden. Voeg cache=false toe om een verse kopie op te halen. De knoppen Uitvoeren op deze site lopen ook via de eigen cache van de demo, dus een cijfer daar kan ouder zijn.

Kan ik afspeelaantallen krijgen zonder code te schrijven?

Ja, op Apify: een run vereist een Apify-account en geen API-sleutel. De actor Spotify Play Count Scraper (eduair94/spotify-play-count-scraper) neemt links naar nummers, albums, artiesten of afspeellijsten aan en geeft één rij per nummer met het aantal keer afgespeeld; de actor Spotify Scraper (eduair94/spotify-scraper) heeft 5 categorieën over afspeelaantallen van zijn 61. Beide rekenen per resultaat af.

Welk abonnement heb ik nodig?

Elk. Beide endpoints voor afspeelaantallen zitten in elk abonnement, bij RapidAPI en het directe portaal, en de abonnementen verschillen in maandelijks volume. Elk RapidAPI-abonnement staat 5 verzoeken per seconde toe en elke directe sleutel bevat 10. Het gratis abonnement van RapidAPI staat 1.000 verzoeken per maand toe.

Bronnen

What changed in the API and on these pages, and when: What's new.

Haal een sleutel op en vraag je eerste afspeelaantal op

Beide endpoints voor afspeelaantallen zitten in elk abonnement, bij RapidAPI en het directe portaal; op Apify geven de twee actors hierboven dezelfde aantallen als datasetrijen, per resultaat afgerekend. Het gratis niveau van RapidAPI is 1.000 verzoeken per maand: bij maximaal 50 nummers per aanroep tot 50.000 afspeelaantallen.

Nog niet klaar om te kopen? Vraag een gratis proefsleutel aan: 500 verzoeken in 7 dagen, geen betaalkaart.