d60/twikit
d60/twikit has 4,763 GitHub stars and 576 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 14:58 UTC. Last push 2026-03-10.
Twitter API Scraper | Without an API key | Twitter Internal API | Free | Twitter scraper | Twitter Bot
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original[!NOTE] https://github.com/d60/twitter_login (under development)
Twikit 
A Simple Twitter API Scraper
You can use functions such as posting or searching for tweets without an API key using this library.
🔵 Discord
[!NOTE] Released twikit_grok an extension for using Grok AI with Twikit.
For more details, visit: https://github.com/d60/twikit_grok.
Features
No API Key Required
This library uses scraping and does not require an API key.
Free
This library is free to use.
Functionality
By using Twikit, you can access functionalities such as the following:
Create tweets
Search tweets
Retrieve trending topics
etc...
Installing
pip install twikit
Quick Example
Define a client and log in to the account.
import asyncio
from twikit import Client
USERNAME = 'example_user'
EMAIL = '[email protected]'
PASSWORD = 'password0000'
# Initialize client
client = Client('en-US')
async def main():
await client.login(
auth_info_1=USERNAME,
auth_info_2=EMAIL,
password=PASSWORD,
cookies_file='cookies.json'
)
asyncio.run(main())
Create a tweet with media attached.
# Upload media files and obtain media_ids
media_ids = [
await client.upload_media('media1.jpg'),
await client.upload_media('media2.jpg')
]
# Create a tweet with the provided text and attached media
await client.create_tweet(
text='Example Tweet',
media_ids=media_ids
)
Search the latest tweets based on a keyword
tweets = await client.search_tweet('python', 'Latest')
for tweet in tweets:
print(
tweet.user.name,
tweet.text,
tweet.created_at
)
Retrieve user tweets
tweets = await client.get_user_tweets('123456', 'Tweets')
for tweet in tweets:
print(tweet.text)
Send a dm
await client.send_dm('123456789', 'Hello')
Get trends
await client.get_trends('trending')
More Examples: examples
Contributing
If you encounter any bugs or issues, please report them on issues.
If you find this library useful, consider starring this repository⭐️
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,796 starspublic-apis/public-apis
A collective list of free APIs
497,021 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
441,050 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,144 stars