Instantly share code, notes, and snippets.

What would you like to do?
This script will delete all of the tweets in a specified account.
# -*- coding: utf-8 -*-
This script will delete all of the tweets in the specified account.
You may need to hit the "more" button on the bottom of your twitter profile
page every now and then as the script runs, this is due to a bug in twitter.
You will need to get a consumer key and consumer secret token to use this
script, you can do so by registering a twitter application at
@requirements: Python 2.5+, Tweepy (
@author: Dave Jeffery
import tweepy
def oauth_login(consumer_key, consumer_secret):
"""Authenticate with twitter using OAuth"""
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth_url = auth.get_authorization_url()
verify_code = raw_input("Authenticate at %s and then enter you verification code here > " % auth_url)
return tweepy.API(auth)
def batch_delete(api):
print "You are about to Delete all tweets from the account @%s." % api.verify_credentials().screen_name
print "Does this sound ok? There is no undo! Type yes to carry out this action."
do_delete = raw_input("> ")
if do_delete.lower() == 'yes':
for status in tweepy.Cursor(api.user_timeline).items():
print "Deleted:",
print "Failed to delete:",
if __name__ == "__main__":
print "Authenticated as: %s" %

This comment has been minimized.

imZack commented Jul 25, 2014

Thank you! this saved my day!
ps. can't install tweepy from thier latest version on github. must use pip install.


This comment has been minimized.

aramirezreyes commented Oct 24, 2014

Nice script! I'm new to the twitter API. I deleted all tweets possible with this script, but that account still shows 8,5k tweets and all the tweets containing media (photos and videos) are available. The timeline of that account does not show up these tweets, that's why the method api,user_timeline does not retreive them. I'm not seeing anything in the documentation that helps me to get these tweets, maybe you have an idea?


This comment has been minimized.

JohnTroony commented Apr 2, 2015

I've made some changes on the script


This comment has been minimized.

vik-y commented Sep 5, 2015

This can delete 1-2 tweets per second.

I forked this and made a much faster version of this using threads. It can delete upto 30-50 tweets per second.


This comment has been minimized.

adaro commented Sep 8, 2015

Thank you!


This comment has been minimized.

nileshtrivedi commented Aug 31, 2016

Getting same problem which @argelouski reported. Account shows 8K tweets, none in the main timeline but all are there in "Replies" and "Media".

One approach would be to download your complete Twitter archive, extract tweet IDs from them and delete those.


This comment has been minimized.

charlesstricklin commented Dec 13, 2016

I've tried this, and the forked version of this, and neither deletes any of my tweets. At least this version tells me that it cannot for about 28 instances, each followed by an 18-digit number, each beginning with 80xxxxxxxxxxxxxxxx. Any idea what's wrong and what to do to correct it?


This comment has been minimized.

mpahlevanzadeh commented Mar 15, 2017

I provided a secret key ,cunsomer key and verification code. But I don't how to run this script, Specialy I don't know where spread verification code.


This comment has been minimized.

v0lsh3bnik commented May 4, 2017

Hey, if you are till looking for a script to delete all tweets you can check this one out :


This comment has been minimized.

flesueur commented Jun 26, 2018

For those who want to delete older tweets, not available though the API, the following script uses tweet ids from a previously downloaded twitter archive :


This comment has been minimized.

ghost commented Jun 29, 2018

Here's a much more simple and easy way to delete tweets

Download your tweet archive. Take the tweets.csv file and delete the tweets you want to keep or copy their ids and put them in the tweets_to_keep environment variable.

run script. nuke your tweets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment