Spotify Web API
  1. category-playlists
Spotify Web API
  • category-albums
    • Get Multiple Albums
      GET
    • Get an Album
      GET
    • Get an Album's Tracks
      GET
  • category-artists
    • Get Multiple Artists
      GET
    • Get an Artist
      GET
    • Get an Artist's Albums
      GET
    • Get an Artist's Related Artists
      GET
    • Get an Artist's Top Tracks
      GET
  • category-tracks
    • Get Audio Analysis for a Track
      GET
    • Get Audio Features for Several Tracks
      GET
    • Get Audio Features for a Track
      GET
    • Get Several Tracks
      GET
    • Get a Track
      GET
  • category-browse
    • Get All Categories
      GET
    • Get a Category
      GET
    • Get a Category's Playlists
      GET
    • Get All Featured Playlists
      GET
    • Get All New Releases
      GET
    • Get Recommendations
      GET
    • Get Recommendation Genres
      GET
  • category-episodes
    • Get Multiple Episodes
    • Get an Episode
  • category-markets
    • Get Available Markets
  • category-users-profile
    • Get Current User's Profile
    • Get a User's Profile
  • category-library
    • Remove Albums for Current User
    • Get User's Saved Albums
    • Save Albums for Current User
    • Check User's Saved Albums
    • Remove User's Saved Episodes
    • Get User's Saved Episodes
    • Save Episodes for User
    • Check User's Saved Episodes
    • Remove User's Saved Shows
    • Get User's Saved Shows
    • Save Shows for Current User
    • Check User's Saved Shows
    • Remove User's Saved Tracks
    • Get User's Saved Tracks
    • Save Tracks for User
    • Check User's Saved Tracks
  • category-follow
    • Unfollow Artists or Users
    • Get User's Followed Artists
    • Follow Artists or Users
    • Get Following State for Artists/Users
    • Unfollow Playlist
    • Follow a Playlist
    • Check if Users Follow a Playlist
  • category-player
    • Get Information About The User's Current Playback
    • Transfer a User's Playback
    • Get the User's Currently Playing Track
    • Get a User's Available Devices
    • Skip User’s Playback To Next Track
    • Pause a User's Playback
    • Start/Resume a User's Playback
    • Skip User’s Playback To Previous Track
    • Add an item to queue
    • Get Current User's Recently Played Tracks
    • Set Repeat Mode On User’s Playback
    • Seek To Position In Currently Playing Track
    • Toggle Shuffle For User’s Playback
    • Set Volume For User's Playback
  • category-playlists
    • Get a List of Current User's Playlists
      GET
    • Get a Playlist
      GET
    • Change a Playlist's Details
      PUT
    • Get a Playlist Cover Image
      GET
    • Upload a Custom Playlist Cover Image
      PUT
    • Remove Items from a Playlist
      DELETE
    • Get a Playlist's Items
      GET
    • Add Items to a Playlist
      POST
    • Reorder or Replace a Playlist's Items
      PUT
    • Get a List of a User's Playlists
      GET
    • Create a Playlist
      POST
  • category-personalization
    • Get a User's Top Artists and Tracks
  • category-search
    • Search for an Item
  • category-shows
    • Get Multiple Shows
    • Get a Show
    • Get a Show's Episodes
  1. category-playlists

Add Items to a Playlist

Developing
POST
/playlists/{playlist_id}/tracks
category-playlists
Add one or more items to a user's playlist.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.spotify.com/v1/playlists//tracks' \
--header 'Authorization;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "position": 0,
    "uris": [
        "string"
    ]
}'
Response Response Example
200 - Example 1
{
    "error": {
        "message": "string",
        "status": 0
    }
}

Request

Path Params
playlist_id
string 
required
The Spotify ID for the playlist.
Query Params
position
integer 
optional
The position to insert the items, a zero-based index. For example, to insert the items in the first position: position=0; to insert the items in the third position: position=2 . If omitted, the items will be appended to the playlist. Items are added in the order they are listed in the query string or request body.
uris
string 
optional
A comma-separated list of Spotify URIs to add, can be track or episode URIs. For example:
uris=spotify:track:4iV5W9uYEdYUVa79Axb7Rh, spotify:track:1301WleyT98MSxVHPZCA6M, spotify:episode:512ojhOuo1ktJprKbVcKyQ
A maximum of 100 items can be added in one request. Note: it is likely that passing a large number of item URIs as a query parameter will exceed the maximum length of the request URI. When adding a large number of items, it is recommended to pass them in the request body, see below.
Header Params
Authorization
string 
required
A valid access token from the Spotify Accounts service: see the Web API Authorization Guide for details. The access token must have been issued on behalf of the user.
Adding items to the current user's public playlists requires authorization of the playlist-modify-public scope; adding items to the current user's private playlist (including collaborative playlists) requires the playlist-modify-private scope. See Using Scopes.
Content-Type
string 
required
Required if URIs are passed in the request body, otherwise ignored. The content type of the request body: application/json
Body Params application/json
position
integer <int32>
optional
The position to insert the items, a zero-based index. For example, to insert the items in the first position: position=0 ; to insert the items in the third position: position=2. If omitted, the items will be appended to the playlist. Items are added in the order they appear in the uris array. For example: {"uris": ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh","spotify:track:1301WleyT98MSxVHPZCA6M"], "position": 3}
uris
array[string]
optional
A JSON array of the Spotify URIs to add. For example: {"uris": ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh","spotify:track:1301WleyT98MSxVHPZCA6M", "spotify:episode:512ojhOuo1ktJprKbVcKyQ"]}
A maximum of 100 items can be added in one request. Note: if the uris parameter is present in the query string, any URIs listed here in the body will be ignored.
Examples

Responses

🟢200OK
application/json
Body
error
object (ErrorObject) 
optional
message
string 
optional
A short description of the cause of the error.
status
integer <int32>
optional
The HTTP status code (also returned in the response header; see Response Status Codes for more information).
🟢201On success, the HTTP status code in the response header is `201` Created. The response body contains a `snapshot_id` in JSON format. The `snapshot_id` can be used to identify your playlist version in future requests. On error, the header status code is an
Previous
Get a Playlist's Items
Next
Reorder or Replace a Playlist's Items
Built with