Announcements

Help Wizard

Step 1

NEXT STEP

FAQs

Please see below the most popular frequently asked questions.

Loading article...

Loading faqs...

VIEW ALL

Ongoing Issues

Please see below the current ongoing issues which are under investigation.

Loading issue...

Loading ongoing issues...

VIEW ALL

Playlist Takedown Notification

Solved!

Playlist Takedown Notification

Plan

Premium

Country

Brazil

Device

(Samsung Galaxy A71, Windows 10)

Operating System

(Android)

 

My Question or Issue

 

I got emails saying my playlists had been taken down. Below is the text of one of the emails:

 

'Hello,

We have found the following content to be in violation of our content policies, and we have removed it. Please see our Spotify Terms and Conditions of Use for more information.

(Playlist url code)
Regards,

Spotify'

 

The big question is: What is it about? What was the violation and why am I allegedly in breach of Spotify's Terms and Conditions of Use?

 

I've been using Spotify on the Premium plan for years, and that's just now (and with my biggest playlists). They lost their name and photo. My playlists have become the second largest in the category they are in, so I have strong suspicions that the takedowns are due to malicious reports.

 

I humbly and kindly ask for an explanation of what happened and why it happened and a solution.

 

Sincerely,

Lucas.

Reply
180 Replies

Hello everyone,

 

I wanted to share my experience with a frustrating issue that some of you might be going through as well. I manage a playlist with over 10k followers, and suddenly, I started receiving numerous reports on it. It was incredibly irritating and seemed like someone was deliberately targeting my playlist.

 

After researching and reaching out to Spotify support, which unfortunately didn't yield any results, I decided to investigate further. My suspicion was that a bot had been deployed to repeatedly report my playlist. To confirm my theory, I created a different Spotify account to see if my playlist had been copied. To my dismay, I discovered that my playlist had been copied multiple times by others.

 

This situation made me quite upset, and I couldn't just stand by and accept it. So, I took matters into my own hands and developed a script to counteract this bot. It was a challenging journey since I had never created a script before, but after a lot of research and effort, I successfully created a script that constantly refreshed and updated my playlist whenever it was reported.

 

I'm delighted to say that my playlist is now back in action and can be found again. I know that many of you might be facing similar issues, and Spotify's support might not always provide a quick solution. That's why I'm here to offer my help. If you're interested in the script I created to protect your playlists, please feel free to reach out to me by sending an reply

 

I'm more than willing to assist you in resolving this issue and protecting your hard-earned playlists.

 

Let's support each other and keep our playlists thriving on Spotify!

Thanks Sandtmann!

I created the "renaming" script using Python, and ChatGPT. Pretty amazing. Your post about creating a script got me thinking along lines I never imagined I'd be wandering down. Thanks to the folks at OpenAI I don't have to do this manually anymore. The sad part about it is, that Spotify created this problem, where there really wasn't a problem before. Sigh.

I second your thought - if anyone needs help with the renaming script, feel free to reach out. I'd be glad to help with creating an automatic script to rewrite the name of your playlist. So you don't have to do it manually.

 

yaktam61

So too early to tell, but here is what transpired, since I put some effort into this. The reports have stopped and I have had no "Takedowns" since I implemented the autoscript on Saturday. The script runs everyday.

Not sure if it was because I was posting so much, that an admin saw my plight, and worked his/her magic in the background.
Or
The person responsible is watching this thread. And simply gave up. 
Or
The person just took a break. 🙂
Or
The troops decided to pack up the siege engine and head towards a castle that doesn't lob the boulders back at them.

I'll post again in a week's time if the onslaught has continued.

Remember, if you want a permanent solution, just reach out.

Nope. 

The heathens have decided to continue lobbing boulders over the wall, even though we're loading them up and throwing them right back at them.

But now there is a twist.

Whereas last week, only the TITLE of the PLAYLIST was being deleted, now the DESCRIPTION is being smoked as well. 

No matter. 

With ChatGPT's assistance, I added a few lines of code, and that is being auto-fixed now as well.

Let the games continue. 🙂

We have automatically removed the following content after receiving a report:  URI/URL: spotify:playlist:XXX Content Type: PLAYLIST Please see our Platform Rules for more information.  Please do not reply to this email.

 

Spotify, if you're gonna**bleep** like this, be specific in your email. Why did it happen?

Another one at 4:37 AM (CST). 

Hello,

We have automatically removed the following content after receiving a report:

URI/URL: spotify:playlist:3pRv8t2iXYOsTwbavacMpX
Content Type: PLAYLIST

Please see our Platform Rules for more information.

Please do not reply to this email.

Spotify

As usual, no reason why.
Playlist was down for just under 5 hours.
ChatGPT/Spotify Script ran at 9:00AM.
Playlist back up and running.

Not sure why you want to keep torturing your paying clients, Spotify?

Hi Elli_jayne,
When you get "Taken Down" what disappears? 
The playlist name?
The picture?
The description?
All of the above or only some of the above?

And so it continues. At 3:20 AM (CST) last night:

Hello,

We have automatically removed the following content after receiving a report:

URI/URL: spotify:playlist:3pRv8t2iXYOsTwbavacMpX
Content Type: PLAYLIST

Please see our Platform Rules for more information.

Please do not reply to this email.

Spotify

At 9:00 AM, my script ran and put the playlist back as it was. LoL. 

How many of these posts will it take Spotify to change their ways?

Weekly update.

The script still runs. The poor sod(s) have upped the ante to reporting the playlist twice a day. LoL. I simply updated the schedule to run the script every hour. 

Spotify? Really?

I have received an email notifying me that my public playlist was removed for violating TC. I have not violated any TC and I have read through the TC twice over.

 

I have emailed 4 times. Spoke to agents on the spotify support website who give me the same answer which is "refer to the email" which is a no-reply email. I have messaged spotify cares on Twitter. I am not getting help.

 

I pay for a music catalog which I own the rights to. I represent independent artists who are on spotify. I am requesting to know what TC I specifically broke because I cannot find any. I am not sure if this is a malicious attack made against my playlist or an automated bot mistake.

 

I need my playlist back to help get more listeners to the artists I support. I have spent many hours curating and assembling this playlist. It has been over 1 week now with no support from Spotify.

Screenshot_20231130_135243_Gmail.jpg

Simple solution:

https://open.spotify.com

Playlists. Your Playlists. Sort Alphabetically. Look for the "greyed out" playlist. That is your "delisted" playlist. Rename it, add a new description or picture (if necessary) and save it. Your playlist is back in action!

But now the real fun begins. If you have to repeat this, day in day out, come back here for a Python script using Spotify's WEB API, to automagically rename your playlist (and add a new description if necessary) as many times a day as you want.

Good luck!

@willseagon did they take it down/delete it or private the playlist? just wondering bc most of my playlists are private and I received this notification, so im trying to figure out if someone reported it or if it was Spotify’s automatic system.

Lol. That makes absolutely even less sense. Why would Spotify care what you named your own "private" playlist? Wow.

I send you a pm, how to do this with the script. Having the same issues and Spotify doesn't help me with this issue.

So I tried to post the script here. But Spotify labelled the script as Spam. And took it down. LoL.

This reply was marked as spam and has been removed. If you believe this is an error, submit an abuse report.

So here is what you need to do. Yourself. As it looks like Spotify won't let me post the script. I'll try a few more times, as I think the script may be benign. But the links in my reply may be causing the issue.

Start up an account at ChatGPT.
Ask the simple question, 

"Could you help me create a script that would help me rename a Spotify playlist?"

Follow its instructions. If you get errors or get stuck, ask ChatGPT more questions. 

Best of luck!

Spotify is classifying my post as Spam. I've removed links in the post below, as well as modifying HTTP lines.

Here we go again.


I'll do you one better tom101 and post that reply here.

The following is a Python Script. ChatGPT helped me build it. ChatGPT responses are italicized. My words are not. The following question created the script.

"Hi ChatGPT. Could you help me create a script that would help me rename a Spotify playlist?"

The answer came back as follows:

 

Sure, I can help you with that! To rename a Spotify playlist using a script, you'll first need to use the Spotify Web API. The process involves several steps:

  1. Register Your Application: Go to the Spotify Developer Dashboard and create an application. This is necessary to get your Client ID and Client Secret.
  2. Authorization: Spotify uses OAuth 2.0 for authentication and authorization. You'll need to implement an OAuth flow to obtain an access token that allows you to make API calls.
  3. Renaming the Playlist: Use the Spotify Web API endpoint to rename a playlist. This requires the playlist ID and the new name you want to give it.

Here's a basic Python script outline that demonstrates these steps:

Prerequisites

  • Python installed on your system.
  • Install the requests library, which you can do using pip install requests.

Instructions

  1. Replace 'your_client_id' and 'your_client_secret' with your Spotify application's Client ID and Client Secret.
  2. Replace 'your_playlist_id' with the ID of the playlist you want to rename.
  3. Replace 'New Playlist Name' with the new name you want for your playlist.
  4. Replace ‘New Playlist Description’ with the new description you want for your playlist

Note that this script uses Client Credentials flow for simplicity, which is suitable for server-to-server requests but does not allow access to user data. If you need to modify a user's private playlist, you'll need to use the Authorization Code flow to get user authorization.


So for starters, you have to go to Spotify Developer Dashboard and get your Client ID and Client Secret. Once you get that information, you will use it inside the script itself to automate this script.

Here is the Python script that ChatGPT created with modifications along the way. You can download Python for free in the link below. It comes with a free editor called "IDLE" which helps you with syntax.

(I can't post the link here, but simply go to python dot org and to their downloads section to get the latest version of Python)

=====================
import webbrowser
import requests
from http.server import HTTPServer, BaseHTTPRequestHandler
import urllib.parse as urlparse

CLIENT_ID = '<32 character client id that ChatGPT can help you get. Just ask it.>'
CLIENT_SECRET = '<32 character client secret that ChatGPT can help you get. Just ask it>'
REDIRECT_URI = 'http:%%localhost:8888%callback ' #Replace the percent % signs with forward slash / in this liine to get this redirect to work


# Global variable for access token

access_token = None


# Step 1: User Authorization

def open_authorization_url():

<tab>scope = 'playlist-modify-private playlist-modify-public'

# Note
- the following 2 lines are actually 1 line. Limitations of THIS community editor are forcing me to break up the lines. Note the common overlap between the end of the first line and the beggining of the 2nd line. Adjust accordingly by removing the redundant text, to get your long line that begins with auth_url and ends with
 {scope}'

# add the following line to the one immediately following it. Get rid of the plus (+) and one of the redundant "CLIENT_ID}&response_type=" entries
<tab>auth_url = f'https:%%accounts.spotify.com%authorize?client_id={CLIENT_ID}&response_type=
+
{CLIENT_ID}&response_type=code&redirect_uri={REDIRECT_URI}&scope={scope}'

#Replace the percent % signs with forward slash / in this liine to get this redirect to work

# Step 2: Handling the Redirect and Getting the Access Token
class CallbackHandler(BaseHTTPRequestHandler):
<tab>def do_GET(self):
<tab><tab>global access_token
<tab><tab>if '/callback' in self.path:
<tab><tab><tab>query = urlparse.urlparse(self.path).query
<tab><tab><tab>code = urlparse.parse_qs(query)['code'][0]
<tab><tab><tab>self.send_response(200)
<tab><tab><tab>self.end_headers()
<tab><tab><tab>self.wfile.write(b'You can close this window now.')
<tab><tab><tab>access_token = exchange_code_for_token(code)

 

def exchange_code_for_token(code):
<tab>token_url = 'https:%%accounts.spotify.com%api/token ' #Replace the percent % signs with forward slash / in this liine to get this redirect to work
<tab>payload = {
<tab><tab>'grant_type': 'authorization_code',
<tab><tab>'code': code,
<tab><tab>'redirect_uri': REDIRECT_URI,
<tab><tab>'client_id': CLIENT_ID,
<tab><tab>'client_secret': CLIENT_SECRET
<tab>}

 

<tab>response = requests.post(token_url, data=payload)
<tab>return response.json().get('access_token')

 

def rename_playlist(access_token, playlist_id, new_name, new_description):
<tab>"""Function to rename a Spotify playlist"""
<tab>headers = {
<tab><tab>'Authorization': f'Bearer {access_token}',
<tab><tab>'Content-Type': 'application/json',
<tab>}

<tab>payload = {
<tab><tab>'name': new_name,
<tab><tab>'description': new_description, # Optional: you can change the description here
<tab><tab>'public': True # Set to True if you want the playlist to be public
<tab>}

 

<tab>response = requests.put(f'https:%%api.spotify.com%v1%playlists%{playlist_id }', headers=headers, json=payload)
<tab>return response #Replace the percent % signs with forward slash / in this liine to get this redirect to work

 

def main():
<tab>open_authorization_url()
<tab>server = HTTPServer(('localhost', 8888), CallbackHandler)
<tab>server.handle_request()

<tab>global access_token
<tab>if access_token:
<tab><tab># After obtaining the access token, rename the playlist
<tab><tab>playlist_id = 'The playlist ID you want to be made alive again' # Replace with your playlist ID
<tab><tab>new_playlist_name = 'The Playlist name that you want your playlist to have' #Replace with your Playlist Name
<tab><tab>new_playlist_description = 'The description you want your playlist to have' #Replace with the new description

 

<tab><tab>response = rename_playlist(access_token, playlist_id, new_playlist_name, new_playlist_description)
<tab><tab>if response.status_code == 200:
<tab><tab><tab>print("Playlist renamed and description updated successfully!")
<tab><tab>else:
<tab><tab><tab>print(f"Failed to rename playlist or update description: {response.json()}")
<tab>else:
<tab><tab>print("Failed to obtain access token")

if __name__ == "__main__":
<tab>main()
================================
Notes:

The redirect URI will bring up a browser page that acts as your confirmation of success of the script. Simply close the page after the script runs.

If you want to automate this (I have my playlist being taken down 2-3 times a day), you’ll need to invoke the Python script on a daily or hourly basis thru Windows Task Scheduler. You’ll need a running computer to do this.

Let me know if you have any questions!

Thank you very much!

Hi yaktam,

I have tried running the script but get the following back:

C:\Users\tjeer>python french_chansons.py
File "C:\Users\tjeer\french_chansons.py", line 15
scope = 'playlist-modify-private playlist-modify-public'
^
IndentationError: expected an indented block after function definition on line 14

 

It is where Step1 in the script starts. Any Idea ?

Hi Tom101,

Insure that you are using IDLE the free Python editor that comes with the free Python download. The beauty of the editor is that it checks syntax for you. Unfortunately, Python is very indentation sensitive as well which the IDLE editor goes a good job of looking at, but not spectacular at fixing.

As I took the code that I posted in here, and ran it (with my own particular information) and came back with the exact same error you had, I realized that indentation is critical. I then opened my original code and compared it to the code I posted here. Most of the indentations were missing. As I started adding them, I would get new errors. Until I added the final indentation (a tab) and the script ran.

So while the script is fine, all the indentations are missing.


I altered the original script and put in <TAB> which you will need to replace with an indentation in the "IDLE" python editor (use the tab key). Multiple <TAB><TAB> mean multiple indentations. Which give your script a "NESTED" appearance.

If you are missing an indentation, IDLE will NOT let you know about it. The code that I posted should be copied and pasted into Idle and then modified with Indentations replacing all instances of <TAB>.

Let me know how it goes!

The script is wearing the person down. I run it every hour. They were trying to take the list down up to 3 times a day. Must be demoralizing seeing your "report" and takedown, reappear within the hour.

So I haven't had any "Takedown Notifications" since December 17, 2023. Today is December 23, 2023. Not cause to celebrate just yet. But a small victory that I'll savor anyways.

Suggested posts

Let's introduce ourselves!

Hey there you,   Yeah, you! 😁   Welcome - we're glad you joined the Spotify Community!   While you here, let's have a fun game and get…

ModeratorStaff / Moderator/ 4 years ago  in Social & Random