twitter searching

Muting the Twitter algorithm and using basic search operators for better OSINT research

In July 2019 Twitter had some updates to their interface, search-URLs and overall user-experience. They changed a lot of things in the background which made the user-experience for researchers less useful.

Actually a tweet thread started by @thegrugq inspired me to write this blog. With this blog you can take a few basic steps to bring back the user experience of “the old” Twitter like you were used to. It also helps you filter out autogenerated algorithmic noise (for example: suggested tweets and suggested accounts) by Twitter and will show you how to perform basic (you can make as as complex as you like) manual searches.

Cutting out algorithmic the noise

Like all other social media platforms Twitter uses algorithms to present you “the best” results. Well the “the best” results are based on a number of different factors, such as your followers, followings and activity. Twitter will even present you results for recap purposes. This is to make sure you haven’t missed anything while you were sleeping.

These kind of rankings and algorithms influence and blur your timeline from seeing what is actually happening in chronological order.

This is something you want to prevent when you have set up a specific Twitter account to monitor other Twitter accounts. For example, you have set up a Twitter account to follow a set of specifically picked news outlets who you want to keep track of – in case of breaking news events. In this case you do not want the Twitter algorithm to decide for you which tweets should appear and in what order, but also show you tweets by others which you might not necessarily want to see.

When monitoring specific accounts, you want the information to come in ‘unbiased’ and in chronological order.

To fix this issue, there are a few steps you need to take. After setting this up, you will find that your Twitter timeline is much cleaner and in chronological order.

The following steps show you how to mute ‘the algorithmic generated Twitter noise

  1. Open Twitter and login to your (personal, sock puppet, work) account
  2. Click on the three dots in the left menu

3. Click on ‘Settings and privacy’

4. Click on ‘Content preferences’

5. Click on ‘Muted’

6. Click on ‘Muted words’

7. Click the ‘+’ icon

8. Add the parameters one by one (see below the screenshot for a list of parameters)

The parameters are:

  • suggest_recap 
  • suggest_who_to_follow 
  • suggest_activity 
  • suggest_activity_tweet 
  • suggest_recycled_tweet_inline 
  • suggest_recycled_tweet 
  • suggest_grouped_tweet_hashtag 
  • suggest_sc_tweet 
  • suggest_pyle_tweet 
  • suggest_ranked_timeline_tweet 
  • suggest_ranked_organic_tweet 
  • generic_activity_highlights 
  • generic_activity_momentsbreaking 
  • ActivityTweet
  • RankedOrganicTweet

Once you have added the parameters, you should have something looking like this:

Search query to get a non-algorithmic results

A search Twitter query for filter:follows -filter:replies (click on the “Latest” tab results) also presents you a non-algorithmic Twitter timeline

You can even go further and filter out retweets by adding -filter:RT to the search query above.

Reverse back to the “old’ Twitter

Another suggestion is using an extension/addon in your browser that reverses your Twitter back to the “old” version of Twitter. It actually changes the user agent of your browser to one of an older browser:  E.g.:(Mozilla/5.0 (Windows NT 9.0; WOW64; Trident/7.0; rv:11.0) like Gecko)

And since Twitter listens to your browser, this addon will make it look like you are using a very old browser and Twitter will automatically present you an older version (which uses less resources) of Twitter.

Old style Twitter extension for Chrome: https://chrome.google.com/webstore/detail/goodtwitter/jbanhionoclikdjnjlcmefiofgjimgca

Old style Twitter addon for Firefox:
https://addons.mozilla.org/en-GB/firefox/addon/goodtwitter/

The original source code can be found here:
https://github.com/ZusorCode

Searching Twitter using search operators

Once you have setup up all of the above, you can always dig even deeper by searching Twitter manually by using the Twitter search. When working on an Open Source Intelligence case, it is important to know or at least be familiar with, the platform’s native search operators. Of course you can use (automated) tools to search Twitter to find answers for your specific research questions. But it is generally good practice to do that manually, especially if you have to explain and outline in detail how you have found that piece of information.

Below you will find a set of example search operators. You can use these examples to get a general idea of the search options Twitter has to offer. Once you will be familiar with the basics you can expand your searches by combining the queries to make searches as targeted as possible. ‘Query juggling’ as I like to call it.  Don’t forget to hit the “latest” tab to see the latest results because by default it will point to the the “top results”.

  • “osint” Presents tweets: containing the exact phrase “osint”
  • osint OR geoint Presents tweets: containing either “osint” or “geoint” or both.
  • osint -tool Presents tweets: containing “osint” but not “tool” within the same tweet.
  • #osint Presents tweets: containing the hashtag “osint”
  • from:dutch_osintguy Presents tweets: sent from Twitter user “dutch_osintguy”
  • to:dutch_osintguy Presents tweets: sent to Twitter user “dutch_osintguy”
  • @dutch_osintguy Presents tweets: Referring to Twitter user “dutch_osintguy”
  • party source:Facebook  Presents tweets: containing the word “party” posted via Facebook
  • osint ? Presents tweets: containing the word “osint” and asking a question within that tweet.
  • “mass shooting” near:”NYC” Presents tweets: containing the exact phrase “mass shooting” and sent near “New York City” (Keep in mind that less then 8% of all Twitter users have geolocated tweeting turned on. So these results may not be what you expect. 
  • osint filter:links Presents tweets or users: containing “osint” and linking to urls.
  • near:Chicago within:15mi Presents tweets: sent within 15 miles of “Chicago”
  • geocode:51.917058, 4.473365,1km Present tweets: sent within a 1km radius of x,y coordinates
  • osint since:2019-07-29 Presents tweets or users: containing “osint” since date “2019-07-29” 
  • osint until:2014-11-04 Presents tweets or users: containing “osint” until the date “2014-11-04”
  • osint lang:fr Presents tweets or users: containing the word “osint” written in French
  • osint filter:images Presents tweets or users: containing the word “osint” and contains an image within the tweet.
  • osint filter:native_video Presents tweets or users: containing the word “osint” and has a embedded native Twitter within that tweet (change native_video into periscope to get results from Periscope)
  • osint filter:media Presents tweets or users: containing the word “osint” and contains a picture or video in that tweet
  • osint min_retweets:8 Presents tweets: containing the word “osint” with at least 8 retweets
  • osint min_faves:8 Presents tweets: containing the word “osint” which are at least 8 times favorited

Twitter had some interface changes in July 2019. With those changes the url for basic searching changed. It used to be https://www.twitter.com/search or https://www.twitter.com/explore those have been redirected into https://www.twitter.com/search-home. The Twitter interface advanced search can still be found at https://twitter.com/search-advanced. You can also save your recurring searches a bookmark which might save you some time. Also you can change the url parameters to change you search. Example : https://twitter.com/search?q=osintcurious%20webcast&src=typed_query&f=live searches for “osintcurious” and webcast you can manipulate the words in the url to change your search en hit enter. For this example i’ve changed the word “webcast” into “guest” https://twitter.com/search?q=osintcurious%20guest&src=typed_query&f=live

That’s it

There you have it. The basics to set up your Twitter account without being exposed to all that Twitter generated algorithmic noise and reclaim a clean chronological timeline. And all the basic searches that you can perform have been pointed out as well. And if there is demand for a part two blog, I will show you more advanced tips and tricks that go beyond the basic search options. Let us know if that is a blog you’ve all been waiting for! As usual, please share your thoughts, tips & tricks by using the comment section below or on social media using the hashtag #OSINTCurious. Thanks for reading!