The documentation for statuses/filter Streaming API endpoint says that 5000 userids is a limit for the amount of followed accounts: https://dev.twitter.com/streaming/reference/post/statuses/filter.
However in reality I’m getting 503 Service Temporarily Unavailable error when using lists with 1426 accounts or longer:
"(Status {statusCode = 503, statusMessage = \"Service Temporarily Unavailable\"},[(\"connection\",\"close\"),(\"content-length\",\"0\"),(\"date\",\"Mon, 16 Nov 2015 11:41:52 GMT\"),(\"server\",\"tsa\"),(\"x-connection-hash\",\"027f64fea03b4680629d88b07ab62a92\")])"
It works if I decrease the list length to 1425 or less. This behaviour is consistent regardless of what OAuth tokens I use (I’ve tested with multiple tokens unused by other applications) or what IP of the connecting box is. I had an idea of splitting my list in some 1000-1400 long chunks and establishing a streaming API connection for every chunk, but in this case I get 200 OK response for the first connection and 420 Embrace your calm
for the rest.
The cutoff value of 1425 is oddly specific, does anybody have any possible explanation to this?
The official example is not helpful, because it limits the number of followed users to just 100: https://github.com/twitter/hbc/blob/master/hbc-core/src/main/java/com/twitter/hbc/core/endpoint/SitestreamEndpoint.java#L32
If 1425 is the actual hard limit per single API token, shouldn’t the API documentation be updated to reflect this? It’s misleading otherwise.