Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A Java client for the Twitter Streaming API
branch: master
Failed to load latest commit information.
lib Changed the files according to the comments.
src Use Set instead of HashSet.
.gitignore Add build.xml.
LICENSE Initial commit.
TODO Add tests to TODO.
build.xml Add build.xml.
run-example Add build.xml.


This is a Java client for the Twitter streaming API, documented at

Source is available at

com.gist.twitter.TwitterClient connects to Twitter using the Jakarta
Commons HttpClient 3.1,  It
backs off and reconnects on HTTP and TCP errors as per the spec.  It
can connect using multiple sets of credentials at once.

TwitterClient is constructed with two helper objects.  This
functionality has been factored out since it's likely to vary wildly
according to need.

- A FilterParameterFetcher is called periodically to get the set of
  Twitter ids to follow and keywords to track.

- A TwitterStreamProcessor processes the actual data stream.  How this
  is done and how you filter and process the results are up to you.
  Twitter recommends handing off statuses via an asynchronous queueing
  mechanism, which is a good design.  If multiple credentials are
  used, all streams use the same TwitterStreamProcessor object which
  allows the content of the streams to be aggregated.

The example code provides rudimentary implementations of both of these
objects.  It will connect with the given credentials, track a given
set of Twitter ids, parse the JSON, and print it to stdout.
Essentially this just replicates the stream to stdout.
Something went wrong with that request. Please try again.