# `tweepy.Stream` — Stream Reference

class tweepy.Stream(consumer_key, consumer_secret, access_token, access_token_secret, *, chunk_size=512, daemon=False, max_retries=inf, proxy=None, verify=True)

  Filter and sample realtime Tweets

  Parameters

    - consumer_key (str) – Twitter API Consumer Key

    - consumer_secret (str) – Twitter API Consumer Secret

    - access_token (str) – Twitter API Access Token

    - access_token_secret (str) – Twitter API Access Token Secret

    - chunk_size (int) – The default socket.read size. Default to 512, less than half the size of a Tweet so that it reads Tweets with the minimal latency of 2 reads per Tweet. Values higher than ~1kb will increase latency by waiting for more data to arrive but may also increase throughput by doing fewer socket read calls.

    - daemon (bool) – Whether or not to use a daemon thread when using a thread to run the stream

    - max_retries (int) – Max number of times to retry connecting the stream

    - proxy (Optional[str]) – URL of the proxy to use when connecting to the stream

    - verify (Union[bool, str]) – Either a boolean, in which case it controls whether to verify the server’s TLS certificate, or a string, in which case it must be a path to a CA bundle to use.

  running

    Whether there’s currently a stream running

    Type

      bool

  session

    Requests Session used to connect to the stream

    Type

      Optional[`requests.Session`]

  thread

    Thread used to run the stream

    Type

      Optional[`threading.Thread`]

  user_agent

    User agent used when connecting to the stream

    Type

      str

  filter(*, follow=None, track=None, locations=None, filter_level=None, languages=None, stall_warnings=False, threaded=False)

    Filter realtime Tweets

    Parameters

      - follow (Optional[List[Union[int, str]]]) – User IDs, indicating the users to return statuses for in the stream

      - track (Optional[List[str]]) – Keywords to track

      - locations (Optional[List[float]]) – Specifies a set of bounding boxes to track

      - filter_level (Optional[str]) –

        Setting this parameter to one of none, low, or medium will set the minimum value of the filter_level Tweet attribute required to be included in the stream. The default value is none, which includes all available Tweets.

        When displaying a stream of Tweets to end users (dashboards or live feeds at a presentation or conference, for example) it is suggested that you set this value to medium.

      - languages (Optional[List[str]]) – Setting this parameter to a comma-separated list of BCP 47 language identifiers corresponding to any of the languages listed on Twitter’s advanced search page will only return Tweets that have been detected as being written in the specified languages. For example, connecting with language=en will only stream Tweets detected to be in the English language.

      - stall_warnings (bool) – Specifies whether stall warnings should be delivered

      - threaded (bool) – Whether or not to use a thread to run the stream

    Raises

      TweepyException – When number of location coordinates is not a multiple of 4

    Returns

      The thread if `threaded` is set to `True`, else `None`

    Return type

      Optional[threading.Thread]

    References

    https://developer.twitter.com/en/docs/twitter-api/v1/tweets/filter-realtime/api-reference/post-statuses-filter

  sample(*, languages=None, stall_warnings=False, threaded=False)

    Sample realtime Tweets

    Parameters

      - languages (Optional[List[str]]) – Setting this parameter to a comma-separated list of BCP 47 language identifiers corresponding to any of the languages listed on Twitter’s advanced search page will only return Tweets that have been detected as being written in the specified languages. For example, connecting with language=en will only stream Tweets detected to be in the English language.

      - stall_warnings (bool) – Specifies whether stall warnings should be delivered

      - threaded (bool) – Whether or not to use a thread to run the stream

    Returns

      The thread if `threaded` is set to `True`, else `None`

    Return type

      Optional[threading.Thread]

    References

    https://developer.twitter.com/en/docs/twitter-api/v1/tweets/sample-realtime/api-reference/get-statuses-sample

  disconnect()

    Disconnect the stream

  on_closed(response)

    This is called when the stream has been closed by Twitter.

    Parameters

      response (requests.Response) – The Response from Twitter

  on_connect()

    This is called after successfully connecting to the streaming API.

  on_connection_error()

    This is called when the stream connection errors or times out.

  on_disconnect()

    This is called when the stream has disconnected.

  on_exception(exception)

    This is called when an unhandled exception occurs.

    Parameters

      exception (Exception) – The unhandled exception

  on_keep_alive()

    This is called when a keep-alive signal is received.

  on_request_error(status_code)

    This is called when a non-200 HTTP status code is encountered.

    Parameters

      status_code (int) – The HTTP status code encountered

  on_data(raw_data)

    This is called when raw data is received from the stream. This method handles sending the data to other methods based on the message type.

    Parameters

      raw_data (JSON) – The raw data from the stream

    References

    https://developer.twitter.com/en/docs/twitter-api/v1/tweets/filter-realtime/guides/streaming-message-types

  on_status(status)

    This is called when a status is received.

    Parameters

      status (Status) – The Status received

  on_delete(status_id, user_id)

    This is called when a status deletion notice is received.

    Parameters

      - status_id (int) – The ID of the deleted Tweet

      - user_id (int) – The ID of the author of the Tweet

  on_disconnect_message(message)

    This is called when a disconnect message is received.

    Parameters

      message (JSON) – The disconnect message

  on_limit(track)

    This is called when a limit notice is received.

    Parameters

      track (int) – Total count of the number of undelivered Tweets since the connection was opened

  on_scrub_geo(notice)

    This is called when a location deletion notice is received.

    Parameters

      notice (JSON) – The location deletion notice

  on_status_withheld(notice)

    This is called when a status withheld content notice is received.

    Parameters

      notice (JSON) – The status withheld content notice

  on_user_withheld(notice)

    This is called when a user withheld content notice is received.

    Parameters

      notice (JSON) – The user withheld content notice

  on_warning(warning)

    This is called when a stall warning message is received.

    Parameters

      warning (JSON) – The stall warning