Streaming API for multiple filter criteria


I have a usecase where the live tweets need to be published for an user’s filter criteria. I am using the Public Stream. I understand that multiple connections on this stream is not possible. So how do I get a stream feed for each filter criteria for each user? Is this possible with a single connection open?


You can probably multiplex through a single stream.

If User A is interested in tweets containing “apple” and User B is interested in tweets containing “orange” then create a stream which tracks both these keywords. When the stream delivers a tweet, your system will need to route it to the correct user depending on keywords within the tweet.


While performing Stream operation for multiple hastags(Ex: #apple #banana #orange), is there a way to get a mapping between status object and its corresponding hastag. I know one way to do this is to perform tweet content match and map it to corresponding hashtag. But is there any better way to do this?


I have the same problem. has anyone written something takes a tweet and returns which of our filters it matched?

Kind regards. Bellow is a a brief description of our product and requirements I have been sending to different vendors. I personally do not what to write this code if I can avoid it

twitter only allows us to run one streaming collector. So we let say we collect data for several different projects. This creates problems for us

we currently process our data by following people vs hash tag stuff differently (different analyses). We do not want to do unnecessary processing (i.e. Run all the analytics on everything at the same time)

The streaming api lumps all the data. Twitter does not provide a way to identify which filter a tweet matched so we could separate our lump back into separate streams (I would prefer to run multiple collectors)

I image we will want to silo data based on customer and project (separate collectors make this easier)

Reduce down time. If we have a single collector and need to change our filter we have to stop and restart. Basically unrelated projects cause potential data loss.


As previously mentioned, the free public stream does not offer this feature. You have to post process incoming data within your own code.

However, Twitter offers a paid enterprise streaming API through Gnip with this very feature.