explaingit

twintproject/twint

16,373PythonAudience · researcherComplexity · 2/5Setup · moderate

TLDR

A Python command-line tool that scrapes Twitter without needing an API key, letting you collect tweets, follower lists, and profile data in bulk with no official rate limits or account registration required.

Mindmap

mindmap
  root((Twint))
    What It Does
      Scrapes Twitter
      No API key needed
      No rate limits
    Data You Can Get
      User tweets
      Followers and following
      Liked tweets
      Emails and phones
    Output Formats
      CSV and JSON
      SQLite database
      Elasticsearch
    Audience
      Journalists
      Researchers
      OSINT analysts
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Collect all tweets from a specific Twitter user going back further than the 3,200-tweet API cap

USE CASE 2

Pull historical tweets matching a keyword or hashtag for sentiment analysis or journalism research

USE CASE 3

Build an OSINT report on a Twitter account including followers, following, and liked tweets

USE CASE 4

Export tweet data to CSV, JSON, or SQLite for analysis in Python or a spreadsheet

Tech stack

PythonSQLiteElasticsearchDocker

Getting it running

Difficulty · moderate Time to first run · 30min

Web-scraping approach may break if Twitter changes its site structure, not using the official API means no guarantees of stability.

In plain English

Twint, also called the Twitter Intelligence Tool, is a Python tool for pulling data from Twitter without going through Twitter's official API. Normally, if you want a program to read tweets, you have to register a developer account, get API keys, and live within rate limits and a hard 3,200-tweet history cap per user. Twint sidesteps that by talking to Twitter's public search and profile pages directly, the README's tagline is "No authentication. No API. No limits." The tool wraps Twitter's search operators so you can collect every tweet from a specific user, every tweet that contains a keyword or hashtag, tweets sent in a certain date range, tweets near a geographic location, tweets from verified users only, and so on. It can also walk a user's followers, who they follow, and the tweets they have liked, and it can pull out sensitive-looking strings like emails and phone numbers. Results can be printed, written to a text file, exported as CSV or JSON, stored in a SQLite database, or pushed into Elasticsearch (with optional dashboards in Kibana). You can drive it from the command line or import it as a Python module and configure a Config object in code. There is also a graph-visualisation feature and an experimental tweet-translation mode. You would reach for Twint for open-source intelligence (OSINT) work, journalism, academic research on social media, or any project where you need a lot of historical tweets and the official API's quotas get in your way. It is installed with pip and there is also a Docker image. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
Write a Python script using Twint to collect all tweets from a specific user over the past year and export them to CSV
Prompt 2
How do I use Twint to search for tweets about a topic in a specific city and save results to SQLite?
Prompt 3
Using Twint, how can I pull a list of followers for a Twitter account and store them in a JSON file?
Prompt 4
Walk me through running Twint with Elasticsearch so I can visualize tweet volume over time in Kibana
Prompt 5
How do I use Twint in Python code (not command line) to collect tweets matching a hashtag?
Open on GitHub → Explain another repo

← twintproject on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.