Limits and good practices for Streaming API


Hi, I still have 2 precise doubts about the rules and good practices for a correct Streaming API use.

1- I have a web application that, upon user authentication, begins to track keywords or users he wishes to. I wish to have a Streaming API connection per user, but there’s a limit of 1 connection per IP so I should have a different IP per user.

Is this correct?

2- If I want to reserve a general stream for my application (for overall stats retrieval), I can use the access token created from the application user. But what if I want to have a general stream per user, without using their tokens (as I don’t want to incur in any privacy issues), can I have a streaming API instance using the same token (mine) from different IPs, or this is forbidden?

Thank you!


Hi Luis,

I wouldn’t recommend trying to make a streaming connection for each of your users – and likewise, would not recommend a single IP address per user so that you could accomplish that. Instead, you’ll have to build a somewhat sophisticated system that will combine the various searches into a single stream request – you’ll then process the incoming tweets and route them to the appropriate users requesting the matching data. When terms change, you’ll need to reconnect to the stream.


Thank you Taylor!

Now if the application was a desktop application, then it wouldn’t be against the rules to have a streaming connection per user? I’d like the user to be able to track up to 400 keywords or 20 geolocations.


For a desktop application, it’d be wisest to use [node:146] and the additional track capabilities that come with that single-user authenticated stream – though you could of course just go straight to’s filter method as you mention, no problem.


Thank you, I’ll try User Streams and let you know.