# Services and features
URL: https://musicapi.com/docs/get-started/services-and-features.md

> The music services a user can connect, and what the API can do on each one. Generated from the same service metadata as the API.

Product: MusicAPI Core and MusicAPI Managed Transfers. Section: Get started.

Music services differ in what their APIs allow. The table shows what MusicAPI can do on each service for a connected user. It is built from the same service metadata that the API uses, so it changes when a service changes.

| Service | Id | Status | Update playlists | Remove tracks | Library albums | Library artists | Search by ISRC | Returns ISRC | Page size max | Tracks per playlist |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Spotify | spotify | live | yes | yes | yes | yes | yes | yes | 50 | 10000 |
| Apple Music | appleMusic | live | no | no | yes | yes | yes | yes | 25 | — |
| YouTube | youtube | live | yes | yes | no | no | no | no | 50 | — |
| Tidal | tidal | live | yes | no | yes | yes | no | yes | 20 | — |
| Amazon Music | amazonMusic | live | yes | yes | yes | yes | yes | yes | 100 | 2500 |
| Deezer | deezer | live | yes | yes | yes | yes | no | no | 50 | 2000 |
| SoundCloud | soundCloud | live | yes | yes | no | yes | no | yes | 50 | 500 |
| Boomplay | boomplay | live | yes | yes | yes | no | yes | yes | 50 | — |
| Audiomack | audiomack | live | yes | yes | yes | yes | no | yes | 50 | — |
| Audius | audius | live | yes | yes | no | no | no | no | 50 | — |
| Qobuz | qobuz | live | yes | yes | yes | yes | no | yes | 500 | 1000 |
| Resso | resso | no longer available | no | no | no | no | no | no | — | — |

Setup guides: [Spotify](https://musicapi.com/docs/connect-users/configure-spotify.md), [Apple Music](https://musicapi.com/docs/connect-users/configure-apple-music.md), [YouTube](https://musicapi.com/docs/connect-users/configure-youtube.md), [Tidal](https://musicapi.com/docs/connect-users/configure-tidal.md), [Amazon Music](https://musicapi.com/docs/connect-users/configure-amazon-music.md), [Deezer](https://musicapi.com/docs/connect-users/configure-deezer.md), [SoundCloud](https://musicapi.com/docs/connect-users/configure-soundcloud.md), [Boomplay](https://musicapi.com/docs/connect-users/configure-boomplay.md), [Audiomack](https://musicapi.com/docs/connect-users/configure-audiomack.md), [Audius](https://musicapi.com/docs/connect-users/configure-audius.md), [Qobuz](https://musicapi.com/docs/connect-users/configure-qobuz.md)

## Read the table

- **Update playlists**: rename a playlist and change its description. Creating a playlist and adding tracks work on every live service.
- **Remove tracks**: remove items from a playlist or from the liked tracks.
- **Library albums** and **Library artists**: read the saved albums and the followed artists.
- **Search by ISRC**: the user search (`POST /api/{integrationUserUUID}/search`) takes an `isrc`.
- **Returns ISRC**: tracks in answers carry an `isrc`. Matching across services is better when both sides have it.
- **Page size max**: the highest `limitParam` the service takes. A higher value is cut to this.
- **Tracks per playlist**: the service's own cap on playlist length.

A call that a service does not support answers `418` with `internalCode: 15` (`NotSupportedMethod`).

## Services that are not available

**Resso** shut down, and MusicAPI no longer supports it. See [Resso](https://musicapi.com/docs/connect-users/configure-resso.md).

**Napster** is no longer supported. Napster closed its music streaming service in January 2026 ([Digital Music News](https://www.digitalmusicnews.com/2026/01/02/napster-music-streaming-shut-down-ai-pivot/)), so its public and authenticated endpoints stopped working.

## Demo services

Two services exist only for tests and demos. They need no sign-in and never show in a public service list.

| Service        | Integration type | What it does                                            |
| -------------- | ---------------- | ------------------------------------------------------- |
| Demoify        | `demo`           | A pretend destination. It keeps what a transfer writes. |
| Sample library | `sample`         | A fixed sample library to read from.                    |

The docs sandbox and [Demoify](https://musicapi.com/docs/managed-transfers/demoify.md) use them.

## Catalog search sources

The catalog endpoints (no connected user) cover their own list of services. Ask the API for the live list:

```bash
curl "https://api.musicapi.com/public/search/introspection" \
  -H "Authorization: Token $MUSICAPI_CLIENT_ID"
```

```json
{
  "sources": ["spotify", "appleMusic", "deezer", "tidal", "youtube"],
  "authSources": ["spotify", "appleMusic", "youtube", "tidal"],
  "types": ["track", "album", "artist"]
}
```

`sources` are the values that `POST /public/search` and `POST /public/search/match` take. `authSources` are the services a user can connect.
