HOW TO: Easily Automate Deleting Your Old Tweets, Likes, and DMs


There’s too much focus on deleting Facebook ( Instagram and Whatsapp too ) and for good reason. You should stop using it. And no, your business does not depend on it. But nobody seems to talk about Twitter.

FSM’s Twitter account ( which I will not even link to, because I will probably delete it soon. It’s easy to find anyway…  deleted ) was created in May 2008. Back then Twitter was actually fun and useful. Today however, Twitter is a shitshow. To name a few Twitter dickmoves without going into much detail, just scratching the snow on the tip of the iceberg:

They censor you, deciding on your behalf what you can or can’t post/read, while allowing what they define as “world leaders” to post tweets that you would get banned for.

Also, when was the last time you found your default feed display actually useful? Because it’s not a list of tweets made by, or retweeted by, people you have explicity followed anymore. Instead you see a bunch of shit in there from people you don’t know/don’t follow/simply don’t care about, based on engagement actions made by people you do follow.

If you’re a business ( everybody is a business these days anyway ) you will do just fine without Twitter. Unless you’re massivly popular with a shitload of engagement on every single tweet, your tweets won’t be seen by most people. Don’t believe me? Check your tweet analytics.

They rewrite any URL that you share to go through their own URL redirector. More data for them.

And probably the worst thing is that a new account, once created, is locked because Twitter is demanding a phone number to validate it.

If you ask me, you don’t have to dig deeper. That’s enough reason to stop using Twitter. But if you don’t delete your account, it might be a good idea to do some cleanup. You know… just in case a few years ago the child inside you tweeted something “funny” and now you won’t get that job you want to because of it.

There’s a lot of tools that allow you to cleanup your Twitter account and one of those tools is Semiphemeral. An open source tool created by Micha Lee.

Semiphemeral comes in two flavors: a hosted service which ( probably ) most people will use and a self hosted version for advanced users that requires using the terminal, generating your own Twitter API keys and setting up a server with a cron job if you want to automate it.



1. First follow @semiphemeral on Twitter. Apparently you have to follow the account in order to use the service. Why? Because Semiphemeral is an antifascist service and “supporters of dictators and anti-democratic demagogues, racists, or other types of fascists will be blocked, and blocked users are ineligible to use Semiphemeral”.

How does fascist detection work? Semiphemeral maintains a list of popular fascist Twitter influencers.

When you start using Semiphemeral it downloads a history of your tweets and likes. If you've liked tweets from any of those fascists within the last few months, you get automatically blocked and are disqualified from using the service (it automatically unblocks you in a few months, in case you've changed since then).

This algorithm is prone to false positives, of course. Many perfectly reasonable people have at one point liked a *unapproved* tweet, for whatever reason. So if you get blocked and you've only liked a few fascist tweets, Semiphemeral will let you unblock yourself and continue using the service. But if you've demonstrated a clear pattern of liking what fascists are spewing on Twitter, you have to write an email if you want to appeal your block.

NOTE: I didn’t include Micha’s examples of “popular fascist Twitter influencers” and replaced the name of a certain character with *unapproved*. Simply because I don’t want that kind of content on this blog. That’s not the point of this article/tutorial. If you think I’ve changed or ommited more of the original content you are free to see the original article linked above.

2. Visti and login with your Twitter account.


3. Once logged in, Semiphemeral will start to download a history of your tweets which might take a long time depending on how long and/or frequent you’ve been using Twitter.

While you wait, you can go to the settings page and configure Semiphemeral to your liking.


4. When it’s done downloading your Twitter history, @semiphemeral will send you a Twitter direct message.


5. (OPTIONAL) Before you start using Semiphemeral, you might want to 1. export your tweets in a .csv file and 2. manually exclude tweets from deletion. You can export your tweets via the Export tab and exclude tweets from deletion via the Tweets tab.


6. Now you can go back to the Dashboard tab and start Semiphemeral. From this point on, once a day Semiphemeral will download your latest Twitter history and delete the older stuff based on your settings.


7. Semiphemeral can also delete your DMs. But, first you need to authorize Semiphemeral to access your DMs. To do that, go to the Settings page and there’s a link to allow access to your Twitter DMs.


However, there’s a catch. Twitter will only communicate to Semiphemeral the last 30 days worth of DMs. That means that if you, for example, configure Semiphemeral to delete DMs older than 7 days, each time Semiphemeral runs it will delete your DMs between 30 days ago and 7 days ago. Which means that, if you have been using Twitter for years and you have a shitload of DMs, Semipheral can’t delete all of your older DMs by default.

But you can bulk delete all of your old DMs. You just need to provide a list of your DMs to Semiphemeral.

Where do you get that list? Simply download a copy of your Twitter archive by going to Settings and privacy > Your account > Download an archive of your data.

NOTE: notice the description of what are you requestion “You can request a ZIP file with an archive of the data we think is most important to you.”


I’ve been waiting for 2 days for Twitter to send me my data. So I can’t illustrate how to bulk delete your old DMs, but I can exaplain it.

Twitter will eventually send you a zip file of your data. Unpack it and inside you should find a a folder called data which includes direct-message-headers.js (containing the metadata for all of your DMs ) and direct-message-group-headers.js (containing the metadata for all of your group DMs).

Upload those files, in the DMs tab of Semiphemeral’s page,  to delete all of your old DMs except for the most recent ones as you’ve specified in your settings.