.. _streaming-api: Streaming API ============= This section will cover how to use Twython and interact with the Twitter Streaming API. Streaming Documentation: https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/streaming-message-types .. important:: The Streaming API requires that you have OAuth 1 authentication credentials. If you don't have credentials, head over to the :ref:`authentication section ` and find out how! Setting Up Your Streamer ------------------------ .. note:: When stream data is sent back to Twython, we send the data through signals (i.e. ``on_success``, ``on_error``, etc.) Make sure you import ``TwythonStreamer`` .. code-block:: python from twython import TwythonStreamer Now set up how you want to handle the signals. .. code-block:: python class MyStreamer(TwythonStreamer): def on_success(self, data): if 'text' in data: print(data['text']) def on_error(self, status_code, data): print(status_code) # Want to stop trying to get data because of the error? # Uncomment the next line! # self.disconnect() More signals that you can extend on can be found in the Developer Interface section under :ref:`Streaming Interface ` Filtering Public Statuses ------------------------- .. code-block:: python stream = MyStreamer(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET) stream.statuses.filter(track='twitter') With the code above, data should be flowing in.