> ## Documentation Index
> Fetch the complete documentation index at: https://nango.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Spotify

## Overview

> [card] [Pre-built tooling](#pre-built-tooling)

> [card] [Pre-built integrations](#pre-built-integrations)

> [card] [Access requirements](#access-requirements)

> [card] [Setup guide](#setup-guide)

> [card] [Useful links](#useful-links)

> [card] [API gotchas](#api-gotchas)

## Pre-built tooling

> [accordion] ✅ Authorization
>
> | Tools | Status |
> | - | - |
> | Pre-built authorization (OAuth) | ✅ |
> | Credentials auto-refresh | ✅ |
> | Auth parameters validation | ✅ |
> | Pre-built authorization UI | ✅ |
> | Custom authorization UI | ✅ |
> | Expired credentials detection | ✅ |

> [accordion] ✅ Read & write data
>
> | Tools | Status |
> | - | - |
> | Pre-built integrations | ✅ |
> | API unification | ✅ |
> | 2-way sync | ✅ |
> | Webhooks from Nango on data modifications | ✅ |
> | Real-time webhooks from 3rd-party API | 🚫 (time to contribute: \<48h) |
> | Proxy requests | ✅ |

> [accordion] ✅ Observability & data quality
>
> | Tools | Status |
> | - | - |
> | HTTP request logging | ✅ |
> | End-to-end type safety | ✅ |
> | Data runtime validation | ✅ |
> | OpenTelemetry export | ✅ |
> | Slack alerts on errors | ✅ |
> | Integration status API | ✅ |

> [accordion] ✅ Customization
>
> | Tools | Status |
> | - | - |
> | Create or customize use-cases | ✅ |
> | Pre-configured pagination | 🚫 (time to contribute: \<48h) |
> | Pre-configured rate-limit handling | 🚫 (time to contribute: \<48h) |
> | Per-customer configurations | ✅ |

### Others

| Function name | Description | Type |
| - | - | - |
| `add-to-queue` | Add a track or episode to the end of the user's current playback queue. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-playlist-track` | Add one or more tracks to a Spotify playlist | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-playlist` | Create a playlist in Spotify | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-saved-album` | Save one or more albums to the current user's library. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-saved-track` | Save one or more tracks to the current user's library. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-playlist-track` | Remove one or more tracks from a Spotify playlist | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-playlist` | Unfollow (remove) a playlist from the current user's library | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-saved-album` | Remove one or more albums from the current user's library. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-saved-show` | Remove one or more shows (podcasts) from the current user's library. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-saved-track` | Remove one or more tracks from the current user's library. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `follow-artist` | Follow one or more artists on behalf of the current user. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `follow-playlist` | Follow a playlist on behalf of the current user | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-album` | Retrieve a single album from the Spotify catalog. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-artist` | Retrieve a single artist from the Spotify catalog. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-current-playback` | Fetch the user's current playback state including device, track, and progress. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-current-user` | Fetch the current Spotify user profile | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-devices` | List the user's available Spotify Connect devices | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-episode` | Retrieve a single podcast episode from the Spotify catalog. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-playlist` | Retrieve a single playlist from Spotify | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-queue` | Retrieve the user's current playback queue. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-show` | Retrieve a single show (podcast) from the Spotify catalog | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-track` | Retrieve a single track from the Spotify catalog. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-albums` | List albums saved in the current user's library. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-artists` | List artists followed by the current user | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-playlist-tracks` | List tracks in a Spotify playlist. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-playlists` | List playlists owned or followed by the current user. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-saved-shows` | List shows (podcasts) saved in the current user's library | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-saved-tracks` | List tracks saved in the current user's library. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `pause-playback` | Pause the user's Spotify playback. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `reorder-playlist-tracks` | Reorder tracks within a Spotify playlist. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `search` | Search the Spotify catalog for tracks, albums, artists, playlists, shows, or episodes. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `seek-to-position` | Seek to a specific position in the currently playing track. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `set-repeat-mode` | Set the repeat mode for the user's playback. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `set-volume` | Set the volume for the user's current playback device. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `skip-to-next` | Skips to the next track in the user's queue. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `skip-to-previous` | Skip to the previous track in the user's queue | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `start-playback` | Start or resume Spotify playback, optionally on a specific device or with a context | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `toggle-shuffle` | Toggle shuffle mode on or off for the user's playback | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `transfer-playback` | Transfer playback to a different Spotify Connect device | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `unfollow-playlist` | Unfollow a playlist on behalf of the current user | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-playlist` | Update a playlist's details (name, description, public/private status). | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `albums` | Sync albums saved in the current user's library | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `artists` | Sync artists followed by the current user. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `playlist-tracks` | Sync tracks for a given playlist | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `playlists` | Sync playlists owned or followed by the current user | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `recently-played` | Sync recently played Spotify tracks | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `saved-episodes` | Sync podcast episodes saved in the current user's library. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `saved-shows` | Sync shows (podcasts) saved in the current user's library | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `saved-tracks` | Sync tracks saved in the current user's library | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `top-items` | Sync the user's top artists and tracks across all time ranges. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |

## Access requirements

| Pre-Requisites | Status | Comment |
| - | - | - |
| Paid dev account | ❓ | |
| Paid test account | ❓ | |
| Partnership | ❓ | |
| App review | ❓ | |
| Security audit | ❓ | |

## Setup guide

*No setup guide yet.*

> [!TIP]
>
> Need help getting started? Get help in the [community](https://nango.dev/slack).

> [!NOTE]
>
> Contribute improvements to the setup guide by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/spotify.mdx)

## Useful links

* [OAuth-related docs](https://developer.spotify.com/documentation/web-api/tutorials/code-flow)
* [How Register an Application](https://developer.spotify.com/documentation/web-api/concepts/apps)
* [Scopes](https://developer.spotify.com/documentation/web-api/concepts/scopes)
* [Web API docs (their REST API)](https://developer.spotify.com/documentation/web-api)

> [!NOTE]
>
> Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/spotify.mdx)

## API gotchas

* Spotify offers a client credentials token that authorizes as app instead of a user. This is listed under `spotify-oauth2-cc`. For more details check [spotify client credentials flow](https://developer.spotify.com/documentation/web-api/tutorials/client-credentials-flow)
  \[!NOTE] Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/spotify.mdx)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.