OpenAPI Viewer
Fetching spec…

Spotify Web API

v1.0.0 OpenAPI 3.0.3 135 operations source upstream

You can use Spotify's Web API to discover music and podcasts, manage your Spotify library, control audio playback, and much more. Browse our available Web API endpoints using the sidebar at left, or via the navigation bar on top of this page on smaller screens.

In order to make successful Web API requests your app will need a valid access token. One can be obtained through OAuth 2.0.

The base URI for all Web API requests is https://api.spotify.com/v1.

Need help? See our Web API guides for more information, or visit the Spotify for Developers community forum to ask questions and connect with other developers.

Servers

  • https://api.spotify.com/v1

Authentication

  • oauth_2_0 oauth2 · OAuth 2.0

    Spotify supports OAuth 2.0 for authenticating all API requests.

1 parse warning
  • ignored 56 unresolvable $ref(s) under x- extensions

Library

Change Playlist Details

PUT /playlists/{playlist_id}

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Get User's Saved Episodes

GET /me/episodes

Requires oauth_2_0 (user-library-read, user-read-playback-position) — OAuth 2.0

Create Playlist

POST /users/{user_id}/playlists

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Get Followed Artists

GET /me/following

Requires oauth_2_0 (user-follow-read) — OAuth 2.0

Tracks

Get Album Tracks

GET /albums/{id}/tracks

Requires oauth_2_0 — OAuth 2.0

Get Track

GET /tracks/{id}

Requires oauth_2_0 — OAuth 2.0

Get Playlist Items

GET /playlists/{playlist_id}/tracks

Requires oauth_2_0 (playlist-read-private) — OAuth 2.0

Add Items to Playlist

POST /playlists/{playlist_id}/tracks

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Update Playlist Items

PUT /playlists/{playlist_id}/tracks

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Remove Playlist Items

DELETE /playlists/{playlist_id}/tracks

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Playlists

Get Playlist

GET /playlists/{playlist_id}

Requires oauth_2_0 — OAuth 2.0

Change Playlist Details

PUT /playlists/{playlist_id}

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Get Playlist Items

GET /playlists/{playlist_id}/tracks

Requires oauth_2_0 (playlist-read-private) — OAuth 2.0

Add Items to Playlist

POST /playlists/{playlist_id}/tracks

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Update Playlist Items

PUT /playlists/{playlist_id}/tracks

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Remove Playlist Items

DELETE /playlists/{playlist_id}/tracks

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Get User's Playlists

GET /users/{user_id}/playlists

Requires oauth_2_0 (playlist-read-private, playlist-read-collaborative) — OAuth 2.0

Create Playlist

POST /users/{user_id}/playlists

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Follow Playlist

PUT /playlists/{playlist_id}/followers

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Unfollow Playlist

DELETE /playlists/{playlist_id}/followers

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Add Custom Playlist Cover Image

PUT /playlists/{playlist_id}/images

Requires oauth_2_0 (ugc-image-upload, playlist-modify-public, playlist-modify-private) — OAuth 2.0

Player

Get Playback State

GET /me/player

Requires oauth_2_0 (user-read-playback-state) — OAuth 2.0

Transfer Playback

PUT /me/player

Requires oauth_2_0 (user-modify-playback-state) — OAuth 2.0

Get Available Devices

GET /me/player/devices

Requires oauth_2_0 (user-read-playback-state) — OAuth 2.0

Start/Resume Playback

PUT /me/player/play

Requires oauth_2_0 (user-modify-playback-state) — OAuth 2.0

Pause Playback

PUT /me/player/pause

Requires oauth_2_0 (user-modify-playback-state) — OAuth 2.0

Skip To Next

POST /me/player/next

Requires oauth_2_0 (user-modify-playback-state) — OAuth 2.0

Skip To Previous

POST /me/player/previous

Requires oauth_2_0 (user-modify-playback-state) — OAuth 2.0

Seek To Position

PUT /me/player/seek

Requires oauth_2_0 (user-modify-playback-state) — OAuth 2.0

Set Repeat Mode

PUT /me/player/repeat

Requires oauth_2_0 (user-modify-playback-state) — OAuth 2.0

Set Playback Volume

PUT /me/player/volume

Requires oauth_2_0 (user-modify-playback-state) — OAuth 2.0

Toggle Playback Shuffle

PUT /me/player/shuffle

Requires oauth_2_0 (user-modify-playback-state) — OAuth 2.0

Get the User's Queue

GET /me/player/queue

Requires oauth_2_0 (user-read-currently-playing, user-read-playback-state) — OAuth 2.0

Users

Get User's Playlists

GET /users/{user_id}/playlists

Requires oauth_2_0 (playlist-read-private, playlist-read-collaborative) — OAuth 2.0

Follow Playlist

PUT /playlists/{playlist_id}/followers

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Unfollow Playlist

DELETE /playlists/{playlist_id}/followers

Requires oauth_2_0 (playlist-modify-public, playlist-modify-private) — OAuth 2.0

Get Followed Artists

GET /me/following

Requires oauth_2_0 (user-follow-read) — OAuth 2.0

Albums

Get Album

GET /albums/{id}

Requires oauth_2_0 — OAuth 2.0

Get Album Tracks

GET /albums/{id}/tracks

Requires oauth_2_0 — OAuth 2.0

Get New Releases

GET /browse/new-releases

Requires oauth_2_0 — OAuth 2.0

Artists

Get Artist

GET /artists/{id}

Requires oauth_2_0 — OAuth 2.0

Get Followed Artists

GET /me/following

Requires oauth_2_0 (user-follow-read) — OAuth 2.0

Audiobooks

Get an Audiobook

GET /audiobooks/{id}

Requires oauth_2_0 — OAuth 2.0

Episodes

Get Show Episodes

GET /shows/{id}/episodes

Requires oauth_2_0 (user-read-playback-position) — OAuth 2.0

Get Episode

GET /episodes/{id}

Requires oauth_2_0 (user-read-playback-position) — OAuth 2.0

Get Several Episodes

GET /episodes

Requires oauth_2_0 (user-read-playback-position) — OAuth 2.0

Get User's Saved Episodes

GET /me/episodes

Requires oauth_2_0 (user-library-read, user-read-playback-position) — OAuth 2.0

Shows

Get Show

GET /shows/{id}

Requires oauth_2_0 (user-read-playback-position) — OAuth 2.0

Get Show Episodes

GET /shows/{id}/episodes

Requires oauth_2_0 (user-read-playback-position) — OAuth 2.0

Categories

Chapters

Get a Chapter

GET /chapters/{id}

Requires oauth_2_0 — OAuth 2.0

Genres

Markets