API and MCP

Use Music24 in Claude and ChatGPT.

Connect the Music24 MCP server to your AI assistant. Sign in with your Music24 account, then ask about charts, playlists and the artists you follow. Included with the Label plan.

Serverhttps://api.music24.com/mcpSign-inOAuthPlanLabel
Claude · Music24 connectedExample
What did the artists I follow do this week?
music24_weekly_reportThree of your artists gained playlist adds this week. LaziiBee moved most:
1LaziiBee+18 adds
2Example artist A+9 adds
3Example artist B+4 adds
AI clients

What you can ask

The assistant picks the right Music24 tool for your question. Every tool reads data. A connected assistant cannot follow, unfollow or change anything.

“Who are the top gaining artists today?”music24_top_artists
“Which tracks are climbing on playlists right now?”music24_top_tracks
“How is LaziiBee doing on playlists?”music24_artist_details
“Summarise yesterday for the artists I follow.”music24_daily_report
“What did my artists do this week?”music24_weekly_report
“What changed on this playlist?”music24_playlist_changes
AI clients

Set up your AI client

  1. In Claude, open the connectors settings and add a custom connector.
  2. Name it Music24 and paste the server URL.
  3. Connect. Sign in to Music24 and approve the access.
  4. Ask a question. Claude uses the Music24 tools when they help.
Log in before you connectThe consent screen needs a Music24 browser session. If you get signed out during the flow, sign in again and start the connection again.
Server URL
https://api.music24.com/mcp
AI clients

Sign-in and access

An AI client never gets a personal access token. It signs in with OAuth. The access token lasts one hour, and the refresh token 30 days; it rotates on use.

An OAuth token (m24at_) can only read. Sent to a write, such as a follow, it gets 403 FORBIDDEN.

To disconnect a client, remove it in Settings → API → Connected apps in the Music24 app. Its tokens stop working at once.

ToolWhat it does
music24_top_artistsTop artists on Music24’s chart, overall or gaining.
music24_top_tracksTop tracks on Music24’s chart, overall or gaining.
music24_artist_detailsAn artist’s profile plus playlist-addition and visibility stats.
music24_track_detailsA track’s profile plus playlist-addition and visibility stats.
music24_my_followsThe caller’s followed artists, tracks, and playlists.
music24_daily_reportDaily digest for the caller’s follows, today vs. yesterday.
music24_weekly_reportWeekly digest for the caller’s follows, this week vs. last.
music24_playlist_changesRecent track add/remove events for one playlist, by id.
For developers · API
Developers

Get a token

Create a token in Settings → API in the Music24 app. It needs the Label plan. The token is shown once; Music24 stores only its hash. You can hold five active tokens.

Send it in the Authorization header. Token and Bearer work the same. A personal token can read and write. Revocation is instant: the next request gets 401 UNAUTHORIZED.

A token works in the workspace that was active when you created it. While that workspace is not on the Label plan, its tokens get 403 FORBIDDEN.

Every request
Authorization: Token m24_xxxxxxxxxxxxxxxxxxxxxxxx
Developers

First request

Your token calls the endpoints under https://api.music24.com/trpc. Each endpoint is a tRPC procedure over plain HTTP, so you need no client library. JSON in, JSON out.

A read is a GET with its arguments as URL-encoded JSON in the input parameter, wrapped in { "json": … }. A write is a POST with the same JSON as the body. Every answer is wrapped in { "result": { "data": { "json": … } } }.

List endpoints page with limit and offset. Dates are ISO YYYY-MM-DD in UTC. Ids are opaque strings: store them as given.

The /v1 REST routesMusic24 also serves REST routes under https://api.music24.com/v1, described in https://api.music24.com/v1/openapi.json. They answer only to partner keys. A personal token gets 401 UNAUTHORIZED there, so use the endpoints on this page.
curl 'https://api.music24.com/trpc/artists.topGaining?input=%7B%22json%22%3A%7B%22limit%22%3A5%7D%7D' \
  -H 'Authorization: Token m24_xxxxxxxxxxxxxxxxxxxxxxxx'
Response · abridged
{
  "result": {
    "data": {
      "json": {
        "artists": [
          {
            "artistMaid": "2ab91f6e-...",
            "mainArtistName": "LaziiBee",
            "imageUrl": "https://.../laziibee.jpg",
            "addedToPlaylists": { "current": 0.42, "previous": 0.31 },
            "removedFromPlaylists": { "current": 0.02, "previous": 0.05 }
          }
        ],
        "pagination": { "limit": 5, "offset": 0 }
      }
    }
  }
}
Developers

Endpoints

A GET reads. A POST writes: it follows or unfollows. Add the name to https://api.music24.com/trpc/, for example https://api.music24.com/trpc/artists.topGaining.

An OAuth token can call every GET. A POST needs a personal token.

ChartsMusic24’s daily leaderboards: who is gaining, who is on top, right now.
GETartists.topGainingArtists with the biggest playlist-add gains today.
GETartists.topOverallArtists ranked by total playlist visibility.
GETtracks.topGainingTracks with the biggest playlist-add gains today.
GETtracks.topOverallTracks ranked by total playlist visibility.
GETplaylists.topByFollowersThe largest playlists Music24 tracks, by follower count.
GETplaylists.trendingPlaylists with the biggest follower-count gains today.
DetailsOne artist, track or playlist at a time: profile plus history.
GETartists.detailsAn artist’s profile (name, image).
GETartists.positionChangeAn artist’s chart-position history.
GETartists.playlistAdditionsPlaylists that added this artist recently.
GETartists.playlistAppearancesPlaylists this artist currently appears on.
GETartists.playlistScoreChartAn artist’s visibility score over time.
GETtracks.detailsA track’s profile, including audio features.
GETtracks.positionChangeA track’s chart-position history.
GETtracks.playlistAdditionsPlaylists that added this track recently.
GETtracks.playlistAppearancesPlaylists this track currently appears on.
GETtracks.playlistScoreChartA track’s visibility score over time.
GETtracks.recentPlaylistChangesRecent add/remove events across this track’s playlists.
GETplaylists.detailsA playlist’s profile (name, curator, followers).
GETplaylists.songsThe tracks currently on a playlist.
GETplaylists.changesA single playlist’s track add/remove history.
GETplaylists.followersTimeSeriesA playlist’s follower count over time.
Your dataThe artists, tracks and playlists you follow on Music24, plus your daily and weekly digest reports.
GETartists.followedArtistsFollowed artists, paginated, with images.
GETartists.listFollowedFollowed artist ids only — fast, no stats.
POSTartists.followFollow an artist.
POSTartists.unfollowUnfollow an artist.
GETtracks.followedTracksFollowed tracks, paginated, with images.
GETtracks.listFollowedFollowed track ids only — fast, no stats.
POSTtracks.followFollow a track.
POSTtracks.unfollowUnfollow a track.
GETplaylists.listFollowedFollowed playlist ids.
POSTplaylists.followFollow a playlist.
POSTplaylists.unfollowUnfollow a playlist.
GETreports.getMyDailyReportThe caller’s daily digest: top movers today vs. yesterday, plus the AI trends summary.
GETreports.getMyWeeklyReportThe caller’s weekly digest: top movers this week vs. last week.
InsightsStatistical signals computed on top of the daily chart data.
GETinsights.trendingUpArtists or tracks accelerating fastest right now.
GETinsights.anomaliesArtists or tracks with a statistically unusual jump.
Developers

Limits and errors

The rate limit is 30 requests per minute per user, for each endpoint. More tokens do not add headroom. Details for an artist, track or playlist you do not follow spend one daily browse credit; anything you follow is free.

Your plan sets how far back date can go and how deep offset can reach. A request past the limit gets 403 FORBIDDEN, and the message names the limit.

A failed call returns a non-2xx status. Branch on the stable code string in error.data.code, not on the message.

LimitValue
PlanLabel. Tokens and MCP connections on any other plan are rejected.
Rate30 requests per minute, per user, for each endpoint and each MCP tool.
HistoryHow far back date may reach. Plan-dependent.
PaginationHow deep offset may reach. Plan-dependent.
Browse creditsDaily. Spent on anything you do not already follow.
CodeWhen you see it
400 BAD_REQUESTThe input failed validation: a missing argument, a wrong type or malformed JSON.
401 UNAUTHORIZEDNo token, a token we cannot read, or a revoked one.
403 FORBIDDENWrong plan, past your history window, no browse credits left, or a read-only OAuth token (m24at_) that calls a write.
404 NOT_FOUNDNo artist, track or playlist with that id.
429 TOO_MANY_REQUESTSOver 30 requests in the last minute. The message names the seconds to wait.
500 INTERNAL_SERVER_ERROROur fault. Retry a read. A follow or an unfollow is safe to retry too.