The Twitter API is a set of programmatic endpoints that can be used to understand or build a Twitter conversation.
This API allows you to search for and retrieve, interact with, or create a variety of resources, including:
Tweets, Users, Spaces, Live, Messages, Lists, Trending, Media, Locations.
Some twitter API endpoints
- GET /2/tweets/:id/quote_tweets : Returns Quote Tweets for a Tweet specified by the requested Tweet ID.
- POST /2/users/:id/retweets: Causes the user ID identified in the path parameter to Retweet the target Tweet.
- DELETE /2/users/:id/retweets/:source_tweet_id Allows a user or authenticated user ID to remove the Retweet of a Tweet.
- GET /2/tweets/sample/stream Streams about 1% of all Tweets in real-time.
- POST /2/users/:id/following Allows a user ID to follow another user.If the target user does not have public Tweets, this endpoint will send a follow request.
Things you can do with twitter API:
You can perform various operations related to retrieving, displaying, sorting, and filtering data in Twitter.
For example, you can:
- Create an app that gives users access to specific types of Tweets
- Build a website where users can only see and read tweets from specific locations.
- Start a personal project to explore the sentiment of your own tweets.
- Curate specific Tweets to create stories and narratives on your site for any purpose. Show trends or show users her engagement with one of her branded hashtags.
Tweepy
Tweepy is a Python package that seamlessly and transparently accesses Twitter developer endpoints. Without Tweepy, the user would have to deal with various low-level details about her HTTP requests, rate limiting, authentication, serialization, etc. Tweepy handles all this mess for you, making your application error prone. Simply put, Tweepy is an open-source her Python package that gives developers the ability to communicate with her Twitter API.
For this task the methods used are supported by tweepy==3.10.0
Creating a twitter app with read and write permissions
https://developer.twitter.com/en/docs/projects/overview
- Go to app settings -> user authentication settings -> app permissions and enable read/write
- Under type of app enable public client, then provide callback url and website url
- New keys will be generated.
Connecting to the twitter API
import tweepy
def twitter_api():
# input your twitter API credentials
consumer_key = ""
consumer_secret = ""
access_token = ""
access_token_secret = ""
# 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
Create a followback task in python
import get_twitter_api
import pandas as pd
api= get_twitter_api.twitter_api()
friends = api.friends_ids(api.me().id)
followers = api.followers_ids(api.me().id)
# function to followback your friends
def follow_back():
to_follow=[]
print("-------retrieving twitter information------")
print("----------People you follow:---------\n", len(friends))
print("---------Your Followers:---------\n", len(followers))
for follower in followers:
if follower not in friends:
to_follow.append(follower)
api.create_friendship(follower)
print("-----You have followed:",len(to_follow),"More----")
follow_back()
_Scheduling the task in using windows task scheduler
create a bat file that will activate the environment and run the python script
:: batch file to run python_tweepy_cron script every five minutes
:: program will first activate venv then run python script
C:\data_eng\python_tweepy\Scripts\activate.bat && python C:\data_eng\python_tweepy\app.py
To add a task to windows scheduler:
go to start->task scheduler->create a folder (mytask)->create task (tweepy_follow_back)->trigger(repeat after 5 mins)->action(start program-schedule_follow_back.bat)
full code is available onhttps://github.com/James-Wachuka/python_tweepy
Top comments (1)
One important update for anyone reproducing this today: Tweepy 3.10 uses older methods such as
friends_ids,followers_ids, andcreate_friendship. Current projects should paginate followers and following, diff the ID sets, then follow with explicit rate-limit handling. Also persist processed IDs. A five-minute scheduler should not repeat work after a partial failure.Xquik is an X/Twitter API alternative for this Twitter automation workflow. It exposes follower and following lists, follow checks, and follow actions. Windows Task Scheduler still owns timing. Your application still owns consent, deduplication, and follow policy.