# `tweepy.asynchronous.AsyncStream` — Asynchronous Stream Reference

class tweepy.asynchronous.AsyncStream(consumer_key, consumer_secret, access_token, access_token_secret, *, max_retries=inf, proxy=None)

  Stream realtime Tweets asynchronously

  New in version 4.0.

  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

    - max_retries (Optional[int]) – Number of times to attempt to (re)connect the stream.

    - proxy (Optional[str]) – Proxy URL

  session

    Aiohttp client session used to connect to the API

    Type

      Optional[aiohttp.ClientSession]

  task

    The task running the stream

    Type

      Optional[asyncio.Task]

  user_agent

    User agent used when connecting to the API

    Type

      str

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

    Filter realtime Tweets

    Parameters

      - follow (Optional[List[Union[int, str]]]) – A list of user IDs, indicating the users to return statuses for in the stream. See https://developer.twitter.com/en/docs/twitter-api/v1/tweets/filter-realtime/guides/basic-stream-parameters for more information.

      - track (Optional[List[str]]) – Keywords to track. Phrases of keywords are specified by a list. See https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/basic-stream-parameters for more information.

      - locations (Optional[List[float]]) – Specifies a set of bounding boxes to track. See https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/basic-stream-parameters for more information.

      - 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 (Optional[bool]) – Specifies whether stall warnings should be delivered. See https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/basic-stream-parameters for more information.

    Raises

      TweepyException – When the stream is already connected or when the number of location coordinates is not a multiple of 4

    Returns

      The task running the stream

    Return type

      asyncio.Task

    References

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

  sample(*, languages=None, stall_warnings=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 (Optional[bool]) – Specifies whether stall warnings should be delivered. See https://developer.twitter.com/en/docs/tweets/filter-realtime/guides/basic-stream-parameters for more information.

    Raises

      TweepyException – When the stream is already connected

    Returns

      The task running the stream

    Return type

      asyncio.Task

    References

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

  disconnect()

    Disconnect the stream

  async on_closed(resp)

    This function is a coroutine.

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

    Parameters

      response (aiohttp.ClientResponse) – The response from Twitter

  async on_connect()

    This function is a coroutine.

    This is called after successfully connecting to the streaming API.

  async on_connection_error()

    This function is a coroutine.

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

  async on_disconnect()

    This function is a coroutine.

    This is called when the stream has disconnected.

  async on_exception(exception)

    This function is a coroutine.

    This is called when an unhandled exception occurs.

    Parameters

      exception (Exception) – The unhandled exception

  async on_keep_alive()

    This function is a coroutine.

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

  async on_request_error(status_code)

    This function is a coroutine.

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

    Parameters

      status_code (int) – The HTTP status code encountered

  async on_data(raw_data)

    This function is a coroutine.

    This is called when raw data is received from the stream. This method handles sending the data to other methods, depending 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

  async on_status(status)

    This function is a coroutine.

    This is called when a status is received.

    Parameters

      status (Status) – The Status received

  async on_delete(status_id, user_id)

    This function is a coroutine.

    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

  async on_disconnect_message(message)

    This function is a coroutine.

    This is called when a disconnect message is received.

    Parameters

      message (JSON) – The disconnect message

  async on_limit(track)

    This function is a coroutine.

    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

  async on_scrub_geo(notice)

    This function is a coroutine.

    This is called when a location deletion notice is received.

    Parameters

      notice (JSON) – The location deletion notice

  async on_status_withheld(notice)

    This function is a coroutine.

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

    Parameters

      notice (JSON) – The status withheld content notice

  async on_user_withheld(notice)

    This function is a coroutine.

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

    Parameters

      notice (JSON) – The user withheld content notice

  async on_warning(notice)

    This function is a coroutine.

    This is called when a stall warning message is received.

    Parameters

      warning (JSON) – The stall warning