Guide

API du nombre d’écoutes Spotify : écoutes cumulées de tout titre, par identifiant ou ISRC

La Web API de Spotify ne dit jamais combien de fois un titre a été écouté. Ce qui s’en rapproche le plus est la popularité, un score de 0 à 100 que sa propre référence décrit comme basé surtout sur le total des écoutes, et qu’elle marque comme déprécié. Ces endpoints renvoient le nombre lui-même : un titre par identifiant Spotify ou ISRC, ou jusqu’à 50 titres en un appel.

Par Eduardo Airaudo, mainteneur de l’API · Mis à jour le 22 octobre 2026

Ce que l’objet titre officiel ne contient pas

GET /v1/tracks/{id} sur la Web API de Spotify renvoie l’album, les artistes, duration_ms, explicit, external_ids, le nom, popularity et quelques autres champs. Aucun ne compte les écoutes. La popularité s’en approche le plus : la référence de Spotify la donne comme une valeur de 0 à 100, calculée surtout d’après le nombre d’écoutes d’un titre et leur récence, et la marque comme dépréciée. Les changements de février 2026 de Spotify l’ont retirée pour les applications en mode développement créées à partir du 11 février 2026.

Un score ne fait pas ce que fait un nombre. Il est relatif, donc il ne s’additionne pas sur un album ou un catalogue, et il favorise les écoutes récentes — la même référence dit que les titres très écoutés en ce moment obtiennent un score plus élevé que ceux qui l’ont été beaucoup par le passé — si bien qu’il ne peut pas dire combien de fois un titre a été écouté en tout.

Selon la spécification, le groupe Partner de cette API est « Spotify's internal (pathfinder) data, including play counts ». /partner/track/count renvoie le nombre d’écoutes cumulées d’un titre, /partner/tracks/count celui de jusqu’à 50 titres à la fois, et /partner/track l’inclut dans la fiche complète du titre.

Ce qui est renvoyé

Champ par champ, tels que les schémas de réponse de la spécification les définissent. L’appel pour un seul titre nomme le nombre streams ; l’appel par lot le nomme playcount.

Un titre

GET /partner/track/count

streams
Le nombre d’écoutes cumulées, sous forme d’entier (int64). Nullable dans la spécification, et 0 pour un titre de moins de 1 000 écoutes.
spotify_track_id
L’identifiant Spotify du titre.
isrc
L’ISRC du titre. Nullable dans la spécification.
result
success ou error, avec un court message à côté.

Un lot

GET /partner/tracks/count

tracks[]
Une entrée par identifiant demandé, dans l’ordre de la requête.
tracks[].playcount
Écoutes cumulées (int64, nullable) ; 0 pour un titre de moins de 1 000.
tracks[].status
ok, not_found ou error, avec un texte error quand c’est error.
tracks[].name
Le nom du titre ; null s’il n’a pas été trouvé.
tracks[].artists[]
Pour chaque artiste, id et name.
tracks[].releaseDate
La date de sortie de l’album du titre : YYYY-MM-DD, ou une précision plus grossière.
missing[]
Les identifiants demandés dont le statut n’est pas ok.

Un 0 signifie moins de 1 000, pas « jamais écouté ». La spécification indique que Spotify renvoie 0 pour les titres de moins de 1 000 écoutes : enregistrez donc un 0 comme « moins de 1 000 » plutôt que comme un nombre.

Exemple enregistré · capturé le 2026-10-22

GET /partner/track/count

6 lignes — le corps enregistré en entier.

Exemple enregistré · capturé le 2026-10-22

GET /partner/tracks/count

18 lignes — le corps enregistré en entier.

Un titre, ou 50 par appel

  • 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.

    Paramètresspotify_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.

    Paramètresids, 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).

    Paramètresid, slim, cache

/partner/tracks/count accepte jusqu’à 50 identifiants séparés par des virgules et répond dans l’ordre où vous les avez envoyés : 50 titres coûtent donc une requête au lieu de 50.

Récupérer les nombres d’écoutes

Un titre, par identifiant Spotify

L’identifiant est la chaîne de 22 caractères qui suit /track/ dans n’importe quelle URL Spotify. Pour chercher un titre par son ISRC, envoyez isrc= à la place de id=.

Jusqu’à 50 titres en un appel

Lisez le status de chaque entrée avant son nombre. Les entrées reviennent dans l’ordre des identifiants ; celle qui n’a pas de nombre d’écoutes est marquée not_found ou error à la place, et listée de nouveau dans missing.

Les nombres d’écoutes sans code

Si les nombres sont destinés à un tableur plutôt qu’à votre propre code, deux Actors Apify du même mainteneur les renvoient sous forme de dataset. Une exécution demande un compte Apify et aucune clé API : vous collez des liens et téléchargez du JSON ou du CSV.

Les deux facturent au résultat, aux prix listés le  : $0.001 la ligne sur le forfait gratuit d’Apify, jusqu’à $0.0006 à partir de Gold. Quand une exécution est préférable à une clé, et quand elle ne l’est pas, c’est dans le guide du scraper.

Un historique déjà constitué : 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.

Utilisez-le depuis un assistant IA (MCP) : demandez à Claude, Cursor ou VS Code les écoutes d’un titre, et l’outil get_track_play_count du serveur MCP Spotify renvoie les nombres d’écoutes cumulées depuis cette API. Configurer le serveur MCP.

Questions

La Web API de Spotify renvoie-t-elle des nombres d’écoutes ?

Non. L’objet titre de la référence de la Web API n’a aucun champ de nombre d’écoutes. Son champ le plus proche, popularity, est un score de 0 à 100 que Spotify calcule surtout d’après le total des écoutes et leur récence ; la référence le marque comme déprécié, et les changements de février 2026 de Spotify l’ont retiré pour les applications en mode développement créées à partir du 11 février 2026.

Pourquoi un titre affiche-t-il 0 écoute ?

Parce qu’il en a moins de 1 000. La spécification indique que Spotify renvoie 0 pour les titres de moins de 1 000 écoutes : un 0 signifie donc moins de 1 000, pas « jamais écouté ».

Puis-je obtenir les nombres d’écoutes de nombreux titres à la fois ?

Oui. GET /partner/tracks/count accepte jusqu’à 50 identifiants de titres séparés par des virgules et répond dans l’ordre de la requête, chaque entrée ayant un statut ok, not_found ou error ; les identifiants sans nombre d’écoutes sont aussi listés dans missing. 50 titres coûtent une requête au lieu de 50.

Puis-je chercher un titre par ISRC ?

Oui. GET /partner/track/count accepte isrc à la place d’un identifiant Spotify : un catalogue indexé par ISRC n’a donc pas besoin d’une recherche d’identifiant préalable.

Ce nombre est-il à jour ?

Les nombres d’écoutes sont mis en cache pendant une heure : un nombre a donc généralement au plus cet âge. Une valeur X-Cache commençant par STALE ou FALLBACK signifie qu’une copie plus ancienne a été servie parce que la récupération en direct était lente ou a échoué ; X-Cache-Stale-Age donne son âge en secondes. Ajoutez cache=false pour récupérer un nombre à jour. Les boutons Exécuter de ce site passent aussi par le cache propre à la démo : un chiffre peut donc y être plus ancien.

Puis-je obtenir des nombres d’écoutes sans écrire de code ?

Oui, sur Apify : une exécution demande un compte Apify et aucune clé API. L’Actor Spotify Play Count Scraper (eduair94/spotify-play-count-scraper) accepte des liens de titres, d’albums, d’artistes ou de playlists et renvoie une ligne par titre avec son nombre d’écoutes ; l’Actor Spotify Scraper (eduair94/spotify-scraper) compte 5 catégories de nombres d’écoutes parmi ses 61. Les deux facturent au résultat.

De quel forfait ai-je besoin ?

N’importe lequel. Les deux endpoints de nombre d’écoutes sont sur chaque forfait, RapidAPI comme portail direct, et les forfaits diffèrent par le volume mensuel. Chaque forfait RapidAPI autorise 5 requêtes par seconde et chaque clé directe en inclut 10. Le forfait gratuit de RapidAPI autorise 1 000 requêtes par mois.

Sources

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

Obtenez une clé et récupérez votre premier nombre d’écoutes

Les deux endpoints de nombre d’écoutes sont sur chaque forfait, RapidAPI comme portail direct ; sur Apify, les deux Actors ci-dessus renvoient les mêmes nombres sous forme de lignes de dataset, facturées au résultat. L’offre gratuite de RapidAPI est de 1 000 requêtes par mois : avec jusqu’à 50 titres par appel, cela donne jusqu’à 50 000 nombres d’écoutes.

Pas encore prêt à acheter ? Obtenir une clé d’essai gratuite : 500 requêtes sur 7 jours, sans carte.