Twitrends Analyze Twitter Trending Topics, Hashtags or Keyword
Twitrends Analyze Twitter Trending Topics, Hashtags or Keyword

Twitrends: Analyze Twitter Trending Topics, Hashtags or Keyword

Tool to Analyze Twitter Trending Topics, Hashtags or Keyword with 2D and 3D visualisation

In the past, you may have had to rely on a third-party tool to analyze the Twitter topic of the day and discover trending topics, hashtags, keywords or themes of the day. Twitter’s API makes it easy to do this analysis yourself, and a new tool that came out recently makes it even easier to do so. I’ll show you how to use it.

Analysing twitter trending topic that observes user characteristics of a certain trending topic/hashtags. Some indication of trending hash tag is considered curious:

  • mainly promoted by relatively new accounts
  • most of them are having few followers
  • some of them tweet an unusual amount of tweet per user

All of these indicator are just a hunch, no solid base.

Note: Twitrends is new updated from the original tool called “curious-trends” created by Wibisono

Built using:


Still experimental:

  • no persistence, no rate limit throttling so you might hit free rate limit
  • hashtags were just appended everytime you open another trends link
  • trying to push data from backend to frontend for updates, but when tracking keywords that are not frequently mentioned you might endup with blank page with no data.


  • You have to install scala on your machine.


  • Download and install scala-sbt here
  • Install Java SE Development Kit 8 and configure it on you computer.
  • After you install the requirements, you can clone the Twitrends repositories by type:
git clone


Install scala-sbt and also Java

To install both JDK and sbt, consider using SDKMAN.

sdk install java $(sdk list java | grep -o “8\.[0-9]*\.[0-9]*\.hs-adpt” | head -1)
sdk install sbt

And then clone the repositories

git clone

Starting App

First configure twitter settings:

  • Open twitter.conf file
  • Setup your twitter API keys in that file.

Perpare the build with:

sbt compileStatics

Then you can run:

sbt run

http://localhost:9000/#/trends/[hashtag] to see current state of curious trend of [hashtag], should be pushing live update from backend. Everytime you open this endpoint with additional hashtag it will accumulate, and the more you did this you might hit twitter Rate limit for your API. Either that or memory limit at some point, current implementation has no backend/persistence support.

http://localhost:9000/assets/2d/ to see 2d visualization using d3 js. Improper integration with d3 js assuming you run this without modification on port 9000 on localhost. Still don’t know how to properly use udash for this.

http://localhost:9000/assets/3d/ the 3d visualization. For both of these visualization, no live update/push from backend, it’s pull based you need to refresh to get the latest data.

This is an example of normal generic trending topics user characteristics looks like (ramos after dirty wins of Real madrid):

Tracked keywords Twitter with Twitrends
Tracked keywords Twitter with Twitrends

Meanwhile, visualization of retweet graph using d3.js 3d force graph:

Retweet graph 3D with Twitrends
Retweet graph 3D with Twitrends