Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/d60/twikit
Twitter API Scraper | Without an API key | Twitter Internal API | Free | Twitter scraper | Twitter Bot
https://github.com/d60/twikit
api-wrapper bot client free python python3 scrape scraper scraping search twitter twitter-api twitter-bot twitter-client twitter-internal-api twitter-scraper twitter-scraper-2023 wrapper x x-api
Last synced: 6 days ago
JSON representation
Twitter API Scraper | Without an API key | Twitter Internal API | Free | Twitter scraper | Twitter Bot
- Host: GitHub
- URL: https://github.com/d60/twikit
- Owner: d60
- License: mit
- Created: 2024-01-20T17:12:41.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-05-01T23:22:41.000Z (6 months ago)
- Last Synced: 2024-05-02T06:13:16.217Z (6 months ago)
- Topics: api-wrapper, bot, client, free, python, python3, scrape, scraper, scraping, search, twitter, twitter-api, twitter-bot, twitter-client, twitter-internal-api, twitter-scraper, twitter-scraper-2023, wrapper, x, x-api
- Language: Python
- Homepage: https://twikit.readthedocs.io/en/latest/twikit.html
- Size: 3.28 MB
- Stars: 659
- Watchers: 7
- Forks: 71
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
![Number of GitHub stars](https://img.shields.io/github/stars/d60/twikit)
![GitHub commit activity](https://img.shields.io/github/commit-activity/m/d60/twikit)
![Version](https://img.shields.io/pypi/v/twikit?label=PyPI)
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Create%20your%20own%20Twitter%20bot%20for%20free%20with%20%22Twikit%22!%20%23python%20%23twitter%20%23twikit%20%23programming%20%23github%20%23bot&url=https%3A%2F%2Fgithub.com%2Fd60%2Ftwikit)
[![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/nCrByrr8cX)
[![BuyMeACoffee](https://img.shields.io/badge/-buy_me_a%C2%A0coffee-gray?logo=buy-me-a-coffee)](https://www.buymeacoffee.com/d60py)[[日本語](https://github.com/d60/twikit/blob/main/README-ja.md)]
[[中文](https://github.com/d60/twikit/blob/main/README-zh.md)]# Twikit
A Simple Twitter API Scraper
You can use functions such as posting or searching for tweets without an API key using this library.
- [Documentation (English)](https://twikit.readthedocs.io/en/latest/twikit.html)
🔵 [Discord](https://discord.gg/nCrByrr8cX)
> [!IMPORTANT]
> With the release of version 2.0.0 on July 11, there have been some specification changes, including the discontinuation of the synchronous version. Existing code will no longer work with v2.0.0 or later, so please refer to the [documentation](https://twikit.readthedocs.io/en/latest/twikit.html) or the code in the [examples folder](https://github.com/d60/twikit/tree/main/examples) for adjustments.
> We apologize for any inconvenience this may cause.## 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
```bash
pip install twikit
```
## Quick Example
**Define a client and log in to the account.**
```python
import asyncio
from twikit import ClientUSERNAME = '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
)asyncio.run(main())
```**Create a tweet with media attached.**
```python
# 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**
```python
tweets = await client.search_tweet('python', 'Latest')for tweet in tweets:
print(
tweet.user.name,
tweet.text,
tweet.created_at
)
```**Retrieve user tweets**
```python
tweets = await client.get_user_tweets('123456', 'Tweets')for tweet in tweets:
print(tweet.text)
```**Send a dm**
```python
await client.send_dm('123456789', 'Hello')
```**Get trends**
```python
await client.get_trends('trending')
```More Examples: [examples](https://github.com/d60/twikit/tree/main/examples)
## Contributing
If you encounter any bugs or issues, please report them on [issues](https://github.com/d60/twikit/issues).
If you find this library useful, consider starring this repository⭐️