connectFilteredStream abstract method

Future<TwitterStreamResponse<FilteredStreamResponse>> connectFilteredStream({
  1. int? backfillMinutes,
  2. List<TweetExpansion>? expansions,
  3. List<TweetField>? tweetFields,
  4. List<UserField>? userFields,
  5. List<PlaceField>? placeFields,
  6. List<PollField>? pollFields,
  7. List<MediaField>? mediaFields,
})

Streams Tweets in real-time that match the rules that you added to the stream using the POST /tweets/search/stream/rules endpoint. If you haven't added any rules to your stream, you will not receive any Tweets.

If you have been approved for Academic Research access, you can take advantage of the redundant connections functionality, which allows you to connect to a stream up to two times, which will help maximize your streaming up-time.

The Tweets returned by this endpoint count towards the Project-level Tweet cap.

Parameters

  • backfillMinutes: By passing this parameter, you can recover up to five minutes worth of data that you might have missed during a disconnection. The backfilled Tweets will automatically flow through a reconnected stream, with older Tweets generally being delivered before any newly matching Tweets. You must include a whole number between 1 and 5 as the value to this parameter.

                   This feature will deliver all Tweets that matched
                   your rules and were published during the time frame
                   selected, meaning that if you were disconnected for
                   90 seconds, and you requested two minutes of
                   backfill, you will receive 30 seconds worth of
                   duplicate Tweets. Due to this, you should make sure
                   your system is tolerant of duplicate data.
    
                   This feature is currently only available to users
                   who have been approved for Academic Research access.
    
  • expansions: Expansions enable you to request additional data objects that relate to the originally returned Tweets. Submit a list of desired expansions in a comma-separated list without spaces. The ID that represents the expanded data object will be included directly in the Tweet data object, but the expanded object metadata will be returned within the includes response object, and will also include the ID so that you can match this data object to the original Tweet object.

  • tweetFields: This fields parameter enables you to select which specific Tweet fields will deliver in each returned Tweet object. You can also pass expansions to return the specified fields for both the original Tweet and any included referenced Tweets. The requested Tweet fields will display in both the original Tweet data object, as well as in the referenced Tweet expanded data object that will be located in the includes data object.

  • userFields: This fields parameter enables you to select which specific user fields will deliver in each returned Tweet. While the user ID will be located in the original Tweet object, you will find this ID and all additional user fields in the includes data object.

  • placeFields: This fields parameter enables you to select which specific place fields will deliver in each returned Tweet. Specify the desired fields in a comma-separated list without spaces between commas and fields. The Tweet will only return place fields if the Tweet contains a place and if you’ve also included the expansions=geo.place_id query parameter in your request. While the place ID will be located in the Tweet object, you will find this ID and all additional place fields in the includes data object.

  • pollFields: This fields parameter enables you to select which specific poll fields will deliver in each returned Tweet. Specify the desired fields in a comma-separated list without spaces between commas and fields. The Tweet will only return poll fields if the Tweet contains a poll and if you've also included the expansions=attachments.poll_ids query parameter in your request. While the poll ID will be located in the Tweet object, you will find this ID and all additional poll fields in the includes data object.

  • mediaFields: This fields parameter enables you to select which specific media fields will deliver in each returned Tweet. Specify the desired fields in a comma-separated list without spaces between commas and fields. The Tweet will only return media fields if the Tweet contains media and if you've also included the expansions=attachments.media_keys query parameter in your request. While the media ID will be located in the Tweet object, you will find this ID and all additional media fields in the includes data object.

Endpoint Url

Authentication Methods

  • OAuth 2.0 App-only

Rate Limits

  • App rate limit (OAuth 2.0 App Access Token): 50 requests per 15-minute window shared among all users of your app

Reference

Implementation

Future<TwitterStreamResponse<FilteredStreamResponse>> connectFilteredStream({
  int? backfillMinutes,
  List<TweetExpansion>? expansions,
  List<TweetField>? tweetFields,
  List<UserField>? userFields,
  List<PlaceField>? placeFields,
  List<PollField>? pollFields,
  List<MediaField>? mediaFields,
});