What will we cover in this tutorial?
- How to unfollow friends in Twitter Python that do not follow back.
- The process to get the access tokens to use the Twitter API
- How to connect to the twitter API
- The actual implementation of the code.
This is updated to Tweepy version 4.4
Step 1: Setup up environment
In order to get a connection to twitter you need to have access tokens and consumer keys. If you don’t already have that, or you do not know what it is, then I recommend you follow this tutorial.

You also need the tweepy library. You can install it by typing the following command in the command line or see here for more details.
pip install tweepy
Then you are ready to connect to the Twitter API.’
Step 2: Connecting to Twitter API
The first thing your code should do is to connect to the Twitter API and return the tweepy api to your program.

import tweepy
def get_twitter_api():
# personal details
consumer_key = "__USE YOUR KEY HERE__"
consumer_secret = "__USE YOUR KEY HERE__"
access_token = "__USE YOUR KEY HERE__"
access_token_secret = "__USE YOUR KEY HERE__"
# authentication of consumer key and secret
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
# authentication of access token and secret
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth, wait_on_rate_limit=True)
return api
This code will authenticate and return the tweepy api.
Step 3: List friends and followers to unfollow non-following friends
Confused by the headline? Me, too. But here is where the magic happens.
The code simply explained.
- Retrieves all the users that follow you (followers)
- Retrieves those you follow (friends)
- Loops through friends and check if they follow you
- If not, unfollow them with a call to destroy_friendship
def process():
api = get_twitter_api()
followers = api.get_followers_ids(user_id="PythonWithRune")
print("Followers", len(followers))
friends = api.get_friends_ids(user_id="PythonWithRune")
print("You follow:", len(friends))
for friend in friends:
if friend not in followers:
api.destroy_friendship(friend)
Full code example here
You can see the full code here to unfollow friends that do not follow back in Twitter using Python
import tweepy
def get_twitter_api():
# personal details
consumer_key = "__USE YOUR KEY HERE__"
consumer_secret = "__USE YOUR KEY HERE__"
access_token = "__USE YOUR KEY HERE__"
access_token_secret = "__USE YOUR KEY HERE__"
# authentication of consumer key and secret
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
# authentication of access token and secret
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth, wait_on_rate_limit=True)
return api
def process():
api = get_twitter_api()
followers = api.get_followers_ids(user_id="PythonWithRune")
print("Followers", len(followers))
friends = api.get_friends_ids(user_id="PythonWithRune")
print("You follow:", len(friends))
for friend in friends:
if friend not in followers:
api.destroy_friendship(friend)
if __name__ == "__main__":
process()
Next step

- Deploy it to an cron job so it runs every hour.
- You can use PythonAnywhere (not sponsored by them)