Author image Martin Redmond
and 1 contributors


Using Twitter's streaming api.


  use Net::Twitter::Stream;

  Net::Twitter::Stream->new ( user => $username, pass => $password,
                              callback => \&got_tweet,
                              track => 'perl,tinychat,emacs',
                              follow => '27712481,14252288,972651' );

     sub got_tweet {
         my ( $tweet, $json ) = @_;   # a hash containing the tweet
                                      # and the original json
         print "By: $tweet->{user}{screen_name}\n";
         print "Message: $tweet->{text}\n";


The Streaming verson of the Twitter API allows near-realtime access to various subsets of Twitter public statuses.

The /1/status/filter.json api call can be use to track up to 200 keywords and to follow 200 users.

HTTP Basic authentication is supported (no OAuth yet) so you will need a twitter account to connect.

JSON format is only supported. Twitter may depreciate XML.

More details at:

Options user, pass: required, twitter account user/password callback: required, a subroutine called on each received tweet @martinredmond


https fix: iwan standley <>