The public Streaming API broadly provides access to up to 1% of public tweets from the overall volume (aka the firehose).
The sample endpoint reaches an average of 50-60 tweets per second.
If you were to use the filter endpoint to search for #bob, you’d see all the tweets posted up to 1% of the total firehose volume at any given time.
If you were to try to consume the whole firehose, you’d be looking at a huge number of tweets and need a very large box to process them. We’d recommend working with a data partner or our own GNIP APIs to provide more detailed access to historical Twitter data.
Here’s a great post on using the Streaming APIs which provides more context, by our own @romainhuet! There are some nice sample apps provided, too.