Spotify Data

cc.checkleakedPublished by checkleaked.ccOfficial publisherv0.1.1Updated Nov 1, 2026

Spotify play counts, monthly listeners, charts, artist stats, albums, playlists and ISRC lookup.

VerifiedStreamable HTTPWeb executableData & AnalyticsMedia & Design

Overview

AI-generated overview

Read-only Spotify data server: track play counts, artist listeners and rank, charts, albums, playlists and ISRC lookup, using your own API key.

What you can do
  • Search the Spotify catalog for tracks, artists, albums and playlists, and fetch the full record behind a result
  • Get track details, lifetime play counts, and genre, mood, BPM and credit insights for up to 50 tracks per call
  • Get artist monthly listeners, followers, world rank, top cities, overviews, sound profiles and related artists
  • Get albums with per-track play counts, and playlists with paged track lists and play counts
  • Get country Top 200, viral, top artist and top album charts, and look up tracks by ISRC
When to use it
Useful when you want an assistant to answer questions about Spotify popularity and catalog data, such as comparing streams, checking an artist's monthly listeners or cities, reading a country chart, or resolving an ISRC to a track.
Requirements
A remote endpoint is available, or run locally with uvx, pip or the Docker image. Requires your own API key in SPOTIFY_API_KEY (or an Authorization bearer header for the hosted server), from a free trial, a RapidAPI spotify81 plan or a paid direct key; SPOTIFY_API_PROVIDER optionally selects the provider. Network access to the configured API.
Before you install
Every tool call spends one request of your API key (two on a playlist's first page), so usage is metered and paid tiers cost money. The hosted server can take the key in the URL, which may appear in logs; prefer the Authorization header. Keys are sent to the configured third-party API. All tools are read-only.

Installation

In SourceWeft

  1. Open Spotify Data in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/cc.checkleaked%2Fspotify-data/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "spotify-data": {
      "type": "http",
      "url": "https://spotify-proxy.checkleaked.cc/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

Spotify Data MCP Server

[PyPI] [Python] [License: MIT]

An MCP server that lets AI assistants (Claude Desktop, Claude Code, Cursor, VS Code and other MCP clients) look up Spotify data: track play counts, artist monthly listeners, world rank and top cities, Top 200 and viral charts by country, albums and playlists with per-track play counts, search, ISRC lookup, and genres, moods and BPM.

It runs on your machine and calls the CheckLeaked Spotify Data API with your own API key. A free trial key needs no card. Step-by-step guide: spotify.checkleaked.cc/spotify-mcp-server.

bash
uvx checkleaked-spotify-mcp# or, with Dockerdocker run -i --rm -e SPOTIFY_API_KEY=your-api-key ghcr.io/eduair94/spotify-data-mcp

Unofficial. Not affiliated with, endorsed by or sponsored by Spotify. Spotify is a trademark of Spotify AB.

Ask things like

  • "What are the monthly listeners of Bad Bunny and Karol G?"
  • "Give me the play counts of every track on this album: https://open.spotify.com/album/3RQQmkQEvNCY4prGKE6oc5"
  • "Show today's Top 200 in Brazil, top 20 only."
  • "Which cities listen to Taylor Swift the most?"
  • "Compare the streams of Blinding Lights and Bohemian Rhapsody."
  • "List the first 30 tracks of Today's Top Hits with their play counts, sorted by plays."
  • "What genres, moods and BPM does The Weeknd's music have?"
  • "Which Spotify track has the ISRC USUG11904206?"
  • "Who are the artists related to Rosalía, and how many monthly listeners does each have?"

1. Get an API key

Every user needs their own key. Pick one:

OptionCostWhereSPOTIFY_API_PROVIDER
Free trial: 500 requests over 7 days, no cardFreespotify.checkleaked.cc/pricing#trialdirect (detected automatically)
RapidAPI listing spotify81Free Basic plan, paid tiersrapidapi.com/airaudoeduardo/api/spotify81rapidapi (default)
Direct paid keyFrom the pricing pagespotify.checkleaked.cc/pricingdirect (detected automatically)

Keys issued by spotify.checkleaked.cc (they start with sapi_) are sent to the direct API automatically; any other key is treated as a RapidAPI key. Set SPOTIFY_API_PROVIDER only to override that.

2. Add it to your MCP client

The server is published on PyPI and runs with uvx (part of uv; install it with pip install uv or see the uv install guide). uvx downloads the package into a cached, isolated environment on first use. Replace your-api-key with your key in the snippets below.

No install: the hosted server (Claude.ai, ChatGPT, any remote MCP client)

The same 12 tools, plus a fetch tool for ChatGPT, are also hosted at https://spotify-proxy.checkleaked.cc/mcp (Streamable HTTP). It takes any of the keys above: keys from spotify.checkleaked.cc (they start with sapi_) are spent on the direct API, and any other key on RapidAPI's spotify81 listing, so a RapidAPI subscription works too. Add &provider=direct or &provider=rapidapi to the URL to choose.

  • Claude.ai (Settings → Connectors → Add custom connector) and ChatGPT (Settings → Connectors; also usable in deep research, which calls its search and fetch tools) cannot send custom headers, so put the key in the URL: https://spotify-proxy.checkleaked.cc/mcp?key=your-api-key. Treat that URL like a password.

  • Clients that can send headers use https://spotify-proxy.checkleaked.cc/mcp with Authorization: Bearer your-api-key. With Claude Code:

    bash
    claude mcp add --transport http spotify-data https://spotify-proxy.checkleaked.cc/mcp --header "Authorization: Bearer your-api-key"

Each tool call spends one request of your key, as a direct API call would.

Claude Desktop

Edit claude_desktop_config.json (Settings > Developer > Edit Config; macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json) and restart Claude Desktop:

json
{  "mcpServers": {    "spotify-data": {      "command": "uvx",      "args": ["checkleaked-spotify-mcp"],      "env": {        "SPOTIFY_API_KEY": "your-api-key"      }    }  }}

If Claude Desktop cannot find uvx, put its full path in command (run which uvx on macOS / Linux or where uvx on Windows).

Claude Code

bash
claude mcp add spotify-data -s user -e SPOTIFY_API_KEY=your-api-key -- uvx checkleaked-spotify-mcp

Cursor

Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):

json
{  "mcpServers": {    "spotify-data": {      "command": "uvx",      "args": ["checkleaked-spotify-mcp"],      "env": {        "SPOTIFY_API_KEY": "your-api-key"      }    }  }}

VS Code (GitHub Copilot agent mode)

Add to .vscode/mcp.json. VS Code asks for the key once and stores it securely:

json
{  "inputs": [    {      "type": "promptString",      "id": "spotify-api-key",      "description": "Spotify Data API key",      "password": true    }  ],  "servers": {    "spotify-data": {      "type": "stdio",      "command": "uvx",      "args": ["checkleaked-spotify-mcp"],      "env": {        "SPOTIFY_API_KEY": "${input:spotify-api-key}"      }    }  }}

Any other MCP client

Run uvx checkleaked-spotify-mcp (stdio transport) with SPOTIFY_API_KEY in its environment. Without uvx: pip install checkleaked-spotify-mcp, then run checkleaked-spotify-mcp (or python -m checkleaked_spotify_mcp).

Docker

The same server is published as a container image (linux/amd64 and linux/arm64):

bash
docker run -i --rm -e SPOTIFY_API_KEY=your-api-key ghcr.io/eduair94/spotify-data-mcp

In a client config, use "command": "docker" with "args": ["run", "-i", "--rm", "-e", "SPOTIFY_API_KEY", "ghcr.io/eduair94/spotify-data-mcp"] and SPOTIFY_API_KEY under env. Keep -i: the server speaks MCP over stdin and stdout.

Configuration

VariableRequiredDescription
SPOTIFY_API_KEYyesYour API key (see above).
SPOTIFY_API_PROVIDERnorapidapi (RapidAPI spotify81.p.rapidapi.com) or direct (https://spotify-proxy.checkleaked.cc/spotify-data). Default: detected from the key.
SPOTIFY_API_BASEnoOverride the base URL of the chosen provider.

Without a key the server still starts, and every tool answers with an error that says where to get a free key, so you can see what is wrong from inside your chat.

Tools

All tools are read-only. Every id parameter accepts a bare id, a spotify: URI or an open.spotify.com URL (with or without /intl-xx/ and ?si=).

ToolWhat it returnsBatchRequests
searchTracks, artists, albums or playlists matching a query, with ids and URLs (optionally play counts for tracks)up to 20 hits1
get_tracksTrack details: artists, album, release date, duration, ISRC, popularity, play count; optional genres / moods / BPM / credits50 tracks1
get_track_play_countLifetime play counts with name, artists, release date50 tracks1
get_track_insightsGenres, moods, activities (with weights), BPM, credits, lyrics flag, languages50 tracks1
get_artists_statsMonthly listeners, followers, world rank, popularity, genres, top 5 cities50 artists1
get_artist_overviewProfile with stats, top tracks with play counts, latest release, discography counts, related artists, biography, links1 artist1
get_artist_insightsGenre, mood and tempo profile from the artist's top tracks20 artists1
get_related_artists"Fans also like" artists1 artist1
get_albumAlbum details and every track with its play count, plus the album total1 album1
get_playlistName, owner, followers, description and up to 100 tracks per page with play counts100 tracks2 on the first page, then 1
get_chartTop 200, viral, top artists or top albums for a country (daily or weekly, latest or by date), optional play countsup to 200 entries1
isrc_lookupSpotify tracks for an ISRC1 ISRC1

Outputs are compact JSON: ids, names, numbers and open.spotify.com URLs, with lists capped, so they fit in the model's context. Notes:

  • Spotify shows a play count of 0 for tracks with fewer than 1,000 plays.
  • Play counts are lifetime plays; chart streams are the plays in that chart's day or week.
  • Results may be cached by the API for a while (play counts about an hour).
  • Lyrics, audio downloads, webhooks, tracking and AI endpoints of the API are deliberately not exposed.

Privacy

The server only talks to the API you configure (RapidAPI's spotify81.p.rapidapi.com or spotify-proxy.checkleaked.cc). It sends your key in the x-rapidapi-key header, stores nothing on disk and has no telemetry. Requests carry a checkleaked-spotify-mcp/<version> user agent.

The hosted server passes each tool call to the same API with your key and keeps no conversation data. A key sent in the URL can appear in request logs like any URL, so prefer the Authorization header where your client supports it.

Development

bash
git clone https://github.com/eduair94/spotify-data-mcpcd spotify-data-mcppython -m venv .venv && . .venv/bin/activate   # Windows: .venv\Scripts\activatepip install -e ".[dev]"pytest                                          # offline tests (recorded API answers)SPOTIFY_MCP_LIVE=1 SPOTIFY_API_KEY=... pytest -m live   # optional live smoke test

Built on the official MCP Python SDK and the checkleaked-spotify-api SDK. API reference: spotify-proxy.checkleaked.cc/docs. Service status: spotify.checkleaked.cc/status.

License

MIT

Source: README.md at commit fbca604

Tools

13

fetch

Fetch a Spotify record

The full record behind a search result: a track (play count, album, release date, genres, moods, BPM, credits), an artist (monthly listeners, followers, world rank, top cities, top tracks), an album (every track with play counts) or a playlist (details and its first 50 tracks with play counts). Takes an id from the search results (track:<id>, artist:<id>, album:<id>, playlist:<id>), a spotify: URI or an open.spotify.com URL.

Parametersidrequired

get_tracks

Get tracks

Track details for up to 50 tracks in one call: name, artists, album, release date, duration, explicit flag, popularity, ISRC and (by default) lifetime play count. include_insights adds genres, moods, activities, BPM, credits, lyrics flag and languages. A play count of 0 means fewer than 1,000 plays.

Parameterstracksrequiredinclude_insightsinclude_play_counts

get_track_play_count

Track play counts

Lifetime Spotify play counts (streams) for up to 50 tracks in one call, with track name, artists and release date. The fastest way to compare streams. A play count of 0 means fewer than 1,000 plays.

Parameterstracksrequired

get_track_insights

Track genres, moods and BPM

Genres, moods and activities (with Spotify's 0-1 weights), tempo in BPM, credits (writers, producers), lyrics flag and vocal languages for up to 50 tracks.

Parameterstracksrequired

get_artists_stats

Artist monthly listeners and stats

Monthly listeners, followers, world rank, popularity, genres and top 5 cities (with listener counts) for up to 50 artists in one call.

Parametersartistsrequired

get_artist_overview

Artist overview

One artist's profile: monthly listeners, followers, world rank, top cities, top tracks with play counts, latest release, discography counts, related artists, biography and social links.

Parametersartistrequiredtop_tracks

get_artist_insights

Artist genres, moods and BPM

An artist's sound profile from their top tracks: genres, moods and activities with 0-1 weights, and tempo (average, min, max BPM). Up to 20 artists per call.

Parametersartistsrequired

get_album

Get album

An album with its track list and (by default) every track's lifetime play count, plus the album total, release date, label, UPC and popularity.

Parametersalbumrequiredinclude_play_counts

get_playlist

Get playlist

A playlist's name, owner, followers and description, plus `limit` tracks (max 100) from `offset` with lifetime play counts. Use next_offset from the answer to page through long playlists (later pages skip the metadata and cost one request).

Parameterslimitoffsetplaylistrequiredinclude_play_counts

get_chart

Spotify charts

Spotify Charts by country: top_tracks (Top 200), viral_tracks (Viral 50, daily only), top_artists or top_albums. Each entry has rank, previous and peak rank, days (or weeks) on the chart, movement and, for top_tracks, the streams in that period. Defaults to the latest published daily chart.

Parametersdatechartlimitperiodcountryinclude_play_counts

isrc_lookup

Find tracks by ISRC

Find the Spotify track(s) for an ISRC (International Standard Recording Code), e.g. USUG11904206. Returns ids, names, artists, album and release date.

Parametersisrcrequired

Version history

1
  1. v0.1.1LatestNov 1, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts