# TWINT | Twitter Intelligence Tool | Dox Peoples Easily

**URL:** <https://onehack.st/t/twint-twitter-intelligence-tool-dox-peoples-easily/220286>\
**Category:** Tools & Scripts\
**Tags:** tools, hacking, freebies\
**Created:** [June 22, 2022, 1:04pm UTC](https://onehack.st/t/twint-twitter-intelligence-tool-dox-peoples-easily/220286 "2022-06-22T13:04:57Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![TheStrength](https://onehack.st/user_avatar/onehack.st/thestrength/32/46753_2.png) [@TheStrength](https://onehack.st/u/TheStrength)\
**Post date:** [June 22, 2022, 1:04pm UTC](https://onehack.st/t/twint-twitter-intelligence-tool-dox-peoples-easily/220286/1 "2022-06-22T13:04:58Z")

</div>

![image](https://onehack.st/uploads/default/original/3X/9/c/9cb72639f31fd5fcc28a847a1f98f7dc71588211.png)

[![PyPI](https://camo.githubusercontent.com/3d6fa43460f92e9411d085709d6bfae9ecc5888ca6a6ba712a2cbb01d81f3f80/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f7477696e742e737667)](https://pypi.org/project/twint/) [![Build Status](https://camo.githubusercontent.com/7cfce9b73f34230999bff35af7458bcfdb519c21fc1de8c9587cd95ddbbafed7/68747470733a2f2f7472617669732d63692e6f72672f7477696e7470726f6a6563742f7477696e742e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/twintproject/twint) [![Python 3.6|3.7|3.8](https://camo.githubusercontent.com/05e0a3b67466051c47a1044bdd8d8ee696ca8919c9f882aa8955e98b1b22d232/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f507974686f6e2d332e36253246332e37253246332e382d626c75652e737667)](https://www.python.org/download/releases/3.0/) [![GitHub license](https://camo.githubusercontent.com/5b965d83e9d417aa82db3c6d71ee75d074703eed32bf60a8450d811b5520bbf4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6861636365722f74776565702e737667)](https://github.com/haccer/tweep/blob/master/LICENSE) [![Downloads](https://camo.githubusercontent.com/dc83c1db3030f9ae019ed43286530f6d768f005630733bc0c94db9c04a1b600a/68747470733a2f2f706570792e746563682f62616467652f7477696e74)](https://pepy.tech/project/twint) [![Downloads](https://camo.githubusercontent.com/957933000fd3be7916caf9beebcb3c0b0c370f1755db13c03d887c3cebd73a89/68747470733a2f2f706570792e746563682f62616467652f7477696e742f7765656b)](https://pepy.tech/project/twint/week) [![Patreon](https://camo.githubusercontent.com/6f1577812dd2f94d756b9968e89d58429a4b4905c185dfc74095bfb93e836220/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e742e7376673f75726c3d68747470733a253246253246736869656c6473696f2d70617472656f6e2e6865726f6b756170702e636f6d2532467477696e7470726f6a656374)](https://www.patreon.com/twintproject) [![](https://camo.githubusercontent.com/4631b2d0052055b89b395ff0bd9d2a74bb427c74ea5b0a50b5890c387b3a8c79/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f666f6c6c6f772f6e6f6e65707269766163792e7376673f6c6162656c3d466f6c6c6f77267374796c653d736f6369616c)](https://camo.githubusercontent.com/4631b2d0052055b89b395ff0bd9d2a74bb427c74ea5b0a50b5890c387b3a8c79/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f666f6c6c6f772f6e6f6e65707269766163792e7376673f6c6162656c3d466f6c6c6f77267374796c653d736f6369616c)

> No authentication. No API. No limits.

Twint is an advanced Twitter scraping tool written in Python that allows for scraping Tweets from Twitter profiles **without** using Twitter’s API.

Twint utilizes Twitter’s search operators to let you scrape Tweets from specific users, scrape Tweets relating to certain topics, hashtags & trends, or sort out _sensitive_ information from Tweets like e-mail and phone numbers. I find this very useful, and you can get really creative with it too.

Twint also makes special queries to Twitter allowing you to also scrape a Twitter user’s followers, Tweets a user has liked, and who they follow **without** any authentication, API, Selenium, or browser emulation.

## tl;dr Benefits

Some of the benefits of using Twint vs Twitter API:

- Can fetch almost **all** Tweets (Twitter API limits to last 3200 Tweets only);
- Fast initial setup;
- Can be used anonymously and without Twitter sign up;
- **No rate limitations**.

## Limits imposed by Twitter

Twitter limits scrolls while browsing the user timeline. This means that with `.Profile` or with `.Favorites` you will be able to get ~3200 tweets.

## Requirements

- Python 3.6;
- aiohttp;
- aiodns;
- beautifulsoup4;
- cchardet;
- dataclasses
- elasticsearch;
- pysocks;
- pandas (\>=0.23.0);
- aiohttp\_socks;
- schedule;
- geopy;
- fake-useragent;
- py-googletransx.

## Installing

**Git:**

git clone --depth=1 [https://github.com/twintproject/twint.git](https://github.com/twintproject/twint.git) cd twint pip3 install . -r requirements.txt

**Pip:**

pip3 install twint

or

pip3 install --user --upgrade git+https://github.com/twintproject/twint.git@origin/master#egg=twint

**Pipenv** :

pipenv install git+https://github.com/twintproject/twint.git#egg=twint

### March 2, 2021 Update

**Added** : Dockerfile

Noticed a lot of people are having issues installing (including me). Please use the Dockerfile temporarily while I look into them.

## CLI Basic Examples and Combos

A few simple examples to help you understand the basics:

- `twint -u username` - Scrape all the Tweets of a _user_ (doesn’t include **retweets** but includes **replies** ).
- `twint -u username -s pineapple` - Scrape all Tweets from the _user_’s timeline containing _pineapple_.
- `twint -s pineapple` - Collect every Tweet containing _pineapple_ from everyone’s Tweets.
- `twint -u username --year 2014` - Collect Tweets that were tweeted **before** 2014.
- `twint -u username --since "2015-12-20 20:30:15"` - Collect Tweets that were tweeted since 2015-12-20 20:30:15.
- `twint -u username --since 2015-12-20` - Collect Tweets that were tweeted since 2015-12-20 00:00:00.
- `twint -u username -o file.txt` - Scrape Tweets and save to file.txt.
- `twint -u username -o file.csv --csv` - Scrape Tweets and save as a csv file.
- `twint -u username --email --phone` - Show Tweets that might have phone numbers or email addresses.
- `twint -s "Donald Trump" --verified` - Display Tweets by verified users that Tweeted about Donald Trump.
- `twint -g="48.880048,2.385939,1km" -o file.csv --csv` - Scrape Tweets from a radius of 1km around a place in Paris and export them to a csv file.
- `twint -u username -es localhost:9200` - Output Tweets to Elasticsearch
- `twint -u username -o file.json --json` - Scrape Tweets and save as a json file.
- `twint -u username --database tweets.db` - Save Tweets to a SQLite database.
- `twint -u username --followers` - Scrape a Twitter user’s followers.
- `twint -u username --following` - Scrape who a Twitter user follows.
- `twint -u username --favorites` - Collect all the Tweets a user has favorited (gathers ~3200 tweet).
- `twint -u username --following --user-full` - Collect full user information a person follows
- `twint -u username --timeline` - Use an effective method to gather Tweets from a user’s profile (Gathers ~3200 Tweets, including **retweets** & **replies** ).
- `twint -u username --retweets` - Use a quick method to gather the last 900 Tweets (that includes retweets) from a user’s profile.
- `twint -u username --resume resume_file.txt` - Resume a search starting from the last saved scroll-id.

More detail about the commands and options are located in the [wiki](https://github.com/twintproject/twint/wiki/Commands)

## Module Example

Twint can now be used as a module and supports custom formatting. **More details are located in the [wiki](https://github.com/twintproject/twint/wiki/Module)**

import twint # Configure c = twint.Config() c.Username = “realDonaldTrump” c.Search = “great” # Run twint.run.Search(c)

> Output

`955511208597184512 2018-01-22 18:43:19 GMT <now> pineapples are the best fruit`

import twint c = twint.Config() c.Username = “noneprivacy” c.Custom[“tweet”] = [“id”] c.Custom[“user”] = [“bio”] c.Limit = 10 c.Store\_csv = True c.Output = “none” twint.run.Search(c)

## Storing Options

- Write to file;
- CSV;
- JSON;
- SQLite;
- Elasticsearch.

## Elasticsearch Setup

Details on setting up Elasticsearch with Twint is located in the [wiki](https://github.com/twintproject/twint/wiki/Elasticsearch).

## Graph Visualization

[![graph](https://camo.githubusercontent.com/eddbe0074e20e53b32e42aed1527a416f4adc7e1d64a897105b4b3d4f079beef/68747470733a2f2f692e696d6775722e636f6d2f45454a7142386e2e706e67)](https://camo.githubusercontent.com/eddbe0074e20e53b32e42aed1527a416f4adc7e1d64a897105b4b3d4f079beef/68747470733a2f2f692e696d6775722e636f6d2f45454a7142386e2e706e67)

[Graph](https://github.com/twintproject/twint/wiki/Graph) details are also located in the [wiki](https://github.com/twintproject/twint/wiki/Graph).

We are developing a Twint Desktop App.

[![4](https://camo.githubusercontent.com/df0444dbc905eb677dbc47aef762b188f5fcc0759d2b4e525d77a8cf69061466/68747470733a2f2f692e696d6775722e636f6d2f447a636649674c2e706e67)](https://camo.githubusercontent.com/df0444dbc905eb677dbc47aef762b188f5fcc0759d2b4e525d77a8cf69061466/68747470733a2f2f692e696d6775722e636f6d2f447a636649674c2e706e67)

## FAQ

> I tried scraping tweets from a user, I know that they exist but I’m not getting them

Twitter can shadow-ban accounts, which means that their tweets will not be available via search. To solve this, pass `--profile-full` if you are using Twint via CLI or, if are using Twint as module, add `config.Profile_full = True`. Please note that this process will be quite slow.

## More Examples

#### Followers/Following

> To get only follower usernames/following usernames

`twint -u username --followers`

`twint -u username --following`

> To get user info of followers/following users

`twint -u username --followers --user-full`

`twint -u username --following --user-full`

#### userlist

> To get only user info of user

`twint -u username --user-full`

> To get user info of users from a userlist

`twint --userlist inputlist --user-full`

#### tweet translation (experimental)

> To get 100 english tweets and translate them to italian

`twint -u noneprivacy --csv --output none.csv --lang en --translate --translate-dest it --limit 100`

or

import twint c = twint.Config() c.Username = “noneprivacy” c.Limit = 100 c.Store\_csv = True c.Output = “none.csv” c.Lang = “en” c.Translate = True c.TranslateDest = “it” twint.run.Search(c)

Notes:

- [Google translate has some quotas](https://cloud.google.com/translate/quotas)

## Featured Blog Posts:

- [How to use Twint as an OSINT tool](https://pielco11.ovh/posts/twint-osint/)
- [Basic tutorial made by Null Byte](https://null-byte.wonderhowto.com/how-to/mine-twitter-for-targeted-information-with-twint-0193853/)
- [Analyzing Tweets with NLP in minutes with Spark, Optimus and Twint](https://towardsdatascience.com/analyzing-tweets-with-nlp-in-minutes-with-spark-optimus-and-twint-a0c96084995f)
- [Loading tweets into Kafka and Neo4j](https://markhneedham.com/blog/2019/05/29/loading-tweets-twint-kafka-neo4j/)

## Contact

If you have any question, want to join in discussions, or need extra help, you are welcome to join our Twint focused channel at [OSINT team](https://osint.team/)

## GitHub:

> **[GitHub - twintproject/twint: An advanced Twitter scraping & OSINT tool written...](https://github.com/twintproject/twint)**
>
> An advanced Twitter scraping & OSINT tool written in Python that doesn't use Twitter's API, allowing you to scrape a user's followers, following, Tweets and more while evading most API limitations.
