Spoiler: It’s not easy, and it comes with a cost
I’ve had my Twitter account since 2009, almost a decade. I’m not sure it’s useful or beneficial to have my 2009 stuff hanging about on the internet. It may be even a bit risky.
Here’s an example: I worked for a personal trainer back then who was pretty into Twitter. We interacted a lot. Let’s just say he also changed a lot. These days he tweets a lot of stuff I find repugnant. I’m not thrilled to think that someone could find my old tweets to him or likes on his tweets.
Turns out, deleting the old Tweets is pretty easy. I did it with this Python script described here. It’s fairly easy, but only if you are already familiar with running Python.
There are a lot of easier to use tools out there that don’t require running scripts on a command line. I tried some of those tools like Twitter Archive Eraser when I wanted to delete the likes. But it turns out they can only delete the past 3000 (those available from GET favorites/list to get technical).
Same with a couple of scripts you can run in your browser that basically scroll through your likes page and unlike them automatically. They hit that last 3000 and then it ends.
But there is a way to access these old likes by downloading Your Twitter Data (thanks GDPR). This contains a file called likes.js, a complete list of ALL my likes ever by Tweet ID. Pulling up one of these Tweets, I notice something odd.
I’m clearly shown as having liked the tweet. My picture is there and if you click on the “2 likes” it shows me in the list. But notice the heart isn’t red? Normally when you like something, that heart turns red. So to unlike the tweet, I have to first like it by clicking on the heart, which turns it red, and then click on it again to unlike it.
You have to do this with any Tweet you liked in the past UNLESS it’s one of the last 3000ish.
Now you might say, this data seemspretty hard to find since you can’t easily query it, so why bother deleting it?
But at this point I’ve had a lot of caffeine and I AM DETERMINED. Besides, with enough time and resources, another overcaffeinated determined person could certainly find this data.
I put that list of Tweet IDs into a file similarly formatted to the one I used to delete my Tweets. I realized later you don’t really need to do this. Python can technically read the original file, but my knowledge of Python is at the “completed half of a tutorial once” level.
I took that original script and changed it so instead of trying to delete the tweet, it unlikes it.
Unfortunately, that doesn’t work. I assume for the same reason I encountered when I pulled up the old tweet. So I add liking it and then unliking it to the script:
That works. But it at a cost. It means anyone who has Like notifications on now gets a notification that I’ve liked some Tweet of theirs from like 2010.
I get a couple of emails asking if I’ve been hacked. One guy says his phone vibrated 100 times. It doesn’t seem to matter that as soon as I liked it, I unliked it. Twitter sends the notification anyway.
I also realize that I’ve dated a lot of people I knew from or interacted with a lot on Twitter. And they probably think I’m creeping on their Tweets from 2012 or whatever. FML.
Also Twitter shuts down my ability to like Tweets after like 400 continuous likes/unlikes.
I added logging to the script so I can figure out at what point to resume. I’m sure someone better at Python could refine it a lot so it pauses if it hits the type of error I encountered.
So in conclusion. This is possible, but at a hilariously terrible cost. Because of this I did not completely finish deleting my likes. I deleted up to about 2015 though.
After doing this I find myself reluctant to “like” tweets. I used to just reflexively do it if I agreed with something, found it interesting, or even a bit funny. Now I think about how difficult it will be to delete.
On the mobile site and app I’ve moved to using the bookmark feature instead, especially as a “read later” marker. I may write an app that regularly runs and deletes likes before they exceed 3000 to keep from having this issue in the future.
I think it sucks that Twitter makes managing this so difficult, the point where you have to know some coding in the first place to do it. And even then, the side effects are substantial. In addition, Twitter is now making it a bit more difficult to do this in the first place. Running these scripts requires something called API keys. I already had a Twitter App so it was easy for me to get these, but new apps now have to go through an approval process.
If you know of an easier way, let me know in the comments!