Help Wizard

Step 1


Api to create a private playlist doesn't work

Api to create a private playlist doesn't work







iPhone 13

Operating System

iOS 15


My Question or Issue

I'm hitting the API to create a playlist 


POST: "/users/\(userId)/playlists"


with isPublic=false and isCollaborative=false in the body. The playlist is created successfully but is public instead of private. The scopes I have authorized are [playlistModifyPublic and playlistModifyPrivate]

29 Replies

I wrote "isPublic" and "isCollaborative" but the keys I am sending are "public" and "collaborative"

I'm having the same issue. The response to my POST request says the new playlist is private (public:false), but in Spotify app the playlist is public.

I'm having the same issue. The response to my POST request says the new playlist is private (public:false), but in Spotify app the playlist is public.

Same issue here. The create playlist API is called and even returns public: false, but when you go on spotify it is public. My scopes are correct as well.

Same/similar issue here. It seems to me like the behaviour/data of the public/private setting is inconsistent in general. I have public and private playlists in my Spotify account, but they are all shown as private (public: false) in the API. When changing it to public: true or public: false using the API, there's no change in the Spotify app. Looks to me like the public setting API is without any function.

That's because before a curtain date, there were only two types of privacy states: "On profile" called "public" and "Not on profile" called "private". After the addition of real private playlists in app, they did change anything of the API, so the "private" of the API still means "Not on profile". Also, they haven't added the functionality to make a real private playlist yet.

Same issue here with same parameters and same scope

Same issue for me, hope they will fix this soon

Same issue here. 

Still having the same issue now.

The script or program needs to get an OAuth Token it gets through the Authorization Code Flow with the scopes playlist-modify-public and playlist-modify-private.

I have those auth-scopes selected. It still does not work though

Okay. Have you read my previous comment?

I have the same issue. It's not an implementation issue as it's the same issue with the console.


  1. Go to
  2. Request a new access token with the 2 required scopes
  3. Create a playlist with "public: false" like:


  "name": "Private playlist",
  "description": "New playlist description",
  "public": false


The playlist is public anyway:



The API documentation is pretty clear:

public boolean

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

I read @Ximzend comment but all this "on profile" seems very complicated. In app we have the option to toggle between "private" and "public" playlists, the api doc give us a "public" boolean saying that sending "false" will create a "private" playlist but it does not. It seems like a bug on the API side, can we expect a fix ?

The API and documentation are outdated. There's no way to create a private playlist yet; only playlists that are not displayed on profile.

I am experiencing the same issue. The App interprets the "public:false" playlists generated via the API as "Public Playlist". However, they don't appear on the user's public profile. So there is some level of privacy. I think the App (mobile and desktop) interpret {public:false} flag as "do not list on user's profile". 

I am surprised that the issue was reported 10 months ago but there hasn't been a fix. Is there an issue tracking system where this bug can be submitted and tracked? 

@kgmodi, if you want to place a playlist on someone's profile, public should be true.

Playlists can't be private and on a profile at the same time.

Same issue here. Any way for us to track this?


Why is public=False even allowed using the playlist-modify-private scope? It seems counter intuitive. 

I was able to verify that with public=false, you can still place have the playlist on the user's profile. However, if someone access the user profile using{userId} they won't be able to see the public=false playlists. 

Suggested posts