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

Create a Playlist

Developing
POST
/users/{user_id}/playlists
category-playlists
Create a playlist for a Spotify user. (The playlist will be empty until
you add tracks.)
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.spotify.com/v1/users//playlists' \
--header 'Authorization;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "collaborative": true,
    "description": "string",
    "name": "string",
    "public": true
}'
Response Response Example
200 - Example 1
{
  "collaborative": true,
  "description": "string",
  "external_urls": {
    "spotify": "string"
  },
  "followers": {
    "href": "string",
    "total": 0
  },
  "href": "string",
  "id": "string",
  "images": [
    {
      "height": 0,
      "url": "string",
      "width": 0
    }
  ],
  "name": "string",
  "owner": {
    "display_name": "string",
    "external_urls": {
      "spotify": "string"
    },
    "followers": {
      "href": "string",
      "total": 0
    },
    "href": "string",
    "id": "string",
    "images": [
      {
        "height": 0,
        "url": "string",
        "width": 0
      }
    ],
    "type": "string",
    "uri": "string"
  },
  "public": true,
  "snapshot_id": "string",
  "tracks": {
    "href": "string",
    "items": [
      {
        "added_at": "2019-08-24T14:15:22Z",
        "added_by": {
          "display_name": "string",
          "external_urls": {
            "spotify": "string"
          },
          "followers": {
            "href": "string",
            "total": 0
          },
          "href": "string",
          "id": "string",
          "images": [
            {
              "height": 0,
              "url": "string",
              "width": 0
            }
          ],
          "type": "string",
          "uri": "string"
        },
        "is_local": true,
        "track": {
          "album": {
            "album_group": "string",
            "album_type": "string",
            "artists": [
              {
                "external_urls": {
                  "spotify": "string"
                },
                "href": "string",
                "id": "string",
                "name": "string",
                "type": "string",
                "uri": "string"
              }
            ],
            "available_markets": [
              "string"
            ],
            "external_urls": {
              "spotify": "string"
            },
            "href": "string",
            "id": "string",
            "images": [
              {
                "height": 0,
                "url": "string",
                "width": 0
              }
            ],
            "name": "string",
            "release_date": "string",
            "release_date_precision": "string",
            "restrictions": {
              "reason": "string"
            },
            "total_tracks": 0,
            "type": "string",
            "uri": "string"
          },
          "artists": [
            {
              "external_urls": {
                "spotify": "string"
              },
              "followers": {
                "href": "string",
                "total": 0
              },
              "genres": [
                "string"
              ],
              "href": "string",
              "id": "string",
              "images": [
                {
                  "height": 0,
                  "url": "string",
                  "width": 0
                }
              ],
              "name": "string",
              "popularity": 0,
              "type": "string",
              "uri": "string"
            }
          ],
          "available_markets": [
            "string"
          ],
          "disc_number": 0,
          "duration_ms": 0,
          "explicit": true,
          "external_ids": {
            "ean": "string",
            "isrc": "string",
            "upc": "string"
          },
          "external_urls": {
            "spotify": "string"
          },
          "href": "string",
          "id": "string",
          "is_local": true,
          "is_playable": true,
          "linked_from": {
            "external_urls": {
              "spotify": "string"
            },
            "href": "string",
            "id": "string",
            "type": "string",
            "uri": "string"
          },
          "name": "string",
          "popularity": 0,
          "preview_url": "string",
          "restrictions": {
            "reason": "string"
          },
          "track_number": 0,
          "type": "string",
          "uri": "string"
        }
      }
    ],
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "type": "string",
  "uri": "string"
}

Request

Path Params
user_id
string 
required
The user's Spotify user ID.
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. Creating a public playlist for a user requires authorization of the playlist-modify-public scope; creating a private playlist requires the playlist-modify-private scope. See Using Scopes.
Content-Type
string 
optional
The content type of the request body: application/json
Body Params application/json
collaborative
boolean 
optional
Defaults to false . If true the playlist will be collaborative. Note that to create a collaborative playlist you must also set public to false . To create collaborative playlists you must have granted playlist-modify-private and playlist-modify-public scopes .
description
string 
optional
value for playlist description as displayed in Spotify Clients and in the Web API.
name
string 
required
The name for the new playlist, for example "Your Coolest Playlist" . This name does not need to be unique; a user may have several playlists with the same name.
public
boolean 
optional
Defaults to true . If true the playlist will be public, if false it will be private. To be able to create private playlists, the user must have granted the playlist-modify-private scope
Examples

Responses

🟢200On success, the response body contains the created [playlist object](https://developer.spotify.com/documentation/web-api/reference/#object-playlistobject) in JSON format and the HTTP status code in the response header is `200` OK or `201` Created. There i
application/json
Body
collaborative
boolean 
optional
true if the owner allows other users to modify the playlist.
description
string 
optional
The playlist description. Only returned for modified, verified playlists, otherwise null.
external_urls
object (ExternalUrlObject) 
optional
spotify
string 
optional
The Spotify URL for the object.
followers
object (FollowersObject) 
optional
href
string 
optional
A link to the Web API endpoint providing full details of the followers; null if not available. Please note that this will always be set to null, as the Web API does not support it at the moment.
total
integer <int32>
optional
The total number of followers.
href
string 
optional
A link to the Web API endpoint providing full details of the playlist.
id
string 
optional
The Spotify ID for the playlist.
images
array[object (ImageObject) {3}] 
optional
Images for the playlist. The array may be empty or contain up to three images. The images are returned by size in descending order. See Working with Playlists. Note: If returned, the source URL for the image (url) is temporary and will expire in less than a day.
height
integer <int32>
optional
The image height in pixels.
url
string 
optional
The source URL of the image.
width
integer <int32>
optional
The image width in pixels.
name
string 
optional
The name of the playlist.
owner
object (PublicUserObject) 
optional
display_name
string 
optional
The name displayed on the user's profile. null if not available.
external_urls
object (ExternalUrlObject) 
optional
followers
object (FollowersObject) 
optional
href
string 
optional
A link to the Web API endpoint for this user.
id
string 
optional
The Spotify user ID for this user.
images
array[object (ImageObject) {3}] 
optional
The user's profile image.
type
string 
optional
The object type.
uri
string 
optional
The Spotify URI for this user.
public
boolean 
optional
The playlist's public/private status: true the playlist is public, false the playlist is private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists
snapshot_id
string 
optional
The version identifier for the current playlist. Can be supplied in other requests to target a specific playlist version
tracks
object 
optional
Information about the tracks of the playlist. Note, a track object may be null. This can happen if a track is no longer available.
href
string 
optional
A link to the Web API endpoint returning the full result of the request
items
array[object (PlaylistTrackObject) {4}] 
optional
The requested data.
limit
integer <int32>
optional
The maximum number of items in the response (as set in the query or by default).
next
string 
optional
URL to the next page of items. ( null if none)
offset
integer <int32>
optional
The offset of the items returned (as set in the query or by default)
previous
string 
optional
URL to the previous page of items. ( null if none)
total
integer <int32>
optional
The total number of items available to return.
type
string 
optional
The object type: "playlist"
uri
string 
optional
The Spotify URI for the playlist.
🟢201On success, the response body contains the created [playlist object](https://developer.spotify.com/documentation/web-api/reference/#object-playlistobject) in JSON format and the HTTP status code in the response header is `200` OK or `201` Created. There i
🔴500500
Modified at 2022-09-12 10:04:50
Previous
Get a List of a User's Playlists
Next
Get a User's Top Artists and Tracks
Built with