Update notice: March 4 2024
Musk took over a while ago, it is now called “X”, as you already know. The tips and tricks in this post do still work. If you find any errors, please don’t hesitate to let us know in the comments.
Since Twitter bought summize in 2008 the best way to search Twitter is Twitter Search. You can search the full Twitter Archive through the Twitter web search. While most people are familiar with basic search queries, only a few know all advanced operators and filters as some aren’t documented (yet) by Twitter.
Do you know how to find all Tweets that quote a Tweet by a specific user? Or how to find Tweets that are either in German and got 100 Retweets or in English and got 1000 Retweets but less than 10 replies?
Basic Search Queries
Per default, Twitter interprets a space as an AND-operator. The following two queries do the same. They show results that contain all of the terms in the query. It doesn’t matter in which order the terms appear in the Tweet (or the name of the user who tweeted it).
fresh van root
fresh AND van AND root
If you want to find Tweets with at least one of them instead of all of them, you need to explicitly state it with an OR between each term.
fresh OR van OR root
For an exact match, you add quotes.
"fresh van root"
Finally, you sometimes want to exclude Tweets that contain a certain term.
fresh van root -http
Advanced Filters
Often a basic query isn’t enough. There are billions of Tweets and you are looking for a very specific one. These advanced operators will help you narrow the search down. Be aware that some of them become less reliable when they are used in combination with older timeframes (older than 10 or 30 days).
Operator | Description |
since:2019-05-06 | Tweets published at or after the date. (UTC +0) |
until:2019-05-07 | Tweets published before the date. (UTC +0) |
from:Luca | Tweets that are not marked as sensitive media. Tweets published by a specific user. |
to:Luca | Replies and mentions for a specific user. |
lang:de | Tweets in a specific language. Language is detected by Twitter on a Tweet basis. “und” for Tweets where Twitter was unable to determine a language. |
near:Berlin within:5km | [unreliable] Tweets that were posted in specific locations and optionally within a certain range. |
min_faves:5 | Tweets with at least that amount of faves. |
-min_faves:100 | Tweets that have fewer faves than specified. |
min_retweets:10 | Tweets that were at least retweeted that many times. |
-min_retweets:3 | Tweets that were retweeted less than that many times |
min_replies:70 | Tweets that got a minimum amount of replies. |
-min_replies:8 | Tweets that got fewer replies. (max_replies does not work) |
filter:follows | Tweets by accounts you follow. |
list:Luca/Science | Tweets by accounts on a specified list. |
filter:verified | Tweets by verified accounts. |
filter:images | Tweets with an image. |
filter:links | Tweets with an URL. |
filter:media | Tweets with a video or a photo. |
filter:retweets | [only works with the API or with “include:nativeretweets”] Retweets. |
filter:quote | Tweets that contain a quoted Tweet. |
filter:replies | Tweets that are a reply. |
filter:mentions | Tweets that mention a user. |
filter:videos | Tweets that contain a video. |
filter:native_video | Tweets that contain a video, that was directly uploaded to Twitter. |
filter:news | [unreliable] Tweets that contain a URL to a news source. |
filter:safe | [unreliable] Tweets that do not contain sensitive material. |
include:nativeretweets | It allows you to search through retweets as well. Especially useful in combination with from:account or filter:follows. |
Complex Queries
You can combine all of the things above until you hit the 128 character limit of web search. Longer queries are only possible with the Premium API.
from:luca since:2019-05-06 until:2019-05-07 filter:media min_faves:5 -lang:de
The query above shows all Tweets from me, that were published on 06.05.2019, contain an image or video, got at least 5 faves and aren’t in German.
If you want to have different criteria for different languages (eg. because German Tweets get fewer faves) you can add parentheses.
filter:replies (lang:it min_faves:10) OR (lang:de min_faves:5)
Replies that got at least 10 faves if they are in Italian or 5 if they are in German.
While there is only the character limit as a hard limit, some more complex combinations don’t work. Try to remove parts of a query until you get a result. Sometimes it helps to use more parentheses to make sure that you don’t combine requirements that exclude each other.
Quoted Tweets
To find Tweets that quoted a specific Tweet, you search for the URL of the Tweet you are interested in.
twitter.com/luca/status/949226802240684032
You can search for all Tweets that quote Tweets of a specific user by searching for the profile of that user while excluding Tweets by that user.
twitter.com/luca/ -from:luca
Twitter is fast, loud, crowded and the search is not very user-friendly. If Twitter is your favorite social network and you characterize yourself as a heavy user I recommend spending some time to figure out how to put Twitter search to work for you. The best way to start learning how it works is to copy some of the parameters shown in this post to a separate browser tab and start customizing the search queries.