No description
Find a file
liuxiaotong05 639befd084 fix keyerrors
2026-04-17 15:08:07 +08:00
.github Update FUNDING.yml 2025-02-12 20:36:17 +09:00
docs Js2Py update 2025-02-07 13:03:05 +09:00
examples fix header 2026-01-23 20:02:11 +08:00
twikit fix keyerrors 2026-04-17 15:08:07 +08:00
twikit.egg-info fix guest 2026-03-19 11:32:04 +08:00
.DS_Store add xpff 2025-09-24 14:24:40 +08:00
.gitignore fix json dump 2026-01-13 19:19:39 +08:00
.readthedocs.yaml . 2025-02-06 00:02:22 +09:00
LICENSE FIxed 2024-12-01 12:29:18 +09:00
pyproject.toml fix guest 2026-03-19 11:32:04 +08:00
ratelimits.md FIxed 2024-12-01 12:29:18 +09:00
README-ja.md Update README-ja.md 2025-07-06 15:28:50 +09:00
README-zh.md FIxed 2024-12-01 12:29:18 +09:00
README.md ui_metrics 2025-02-05 23:23:55 +09:00
requirements.txt fix js2py 2026-03-13 15:23:12 +08:00
setup.py fix pytoml 2025-09-24 14:55:14 +08:00
ToProtectYourAccount.md FIxed 2024-12-01 12:29:18 +09:00
uv.lock fix guest 2026-03-19 11:32:04 +08:00

Number of GitHub stars GitHub commit activity Version Tweet Discord BuyMeACoffee

[日本語] [中文]

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@example.com'
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