ガイド
Spotify再生回数API:IDまたはISRCで任意の曲の累計再生回数を取得
Spotify Web APIは、曲が何回再生されたかを返しません。最も近いのは人気度(popularity)で、これは0〜100のスコアです。Spotify自身のリファレンスでは、主に総再生回数に基づくと説明され、非推奨とされています。これらのエンドポイントは、再生回数そのものを返します。SpotifyのIDまたはISRCで1曲、または最大50曲を1回の呼び出しで取得できます。
Eduardo Airaudo(APIのメンテナー)・2026年10月22日更新
公式のトラックオブジェクトにないもの
Spotify Web APIのGET /v1/tracks/{id}は、アルバム、アーティスト、duration_ms、explicit、external_ids、名前、popularityなどを返します。再生回数を数えるものは一つもありません。最も近いのは人気度(popularity)で、Spotifyのリファレンスでは0〜100の値で、主に曲の再生回数とその新しさから計算されると説明され、非推奨とされています。2026年2月のSpotifyの変更により、2026年2月11日以降に作成された開発モードのアプリでは削除されました。
スコアは、回数の代わりにはなりません。相対的な値のため、アルバムやカタログ全体で合計できず、最近の再生を優遇します。同じリファレンスにも、今よく再生されている曲は、過去によく再生された曲よりスコアが高くなると書かれています。そのため、その曲がこれまでに何回再生されたかは分かりません。
仕様書の表現では、このAPIのPartnerグループは「Spotify's internal (pathfinder) data, including play counts」です。 /partner/track/countは1曲の累計再生回数を、/partner/tracks/countは最大50曲の累計再生回数をまとめて返し、/partner/trackは曲の完全なレコードの中にそれを含めて返します。
返ってくるもの
仕様書のレスポンススキーマの定義に沿って、フィールドごとに説明します。1曲の呼び出しでは再生回数をstreamsと呼び、一括の呼び出しではplaycountと呼びます。
1曲
GET /partner/track/count
- streams
- 累計再生回数(整数、int64)。仕様上はnull許容で、再生回数が1,000回未満の曲では0です。
- spotify_track_id
- 曲のSpotify ID。
- isrc
- 曲のISRC。仕様上はnull許容です。
- result
successまたはerror。短いmessageが付きます。
一括
GET /partner/tracks/count
- tracks[]
- リクエストしたIDごとに1件、リクエストした順に並びます。
- tracks[].playcount
- 累計再生回数(int64、null許容)。1,000回未満の曲は0。
- tracks[].status
ok、not_found、errorのいずれかで、errorの場合はerrorのテキストが付きます。- tracks[].name
- 曲の名前。見つからなかった場合は
null。 - tracks[].artists[]
- 各アーティストの
idとname。 - tracks[].releaseDate
- 曲のアルバムのリリース日。YYYY-MM-DD形式、またはそれより粗い精度。
- missing[]
okではないステータスのリクエスト済みID。
0は「1,000回未満」を意味し、一度も再生されていないという意味ではありません。 仕様書によると、Spotifyは再生回数が1,000回未満の曲には0を報告します。0は回数としてではなく、「1,000未満」として保存してください。
記録済みサンプル・2026-10-22に取得
GET /partner/track/count
| { |
| "result": "success", |
| "message": "Data Retrieved.", |
| "spotify_track_id": "7qiZfU4dY1lWllzX7mPBI3", |
| "streams": 5152826895 |
| } |
6行:記録済みの本文のすべてです。
記録済みサンプル・2026-10-22に取得
GET /partner/tracks/count
| { |
| "tracks": [ |
| { |
| "id": "7qiZfU4dY1lWllzX7mPBI3", |
| "name": "Shape of You", |
| "artists": [ |
| { |
| "id": "6eUKZXaKkcviH0Ku9w2n3V", |
| "name": "Ed Sheeran" |
| } |
| ], |
| "playcount": 5152826895, |
| "releaseDate": "2017-03-03", |
| "status": "ok" |
| } |
| ], |
| "missing": [] |
| } |
18行:記録済みの本文のすべてです。
1曲、または1回の呼び出しで50曲
- GET /partner/track/countTrack play count
Lifetime play count of one track, by Spotify id (
spotify_track_id, or its aliasid) or byisrc. 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.パラメータ
spotify_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
statusok,not_foundorerror; ids without a play count are also listed inmissing. Each id is cached for 1 hour.パラメータ
ids, cache - GET /partner/trackPartner track data
Track with its play count (
data.trackUnion.playcount), album, artists and content ratings. Addslim=1to keep only{id, uri, profile.name, visuals.avatarImage}of each artist (the full payload embeds the first artist's discography and is ~100 KB).パラメータ
id, slim, cache
/partner/tracks/countは最大50件のカンマ区切りのIDを受け取り、送った順に返します。そのため、50曲分が50リクエストではなく1リクエストで済みます。
再生回数を取得する
1曲をSpotify IDで
| curl -X GET \ |
| "https://spotify-proxy.checkleaked.cc/spotify-data/partner/track/count?id=0VjIjW4GlUZAMYd2vXMi3b" \ |
| -H "x-rapidapi-key: $SPOTIFY_API_KEY" |
IDは、SpotifyのURLの/track/の後に続く22文字の文字列です。ISRCで曲を検索するには、id=の代わりにisrc=を送ります。
1回の呼び出しで最大50曲
| curl -X GET \ |
| "https://spotify-proxy.checkleaked.cc/spotify-data/partner/tracks/count?ids=0VjIjW4GlUZAMYd2vXMi3b%2C7qiZfU4dY1lWllzX7mPBI3" \ |
| -H "x-rapidapi-key: $SPOTIFY_API_KEY" |
再生回数より先に、各エントリのstatusを確認してください。エントリはIDの順に返ります。再生回数がないものは、代わりにnot_foundまたはerrorと表示され、missingにも再度記載されます。
コードなしで再生回数を取得
再生回数をご自身のコードではなくスプレッドシートで使う場合は、同じメンテナーによる2つのApify Actorが、データセットとして返します。実行にはApifyのアカウントが必要で、APIキーは不要です。リンクを貼り付けて、JSONまたはCSVをダウンロードします。
- Spotify Play Count Scraper (新しいタブで開きます)eduair94/spotify-play-count-scraper
曲、アルバム、アーティスト、プレイリストのリンク、URI、IDを貼り付けると、曲ごとに1行、再生回数付きで返します。アーティストの人気曲やディスコグラフィ全体、アルバムやプレイリストのすべての曲が対象です。指定すれば、アーティストの月間リスナー数の行も返します。
- Spotify Scraper (新しいタブで開きます)eduair94/spotify-scraper
汎用のActorです。61のカテゴリがあり、そのうち5が再生回数に関するもの(
track_play_count,album_play_counts,artist_play_counts,artist_discography_play_counts,playlist_play_counts)で、isrcはISRCから曲を探し、再生回数を返します。
どちらも結果ごとの課金です。時点の価格は、Apifyの無料プランで1行あたり$0.001、Gold以上では$0.0006まで下がります。実行がキーより有利になる場合とならない場合については、スクレイパーのガイドをご覧ください。
すでに蓄積されている履歴: 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.
AIアシスタント(MCP)から使う:ClaudeやCursor、VS Codeで曲のストリーム数を尋ねると、Spotify MCPサーバーのget_track_play_countツールが、このAPIから累計再生回数を返します。MCPサーバーをセットアップする。
よくある質問
Spotify Web APIは再生回数を返しますか?
いいえ。Web APIリファレンスのトラックオブジェクトには、再生回数のフィールドがありません。最も近いフィールドである人気度(popularity)は、主に総再生回数とその新しさからSpotifyが計算する0〜100のスコアで、リファレンスでは非推奨とされています。2026年2月のSpotifyの変更により、2026年2月11日以降に作成された開発モードのアプリでは削除されました。
再生回数が0と表示される曲があるのはなぜですか?
1,000回未満だからです。仕様書によると、Spotifyは再生回数が1,000回未満の曲には0を報告するため、0は「1,000回未満」を意味し、一度も再生されていないという意味ではありません。
多数の曲の再生回数を一度に取得できますか?
はい。GET /partner/tracks/countは最大50件のカンマ区切りの曲IDを受け取り、リクエストした順に返します。各エントリのステータスはok、not_found、errorのいずれかで、再生回数のないIDはmissingにも記載されます。50曲分が50リクエストではなく1リクエストで済みます。
ISRCで曲を検索できますか?
はい。GET /partner/track/countは、Spotify IDの代わりにisrcを受け取るため、ISRCで管理しているカタログでも、先にIDを調べる必要はありません。
数値はどのくらい最新ですか?
再生回数は1時間キャッシュされるため、通常、数値の古さは最大でもその程度です。X-Cacheの値がSTALEまたはFALLBACKで始まる場合、ライブの取得が遅い、または失敗したため、古いコピーを返したことを意味します。X-Cache-Stale-Ageはその経過秒数を示します。新しい値を取得するにはcache=falseを付けます。このサイトの「実行」ボタンはデモ独自のキャッシュも経由するため、そこに表示される数値はより古い場合があります。
コードを書かずに再生回数を取得できますか?
はい、Apifyで可能です。実行にはApifyのアカウントが必要で、APIキーは不要です。Spotify Play Count Scraper(eduair94/spotify-play-count-scraper)は、曲、アルバム、アーティスト、プレイリストのリンクを受け取り、曲ごとに1行、再生回数付きで返します。Spotify Scraper(eduair94/spotify-scraper)には、61のカテゴリのうち5が再生回数のカテゴリです。どちらも結果ごとの課金です。
どのプランが必要ですか?
どれでも構いません。再生回数の2つのエンドポイントは、RapidAPIもダイレクトポータルも、すべてのプランに含まれ、プランの違いは月間リクエスト数です。RapidAPIはどのプランも毎秒5リクエスト、ダイレクトキーには毎秒10リクエストが含まれます。RapidAPIの無料プランは月1,000リクエストまでです。
出典
- Get Track:Spotify Web APIリファレンス — 公式のトラックオブジェクト。再生回数はなく、popularityは非推奨とされています。
- 2026年2月の変更:Spotify for Developersのリファレンス — 削除されたフィールドに、曲の人気度が含まれています。
- 2026年2月の移行ガイド:Spotify for Developers — 削除の対象:開発モードのアプリ(2026年2月11日以降に作成された新規のもの)。拡張クォータのアプリは対象外です。
- このサイトのGET /partner/track/count — パラメータ、エラーステータス、実行ボタン。
- このサイトのGET /partner/tracks/count — 一括呼び出し。同じ内容を備えています。
- ApifyのSpotify Play Count Scraper — コード不要の方法:現在公開されている入力と、1行あたりの価格。
More guides
- Spotify Web API alternativeEndpoint-by-endpoint mapping from the official API, including everything Spotify removed on 27 November 2024.
- Spotify API without OAuthOne header instead of the client-credentials flow — and the things a key genuinely cannot do.
- Spotify lyrics APIWhy the Web API has no lyrics endpoint, and how to get line-synced lyrics as JSON, LRC or SRT.
- Spotify charts APIDaily Top 200 and viral charts as JSON: rank movement, stream counts, credits, and how to backfill.
- Spotify monthly listeners APIMonthly listeners, follower counts, world rank and top cities per artist — numbers the Web API never returned.
- Spotify audio features API after the 2024 deprecationTempo, energy, danceability, recommendations and related artists after Spotify removed them for new apps.
- Spotify API rate limitsThe official 30-second rolling window, what each plan here allows per second and per month, and how to stay under it.
- Spotify scraper on ApifyPlay counts, charts, lyrics and credits as a scheduled run with no API key — and when an API key is the better tool.
- Spotify MCP serverPlay counts, monthly listeners and charts inside Claude, Cursor or VS Code: an open-source MCP server that runs with your own key.
What changed in the API and on these pages, and when: What's new.
キーを取得して、最初の再生回数を取得
再生回数の2つのエンドポイントは、RapidAPIもダイレクトポータルも、すべてのプランに含まれます。Apifyでは、上記の2つのActorが、同じ再生回数をデータセットの行として返し、結果ごとに課金されます。RapidAPIの無料枠は月1,000リクエストで、1回の呼び出しで最大50曲なら、最大50,000件の再生回数を取得できます。
購入前に試したい方へ。無料トライアルキーを取得:7日間で500リクエスト、カード不要。