
Twint
Python tool that scrapes tweets, followers and profiles without Twitter's API. Archived in 2023.
- Stars
- 16.4k
- Forks
- 2.7k
- Licence
- MIT
- Language
- Python
- Last update
- 3.7 years ago
- Type
- CLI
This repository is archived and no longer maintained.
What it is
TWINT is a Python command-line tool and module that collects tweets, follower and following lists, and liked tweets from Twitter without using Twitter's official API. It can also search by keyword, hashtag, or location, and save results as text, CSV, JSON, SQLite, or Elasticsearch. The project is archived, so it is no longer maintained and may not work with current Twitter behavior.
- Export a public account's tweets to a CSV file with twint -u username -o file.csv --csv
- Collect a user's followers or following list with --followers or --following
- Search tweets containing a keyword within a date range using --since
- Save results to a SQLite database with --database tweets.db
- Filter tweets that may contain email addresses or phone numbers with --email --phone
Great for
- Researchers studying public tweet patterns who need more history than the official API allows
- OSINT practitioners gathering publicly visible account information
- Developers who want a scriptable Python module for bulk tweet export
- People comfortable troubleshooting Python dependency installs
Not ideal for
- Anyone needing reliable, supported access to Twitter data: the project is archived and the README says it relies on Twitter's internal query behavior, which can change
- Users who need to stay within Twitter's terms of service or platform rules, since the approach deliberately avoids the official API
- Beginners who want a simple no-setup app: the README itself reports installation problems and points to Docker as a workaround
How to get it
- 1
Install with a package manager
You'll need: Python 3.6 (per README; newer Python versions not confirmed) · pip3
Install from PyPI
pip3 install twint - 2
Run it
- Install the package with pip3 install twint
- Run twint -u username -o file.txt to save a user's tweets to a text file
- Check the output file for results
- 3
Get the most out of it
- Use --profile-full if some tweets from an account seem missing, noting the README says this is slow
- Use --csv or --json with -o to export data for analysis in other tools
- Use the Python module interface with twint.Config() to customize output fields
- Use --user-full with --followers or --following to get profile details of those accounts
Downloads
Strengths
- Does not require a Twitter API key or account, according to the README
- Supports many output formats including CSV, JSON, SQLite and Elasticsearch
- Usable both as a command-line tool and as a Python module
Trade-offs
- Archived with last push in February 2023, so it is not actively maintained
- Relies on unofficial access, so behavior can break when Twitter changes, and the README notes installation issues
- The README says profile and favorites methods return roughly 3200 tweets due to Twitter limits, so it is not complete history
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| twint (this) | 16.4k | CLI | intermediate | 3.7 years ago | Researchers studying public tweet patterns who need more history than the official API allows |
| tweepy | 11.2k | Library | intermediate | 4 months ago | Python developers who want to access the Twitter API from their own code |
| docker-elk | 18.4k | Dev tool | beginner | 4 days ago | Developers who want to try the Elastic stack on a single machine |
| sherlock | 95.4k | CLI | intermediate | 4 days ago | Security researchers doing authorized open-source intelligence work |
| subfinder | 14.7k | CLI | intermediate | 4 days ago | Security testers doing reconnaissance on a domain they are authorized to test |
| httpx | 10.6k | CLI | intermediate | 4 days ago | Security testers doing reconnaissance on lists of hosts they are authorized to test |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.