x-twitter-scraper 0.7.2 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +3 -3
  4. data/lib/x_twitter_scraper/models/credit_topup_balance_response.rb +5 -5
  5. data/lib/x_twitter_scraper/models/draw_export_params.rb +8 -3
  6. data/lib/x_twitter_scraper/models/draw_list_params.rb +2 -2
  7. data/lib/x_twitter_scraper/models/error.rb +8 -0
  8. data/lib/x_twitter_scraper/models/event_list_params.rb +13 -5
  9. data/lib/x_twitter_scraper/models/extraction_estimate_cost_params.rb +731 -82
  10. data/lib/x_twitter_scraper/models/extraction_estimate_cost_response.rb +1 -0
  11. data/lib/x_twitter_scraper/models/extraction_export_results_params.rb +145 -1
  12. data/lib/x_twitter_scraper/models/extraction_list_params.rb +2 -2
  13. data/lib/x_twitter_scraper/models/extraction_retrieve_params.rb +70 -3
  14. data/lib/x_twitter_scraper/models/extraction_run_params.rb +662 -1
  15. data/lib/x_twitter_scraper/models/extraction_run_response.rb +27 -48
  16. data/lib/x_twitter_scraper/models/guest_wallet_create_response.rb +8 -8
  17. data/lib/x_twitter_scraper/models/guest_wallet_topup_response.rb +9 -9
  18. data/lib/x_twitter_scraper/models/monitor.rb +29 -1
  19. data/lib/x_twitter_scraper/models/paginated_tweets.rb +4 -4
  20. data/lib/x_twitter_scraper/models/paginated_users.rb +5 -5
  21. data/lib/x_twitter_scraper/models/support/attachment_download_params.rb +28 -0
  22. data/lib/x_twitter_scraper/models/x/community_retrieve_members_params.rb +113 -1
  23. data/lib/x_twitter_scraper/models/x/community_retrieve_moderators_params.rb +117 -1
  24. data/lib/x_twitter_scraper/models/x/list_retrieve_followers_params.rb +117 -6
  25. data/lib/x_twitter_scraper/models/x/list_retrieve_members_params.rb +116 -1
  26. data/lib/x_twitter_scraper/models/x/tweet_get_favoriters_params.rb +117 -6
  27. data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +153 -1
  28. data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +246 -16
  29. data/lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb +3 -2
  30. data/lib/x_twitter_scraper/models/x/tweet_get_retweeters_params.rb +117 -6
  31. data/lib/x_twitter_scraper/models/x/tweet_search_params.rb +187 -14
  32. data/lib/x_twitter_scraper/models/x/tweet_search_response.rb +299 -0
  33. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_params.rb +143 -10
  34. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_response.rb +241 -0
  35. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rb +117 -6
  36. data/lib/x_twitter_scraper/models/x/user_retrieve_following_params.rb +143 -10
  37. data/lib/x_twitter_scraper/models/x/user_retrieve_following_response.rb +241 -0
  38. data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +153 -1
  39. data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +153 -1
  40. data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +153 -1
  41. data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +159 -7
  42. data/lib/x_twitter_scraper/models/x/user_retrieve_search_params.rb +116 -1
  43. data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +159 -7
  44. data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rb +157 -8
  45. data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rb +245 -0
  46. data/lib/x_twitter_scraper/models/x/x_account.rb +7 -11
  47. data/lib/x_twitter_scraper/resources/credits.rb +2 -2
  48. data/lib/x_twitter_scraper/resources/draws.rb +5 -2
  49. data/lib/x_twitter_scraper/resources/events.rb +10 -4
  50. data/lib/x_twitter_scraper/resources/extractions.rb +383 -84
  51. data/lib/x_twitter_scraper/resources/guest_wallets.rb +9 -13
  52. data/lib/x_twitter_scraper/resources/support/attachments.rb +42 -0
  53. data/lib/x_twitter_scraper/resources/support.rb +5 -0
  54. data/lib/x_twitter_scraper/resources/x/communities.rb +95 -4
  55. data/lib/x_twitter_scraper/resources/x/lists.rb +96 -5
  56. data/lib/x_twitter_scraper/resources/x/tweets.rb +286 -28
  57. data/lib/x_twitter_scraper/resources/x/users.rb +531 -41
  58. data/lib/x_twitter_scraper/version.rb +1 -1
  59. data/lib/x_twitter_scraper.rb +7 -1
  60. data/rbi/x_twitter_scraper/models/credit_topup_balance_response.rbi +6 -6
  61. data/rbi/x_twitter_scraper/models/draw_export_params.rbi +6 -3
  62. data/rbi/x_twitter_scraper/models/draw_list_params.rbi +2 -2
  63. data/rbi/x_twitter_scraper/models/error.rbi +40 -0
  64. data/rbi/x_twitter_scraper/models/event_list_params.rbi +15 -4
  65. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_params.rbi +1338 -86
  66. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_response.rbi +5 -0
  67. data/rbi/x_twitter_scraper/models/extraction_export_results_params.rbi +198 -0
  68. data/rbi/x_twitter_scraper/models/extraction_list_params.rbi +2 -2
  69. data/rbi/x_twitter_scraper/models/extraction_retrieve_params.rbi +194 -2
  70. data/rbi/x_twitter_scraper/models/extraction_run_params.rbi +1221 -0
  71. data/rbi/x_twitter_scraper/models/extraction_run_response.rbi +35 -162
  72. data/rbi/x_twitter_scraper/models/guest_wallet_create_response.rbi +8 -6
  73. data/rbi/x_twitter_scraper/models/guest_wallet_topup_response.rbi +9 -7
  74. data/rbi/x_twitter_scraper/models/monitor.rbi +54 -3
  75. data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +4 -4
  76. data/rbi/x_twitter_scraper/models/paginated_users.rbi +5 -5
  77. data/rbi/x_twitter_scraper/models/support/attachment_download_params.rbi +51 -0
  78. data/rbi/x_twitter_scraper/models/x/community_retrieve_members_params.rbi +154 -0
  79. data/rbi/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbi +154 -0
  80. data/rbi/x_twitter_scraper/models/x/list_retrieve_followers_params.rbi +160 -8
  81. data/rbi/x_twitter_scraper/models/x/list_retrieve_members_params.rbi +154 -0
  82. data/rbi/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbi +160 -8
  83. data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +209 -0
  84. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +403 -20
  85. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_response.rbi +3 -2
  86. data/rbi/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbi +160 -8
  87. data/rbi/x_twitter_scraper/models/x/tweet_search_params.rbi +279 -16
  88. data/rbi/x_twitter_scraper/models/x/tweet_search_response.rbi +543 -0
  89. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_params.rbi +228 -12
  90. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_response.rbi +440 -0
  91. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbi +160 -8
  92. data/rbi/x_twitter_scraper/models/x/user_retrieve_following_params.rbi +228 -12
  93. data/rbi/x_twitter_scraper/models/x/user_retrieve_following_response.rbi +440 -0
  94. data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +209 -0
  95. data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +209 -0
  96. data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +209 -0
  97. data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +217 -8
  98. data/rbi/x_twitter_scraper/models/x/user_retrieve_search_params.rbi +154 -0
  99. data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +217 -8
  100. data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbi +248 -10
  101. data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rbi +440 -0
  102. data/rbi/x_twitter_scraper/models/x/x_account.rbi +9 -15
  103. data/rbi/x_twitter_scraper/resources/credits.rbi +2 -2
  104. data/rbi/x_twitter_scraper/resources/draws.rbi +3 -2
  105. data/rbi/x_twitter_scraper/resources/events.rbi +5 -2
  106. data/rbi/x_twitter_scraper/resources/extractions.rbi +525 -83
  107. data/rbi/x_twitter_scraper/resources/guest_wallets.rbi +9 -13
  108. data/rbi/x_twitter_scraper/resources/support/attachments.rbi +35 -0
  109. data/rbi/x_twitter_scraper/resources/support.rbi +4 -0
  110. data/rbi/x_twitter_scraper/resources/x/communities.rbi +84 -0
  111. data/rbi/x_twitter_scraper/resources/x/lists.rbi +87 -4
  112. data/rbi/x_twitter_scraper/resources/x/tweets.rbi +307 -31
  113. data/rbi/x_twitter_scraper/resources/x/users.rbi +558 -34
  114. data/sig/x_twitter_scraper/models/error.rbs +16 -0
  115. data/sig/x_twitter_scraper/models/event_list_params.rbs +7 -0
  116. data/sig/x_twitter_scraper/models/extraction_estimate_cost_params.rbs +605 -1
  117. data/sig/x_twitter_scraper/models/extraction_estimate_cost_response.rbs +2 -0
  118. data/sig/x_twitter_scraper/models/extraction_export_results_params.rbs +127 -1
  119. data/sig/x_twitter_scraper/models/extraction_retrieve_params.rbs +74 -1
  120. data/sig/x_twitter_scraper/models/extraction_run_params.rbs +611 -1
  121. data/sig/x_twitter_scraper/models/extraction_run_response.rbs +29 -67
  122. data/sig/x_twitter_scraper/models/guest_wallet_create_response.rbs +4 -4
  123. data/sig/x_twitter_scraper/models/guest_wallet_topup_response.rbs +4 -4
  124. data/sig/x_twitter_scraper/models/monitor.rbs +29 -3
  125. data/sig/x_twitter_scraper/models/support/attachment_download_params.rbs +32 -0
  126. data/sig/x_twitter_scraper/models/x/community_retrieve_members_params.rbs +103 -1
  127. data/sig/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbs +102 -1
  128. data/sig/x_twitter_scraper/models/x/list_retrieve_followers_params.rbs +103 -1
  129. data/sig/x_twitter_scraper/models/x/list_retrieve_members_params.rbs +103 -1
  130. data/sig/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbs +103 -1
  131. data/sig/x_twitter_scraper/models/x/tweet_get_quotes_params.rbs +134 -1
  132. data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +207 -2
  133. data/sig/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbs +103 -1
  134. data/sig/x_twitter_scraper/models/x/tweet_search_params.rbs +154 -1
  135. data/sig/x_twitter_scraper/models/x/tweet_search_response.rbs +258 -0
  136. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_params.rbs +119 -1
  137. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_response.rbs +216 -0
  138. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbs +103 -1
  139. data/sig/x_twitter_scraper/models/x/user_retrieve_following_params.rbs +119 -1
  140. data/sig/x_twitter_scraper/models/x/user_retrieve_following_response.rbs +216 -0
  141. data/sig/x_twitter_scraper/models/x/user_retrieve_likes_params.rbs +134 -1
  142. data/sig/x_twitter_scraper/models/x/user_retrieve_media_params.rbs +134 -1
  143. data/sig/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbs +134 -1
  144. data/sig/x_twitter_scraper/models/x/user_retrieve_replies_params.rbs +134 -1
  145. data/sig/x_twitter_scraper/models/x/user_retrieve_search_params.rbs +102 -1
  146. data/sig/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbs +134 -1
  147. data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbs +137 -1
  148. data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rbs +216 -0
  149. data/sig/x_twitter_scraper/resources/events.rbs +1 -0
  150. data/sig/x_twitter_scraper/resources/extractions.rbs +137 -0
  151. data/sig/x_twitter_scraper/resources/support/attachments.rbs +15 -0
  152. data/sig/x_twitter_scraper/resources/support.rbs +2 -0
  153. data/sig/x_twitter_scraper/resources/x/communities.rbs +28 -0
  154. data/sig/x_twitter_scraper/resources/x/lists.rbs +28 -0
  155. data/sig/x_twitter_scraper/resources/x/tweets.rbs +93 -1
  156. data/sig/x_twitter_scraper/resources/x/users.rbs +173 -3
  157. metadata +19 -1
@@ -136,13 +136,41 @@ module XTwitterScraper
136
136
  # identities even when the post reports likes. In that case this endpoint returns
137
137
  # 424 `favoriters_unavailable` instead of a misleading empty success.
138
138
  #
139
- # @overload get_favoriters(id, cursor: nil, page_size: nil, request_options: {})
139
+ # @overload get_favoriters(id, bio_contains: nil, cursor: nil, has_location: nil, has_website: nil, location_contains: nil, max_followers: nil, max_following: nil, max_statuses: nil, min_account_age_days: nil, min_followers: nil, min_following: nil, min_statuses: nil, page_size: nil, username_contains: nil, verified_only: nil, verified_type: nil, request_options: {})
140
140
  #
141
141
  # @param id [String] Tweet ID to get favoriters
142
142
  #
143
+ # @param bio_contains [String] Match any comma-separated or line-separated bio term, ignoring case.
144
+ #
143
145
  # @param cursor [String] Pagination cursor for favoriters
144
146
  #
145
- # @param page_size [Integer] Maximum user profiles requested from this page (20-200, default 200). The respon
147
+ # @param has_location [Boolean] Only return profiles with a location.
148
+ #
149
+ # @param has_website [Boolean] Only return profiles with a website.
150
+ #
151
+ # @param location_contains [String] Match a location substring, ignoring case.
152
+ #
153
+ # @param max_followers [Integer] Maximum follower count. Missing counts pass this maximum.
154
+ #
155
+ # @param max_following [Integer] Maximum following count.
156
+ #
157
+ # @param max_statuses [Integer] Maximum post count. maxPosts is also accepted.
158
+ #
159
+ # @param min_account_age_days [Integer] Minimum account age in whole days.
160
+ #
161
+ # @param min_followers [Integer] Minimum follower count. Filtering happens before billing.
162
+ #
163
+ # @param min_following [Integer] Minimum following count.
164
+ #
165
+ # @param min_statuses [Integer] Minimum post count. minPosts is also accepted.
166
+ #
167
+ # @param page_size [Integer] Maximum user profiles requested from this page (20-200, default 200). Source, fi
168
+ #
169
+ # @param username_contains [String] Match a username substring, ignoring case.
170
+ #
171
+ # @param verified_only [Boolean] Only return verified profiles.
172
+ #
173
+ # @param verified_type [String] Match the verification type exactly, ignoring case.
146
174
  #
147
175
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
148
176
  #
@@ -155,7 +183,23 @@ module XTwitterScraper
155
183
  @client.request(
156
184
  method: :get,
157
185
  path: ["x/tweets/%1$s/favoriters", id],
158
- query: query.transform_keys(page_size: "pageSize"),
186
+ query: query.transform_keys(
187
+ bio_contains: "bioContains",
188
+ has_location: "hasLocation",
189
+ has_website: "hasWebsite",
190
+ location_contains: "locationContains",
191
+ max_followers: "maxFollowers",
192
+ max_following: "maxFollowing",
193
+ max_statuses: "maxStatuses",
194
+ min_account_age_days: "minAccountAgeDays",
195
+ min_followers: "minFollowers",
196
+ min_following: "minFollowing",
197
+ min_statuses: "minStatuses",
198
+ page_size: "pageSize",
199
+ username_contains: "usernameContains",
200
+ verified_only: "verifiedOnly",
201
+ verified_type: "verifiedType"
202
+ ),
159
203
  model: XTwitterScraper::PaginatedUsers,
160
204
  options: options
161
205
  )
@@ -166,12 +210,16 @@ module XTwitterScraper
166
210
  #
167
211
  # List quote tweets of a tweet
168
212
  #
169
- # @overload get_quotes(id, any_words: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, include_replies: nil, in_reply_to_tweet_id: nil, language: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, since_date: nil, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {})
213
+ # @overload get_quotes(id, any_words: nil, blue_verified_only: nil, card_name: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_source: nil, exclude_words: nil, from_user: nil, geocode: nil, hashtags: nil, include_replies: nil, in_reply_to_tweet_id: nil, language: nil, max_faves: nil, max_id: nil, max_quotes: nil, max_replies: nil, max_retweets: nil, media_type: nil, mentioning: nil, min_bookmarks: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, min_views: nil, native_retweets: nil, near: nil, news: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, safe: nil, since_date: nil, since_id: nil, since_time: nil, source: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, within: nil, within_time: nil, request_options: {})
170
214
  #
171
215
  # @param id [String] Numeric tweet ID to get quotes, 15-20 digits
172
216
  #
173
217
  # @param any_words [String] Words or quoted phrases where any one can match. Separate with spaces, commas, o
174
218
  #
219
+ # @param blue_verified_only [Boolean] Only return tweets from Blue-verified authors.
220
+ #
221
+ # @param card_name [String] Match the Tweet card name.
222
+ #
175
223
  # @param cashtags [String] Cashtags separated by spaces, commas, or lines.
176
224
  #
177
225
  # @param conversation_id [String] Conversation ID filter.
@@ -180,10 +228,14 @@ module XTwitterScraper
180
228
  #
181
229
  # @param exact_phrase [String] Exact phrase to match.
182
230
  #
231
+ # @param exclude_source [String] Exclude a source application.
232
+ #
183
233
  # @param exclude_words [String] Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
184
234
  #
185
235
  # @param from_user [String] Filter by author username.
186
236
  #
237
+ # @param geocode [String] Match latitude, longitude, and radius.
238
+ #
187
239
  # @param hashtags [String] Hashtags separated by spaces, commas, or lines.
188
240
  #
189
241
  # @param include_replies [Boolean] Include reply quotes (default false)
@@ -192,10 +244,22 @@ module XTwitterScraper
192
244
  #
193
245
  # @param language [String] Language code filter, e.g. en or tr.
194
246
  #
247
+ # @param max_faves [Integer] Maximum likes threshold. maxLikes is also accepted.
248
+ #
249
+ # @param max_id [String] Return Tweets older than this Tweet ID.
250
+ #
251
+ # @param max_quotes [Integer] Maximum quotes threshold.
252
+ #
253
+ # @param max_replies [Integer] Maximum replies threshold.
254
+ #
255
+ # @param max_retweets [Integer] Maximum retweets threshold.
256
+ #
195
257
  # @param media_type [Symbol, XTwitterScraper::Models::X::TweetGetQuotesParams::MediaType] Filter by media type.
196
258
  #
197
259
  # @param mentioning [String] Filter tweets mentioning a username.
198
260
  #
261
+ # @param min_bookmarks [Integer] Minimum bookmark count threshold.
262
+ #
199
263
  # @param min_faves [Integer] Minimum likes threshold.
200
264
  #
201
265
  # @param min_quotes [Integer] Minimum quote count threshold.
@@ -204,6 +268,14 @@ module XTwitterScraper
204
268
  #
205
269
  # @param min_retweets [Integer] Minimum retweets threshold.
206
270
  #
271
+ # @param min_views [Integer] Minimum view count threshold.
272
+ #
273
+ # @param native_retweets [Boolean] Only return native reposts.
274
+ #
275
+ # @param near [String] Match a place name.
276
+ #
277
+ # @param news [Boolean] Only return news results.
278
+ #
207
279
  # @param page_size [Integer] Maximum page items (1-100, default 20). Source, filters, or credits can reduce r
208
280
  #
209
281
  # @param quotes [Symbol, XTwitterScraper::Models::X::TweetGetQuotesParams::Quotes] Quote mode.
@@ -216,10 +288,16 @@ module XTwitterScraper
216
288
  #
217
289
  # @param retweets_of_tweet_id [String] Only retweets of this tweet ID.
218
290
  #
291
+ # @param safe [Boolean] Enable the safe-search filter.
292
+ #
219
293
  # @param since_date [Date] Start date in YYYY-MM-DD format.
220
294
  #
295
+ # @param since_id [String] Return Tweets newer than this Tweet ID.
296
+ #
221
297
  # @param since_time [String] Unix timestamp - return quotes posted after this time
222
298
  #
299
+ # @param source [String] Match the source application.
300
+ #
223
301
  # @param to_user [String] Filter replies sent to a username.
224
302
  #
225
303
  # @param until_date [Date] End date in YYYY-MM-DD format.
@@ -230,6 +308,10 @@ module XTwitterScraper
230
308
  #
231
309
  # @param verified_only [Boolean] Only return tweets from verified authors.
232
310
  #
311
+ # @param within [String] Set the radius for the near filter.
312
+ #
313
+ # @param within_time [String] Match Tweets inside a recent time window.
314
+ #
233
315
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
234
316
  #
235
317
  # @return [XTwitterScraper::Models::PaginatedTweets]
@@ -243,26 +325,39 @@ module XTwitterScraper
243
325
  path: ["x/tweets/%1$s/quotes", id],
244
326
  query: query.transform_keys(
245
327
  any_words: "anyWords",
328
+ blue_verified_only: "blueVerifiedOnly",
329
+ card_name: "cardName",
246
330
  conversation_id: "conversationId",
247
331
  exact_phrase: "exactPhrase",
332
+ exclude_source: "excludeSource",
248
333
  exclude_words: "excludeWords",
249
334
  from_user: "fromUser",
250
335
  include_replies: "includeReplies",
251
336
  in_reply_to_tweet_id: "inReplyToTweetId",
337
+ max_faves: "maxFaves",
338
+ max_id: "maxId",
339
+ max_quotes: "maxQuotes",
340
+ max_replies: "maxReplies",
341
+ max_retweets: "maxRetweets",
252
342
  media_type: "mediaType",
343
+ min_bookmarks: "minBookmarks",
253
344
  min_faves: "minFaves",
254
345
  min_quotes: "minQuotes",
255
346
  min_replies: "minReplies",
256
347
  min_retweets: "minRetweets",
348
+ min_views: "minViews",
349
+ native_retweets: "nativeRetweets",
257
350
  page_size: "pageSize",
258
351
  quotes_of_tweet_id: "quotesOfTweetId",
259
352
  retweets_of_tweet_id: "retweetsOfTweetId",
260
353
  since_date: "sinceDate",
354
+ since_id: "sinceId",
261
355
  since_time: "sinceTime",
262
356
  to_user: "toUser",
263
357
  until_date: "untilDate",
264
358
  until_time: "untilTime",
265
- verified_only: "verifiedOnly"
359
+ verified_only: "verifiedOnly",
360
+ within_time: "withinTime"
266
361
  ),
267
362
  model: XTwitterScraper::PaginatedTweets,
268
363
  options: options
@@ -272,41 +367,68 @@ module XTwitterScraper
272
367
  # Some parameter documentations has been truncated, see
273
368
  # {XTwitterScraper::Models::X::TweetGetRepliesParams} for more details.
274
369
  #
275
- # Returns direct replies. Complete mode merges available timeline views, supported
276
- # rankings, every forward cursor module, labeled hidden-content branches,
277
- # exact-parent time partitions scaled to the reported reply count, and search. It
278
- # separates nested replies and returns 424 below 80% coverage.
370
+ # Returns direct replies. Omit mode for automatic maximum coverage with resumable
371
+ # pagination. Complete mode returns nested replies, diagnostics, and 424 when
372
+ # direct coverage stays below 80%.
279
373
  #
280
- # @overload get_replies(id, any_words: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, limit: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, mode: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, since_date: nil, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {})
374
+ # @overload get_replies(id, any_words: nil, blue_verified_only: nil, card_name: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_original_author: nil, exclude_source: nil, exclude_words: nil, from_user: nil, geocode: nil, hashtags: nil, has_media_only: nil, include_original_post: nil, in_reply_to_tweet_id: nil, language: nil, limit: nil, max_depth: nil, max_faves: nil, max_id: nil, max_quotes: nil, max_replies: nil, max_retweets: nil, media_type: nil, mentioning: nil, min_bookmarks: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, min_views: nil, mode: nil, native_retweets: nil, near: nil, news: nil, page_size: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, safe: nil, scope: nil, since_date: nil, since_id: nil, since_time: nil, sort: nil, source: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, within: nil, within_time: nil, request_options: {})
281
375
  #
282
376
  # @param id [String] Tweet ID to get replies
283
377
  #
284
378
  # @param any_words [String] Words or quoted phrases where any one can match. Separate with spaces, commas, o
285
379
  #
380
+ # @param blue_verified_only [Boolean] Only return tweets from Blue-verified authors.
381
+ #
382
+ # @param card_name [String] Match the Tweet card name.
383
+ #
286
384
  # @param cashtags [String] Cashtags separated by spaces, commas, or lines.
287
385
  #
288
386
  # @param conversation_id [String] Conversation ID filter.
289
387
  #
290
- # @param cursor [String] Pagination cursor for tweet replies
388
+ # @param cursor [String] Cursor from the previous response. Xquik cursors resume automatic coverage. Exis
291
389
  #
292
390
  # @param exact_phrase [String] Exact phrase to match.
293
391
  #
392
+ # @param exclude_original_author [Boolean] Exclude replies written by the source-post author.
393
+ #
394
+ # @param exclude_source [String] Exclude a source application.
395
+ #
294
396
  # @param exclude_words [String] Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
295
397
  #
296
398
  # @param from_user [String] Filter by author username.
297
399
  #
400
+ # @param geocode [String] Match latitude, longitude, and radius.
401
+ #
298
402
  # @param hashtags [String] Hashtags separated by spaces, commas, or lines.
299
403
  #
404
+ # @param has_media_only [Boolean] Only return replies containing media.
405
+ #
406
+ # @param include_original_post [Boolean] Include the source post and count it toward limit.
407
+ #
300
408
  # @param in_reply_to_tweet_id [String] Only replies to this tweet ID.
301
409
  #
302
410
  # @param language [String] Language code filter, e.g. en or tr.
303
411
  #
304
- # @param limit [Integer] With mode=complete, maximum combined direct and nested reply rows (1-25000). Wit
412
+ # @param limit [Integer] With mode=complete, maximum combined direct and nested reply rows (1-25000, defa
413
+ #
414
+ # @param max_depth [Integer] Maximum reply depth from the source post.
415
+ #
416
+ # @param max_faves [Integer] Maximum likes threshold. maxLikes is also accepted.
417
+ #
418
+ # @param max_id [String] Return Tweets older than this Tweet ID.
419
+ #
420
+ # @param max_quotes [Integer] Maximum quotes threshold.
421
+ #
422
+ # @param max_replies [Integer] Maximum replies threshold.
423
+ #
424
+ # @param max_retweets [Integer] Maximum retweets threshold.
305
425
  #
306
426
  # @param media_type [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::MediaType] Filter by media type.
307
427
  #
308
428
  # @param mentioning [String] Filter tweets mentioning a username.
309
429
  #
430
+ # @param min_bookmarks [Integer] Minimum bookmark count threshold.
431
+ #
310
432
  # @param min_faves [Integer] Minimum likes threshold.
311
433
  #
312
434
  # @param min_quotes [Integer] Minimum quote count threshold.
@@ -315,9 +437,17 @@ module XTwitterScraper
315
437
  #
316
438
  # @param min_retweets [Integer] Minimum retweets threshold.
317
439
  #
318
- # @param mode [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Mode] Set complete for maximum-coverage collection. Complete mode accepts only limit.
440
+ # @param min_views [Integer] Minimum view count threshold.
319
441
  #
320
- # @param page_size [Integer] Maximum page items (1-100, default 20). Source, filters, or credits can reduce r
442
+ # @param mode [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Mode] Optional advanced override. Omit mode for automatic maximum direct reply coverag
443
+ #
444
+ # @param native_retweets [Boolean] Only return native reposts.
445
+ #
446
+ # @param near [String] Match a place name.
447
+ #
448
+ # @param news [Boolean] Only return news results.
449
+ #
450
+ # @param page_size [Integer] Automatic pages accept 1-300 Tweets. Standard pages keep 1-100. Default 20. Cont
321
451
  #
322
452
  # @param quotes [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Quotes] Quote mode.
323
453
  #
@@ -329,10 +459,20 @@ module XTwitterScraper
329
459
  #
330
460
  # @param retweets_of_tweet_id [String] Only retweets of this tweet ID.
331
461
  #
462
+ # @param safe [Boolean] Enable the safe-search filter.
463
+ #
464
+ # @param scope [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Scope] Select all replies, direct replies, or nested replies.
465
+ #
332
466
  # @param since_date [Date] Start date in YYYY-MM-DD format.
333
467
  #
468
+ # @param since_id [String] Return Tweets newer than this Tweet ID.
469
+ #
334
470
  # @param since_time [String] Unix timestamp - return replies posted after this time
335
471
  #
472
+ # @param sort [Symbol, XTwitterScraper::Models::X::TweetGetRepliesParams::Sort] Sort the selected replies before applying limit.
473
+ #
474
+ # @param source [String] Match the source application.
475
+ #
336
476
  # @param to_user [String] Filter replies sent to a username.
337
477
  #
338
478
  # @param until_date [Date] End date in YYYY-MM-DD format.
@@ -343,6 +483,10 @@ module XTwitterScraper
343
483
  #
344
484
  # @param verified_only [Boolean] Only return tweets from verified authors.
345
485
  #
486
+ # @param within [String] Set the radius for the near filter.
487
+ #
488
+ # @param within_time [String] Match Tweets inside a recent time window.
489
+ #
346
490
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
347
491
  #
348
492
  # @return [XTwitterScraper::Models::X::TweetGetRepliesResponse]
@@ -356,25 +500,42 @@ module XTwitterScraper
356
500
  path: ["x/tweets/%1$s/replies", id],
357
501
  query: query.transform_keys(
358
502
  any_words: "anyWords",
503
+ blue_verified_only: "blueVerifiedOnly",
504
+ card_name: "cardName",
359
505
  conversation_id: "conversationId",
360
506
  exact_phrase: "exactPhrase",
507
+ exclude_original_author: "excludeOriginalAuthor",
508
+ exclude_source: "excludeSource",
361
509
  exclude_words: "excludeWords",
362
510
  from_user: "fromUser",
511
+ has_media_only: "hasMediaOnly",
512
+ include_original_post: "includeOriginalPost",
363
513
  in_reply_to_tweet_id: "inReplyToTweetId",
514
+ max_depth: "maxDepth",
515
+ max_faves: "maxFaves",
516
+ max_id: "maxId",
517
+ max_quotes: "maxQuotes",
518
+ max_replies: "maxReplies",
519
+ max_retweets: "maxRetweets",
364
520
  media_type: "mediaType",
521
+ min_bookmarks: "minBookmarks",
365
522
  min_faves: "minFaves",
366
523
  min_quotes: "minQuotes",
367
524
  min_replies: "minReplies",
368
525
  min_retweets: "minRetweets",
526
+ min_views: "minViews",
527
+ native_retweets: "nativeRetweets",
369
528
  page_size: "pageSize",
370
529
  quotes_of_tweet_id: "quotesOfTweetId",
371
530
  retweets_of_tweet_id: "retweetsOfTweetId",
372
531
  since_date: "sinceDate",
532
+ since_id: "sinceId",
373
533
  since_time: "sinceTime",
374
534
  to_user: "toUser",
375
535
  until_date: "untilDate",
376
536
  until_time: "untilTime",
377
- verified_only: "verifiedOnly"
537
+ verified_only: "verifiedOnly",
538
+ within_time: "withinTime"
378
539
  ),
379
540
  model: XTwitterScraper::Models::X::TweetGetRepliesResponse,
380
541
  options: options
@@ -386,13 +547,41 @@ module XTwitterScraper
386
547
  #
387
548
  # List users who retweeted a tweet
388
549
  #
389
- # @overload get_retweeters(id, cursor: nil, page_size: nil, request_options: {})
550
+ # @overload get_retweeters(id, bio_contains: nil, cursor: nil, has_location: nil, has_website: nil, location_contains: nil, max_followers: nil, max_following: nil, max_statuses: nil, min_account_age_days: nil, min_followers: nil, min_following: nil, min_statuses: nil, page_size: nil, username_contains: nil, verified_only: nil, verified_type: nil, request_options: {})
390
551
  #
391
552
  # @param id [String] Tweet ID to get retweeters
392
553
  #
554
+ # @param bio_contains [String] Match any comma-separated or line-separated bio term, ignoring case.
555
+ #
393
556
  # @param cursor [String] Pagination cursor for retweeters
394
557
  #
395
- # @param page_size [Integer] Maximum user profiles requested from this page (20-200, default 200). The respon
558
+ # @param has_location [Boolean] Only return profiles with a location.
559
+ #
560
+ # @param has_website [Boolean] Only return profiles with a website.
561
+ #
562
+ # @param location_contains [String] Match a location substring, ignoring case.
563
+ #
564
+ # @param max_followers [Integer] Maximum follower count. Missing counts pass this maximum.
565
+ #
566
+ # @param max_following [Integer] Maximum following count.
567
+ #
568
+ # @param max_statuses [Integer] Maximum post count. maxPosts is also accepted.
569
+ #
570
+ # @param min_account_age_days [Integer] Minimum account age in whole days.
571
+ #
572
+ # @param min_followers [Integer] Minimum follower count. Filtering happens before billing.
573
+ #
574
+ # @param min_following [Integer] Minimum following count.
575
+ #
576
+ # @param min_statuses [Integer] Minimum post count. minPosts is also accepted.
577
+ #
578
+ # @param page_size [Integer] Maximum user profiles requested from this page (20-200, default 200). Source, fi
579
+ #
580
+ # @param username_contains [String] Match a username substring, ignoring case.
581
+ #
582
+ # @param verified_only [Boolean] Only return verified profiles.
583
+ #
584
+ # @param verified_type [String] Match the verification type exactly, ignoring case.
396
585
  #
397
586
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
398
587
  #
@@ -405,7 +594,23 @@ module XTwitterScraper
405
594
  @client.request(
406
595
  method: :get,
407
596
  path: ["x/tweets/%1$s/retweeters", id],
408
- query: query.transform_keys(page_size: "pageSize"),
597
+ query: query.transform_keys(
598
+ bio_contains: "bioContains",
599
+ has_location: "hasLocation",
600
+ has_website: "hasWebsite",
601
+ location_contains: "locationContains",
602
+ max_followers: "maxFollowers",
603
+ max_following: "maxFollowing",
604
+ max_statuses: "maxStatuses",
605
+ min_account_age_days: "minAccountAgeDays",
606
+ min_followers: "minFollowers",
607
+ min_following: "minFollowing",
608
+ min_statuses: "minStatuses",
609
+ page_size: "pageSize",
610
+ username_contains: "usernameContains",
611
+ verified_only: "verifiedOnly",
612
+ verified_type: "verifiedType"
613
+ ),
409
614
  model: XTwitterScraper::PaginatedUsers,
410
615
  options: options
411
616
  )
@@ -444,44 +649,64 @@ module XTwitterScraper
444
649
  # Some parameter documentations has been truncated, see
445
650
  # {XTwitterScraper::Models::X::TweetSearchParams} for more details.
446
651
  #
447
- # Search tweets by query, Tweet ID, X status URL, or account date window
652
+ # No-mode search maximizes coverage.
448
653
  #
449
- # @overload search(q:, advanced_query: nil, any_words: nil, bounding_box: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, limit: nil, list_id: nil, media_type: nil, mentioning: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, place: nil, place_country: nil, point_radius: nil, query_type: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, since_date: nil, since_time: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, request_options: {})
654
+ # @overload search(q:, advanced_query: nil, any_words: nil, blue_verified_only: nil, bounding_box: nil, card_name: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_source: nil, exclude_words: nil, from_user: nil, geocode: nil, hashtags: nil, in_reply_to_tweet_id: nil, language: nil, limit: nil, list_id: nil, max_faves: nil, max_id: nil, max_quotes: nil, max_replies: nil, max_retweets: nil, media_type: nil, mentioning: nil, min_bookmarks: nil, min_faves: nil, min_quotes: nil, min_replies: nil, min_retweets: nil, min_views: nil, mode: nil, native_retweets: nil, near: nil, news: nil, place: nil, place_country: nil, point_radius: nil, query_type: nil, quotes: nil, quotes_of_tweet_id: nil, replies: nil, retweets: nil, retweets_of_tweet_id: nil, safe: nil, since_date: nil, since_id: nil, since_time: nil, source: nil, to_user: nil, until_date: nil, until_time: nil, url: nil, verified_only: nil, within: nil, within_time: nil, request_options: {})
450
655
  #
451
- # @param q [String] Search query (keywords,
656
+ # @param q [String] Query, Tweet ID, or status URL. Valid inline bounds apply per page.
452
657
  #
453
658
  # @param advanced_query [String] Raw advanced search query appended as-is.
454
659
  #
455
660
  # @param any_words [String] Words or quoted phrases where any one can match. Separate with spaces, commas, o
456
661
  #
662
+ # @param blue_verified_only [Boolean] Only return tweets from Blue-verified authors.
663
+ #
457
664
  # @param bounding_box [String] Geo bounding box, e.g. -74.1 40.6 -73.9 40.8.
458
665
  #
666
+ # @param card_name [String] Match the Tweet card name.
667
+ #
459
668
  # @param cashtags [String] Cashtags separated by spaces, commas, or lines.
460
669
  #
461
670
  # @param conversation_id [String] Conversation ID filter.
462
671
  #
463
- # @param cursor [String] Pagination cursor from previous response
672
+ # @param cursor [String] Cursor from the previous response. Xquik cursors resume automatic coverage. Exis
464
673
  #
465
674
  # @param exact_phrase [String] Exact phrase to match.
466
675
  #
676
+ # @param exclude_source [String] Exclude a source application.
677
+ #
467
678
  # @param exclude_words [String] Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
468
679
  #
469
680
  # @param from_user [String] Filter by author username.
470
681
  #
682
+ # @param geocode [String] Match latitude, longitude, and radius.
683
+ #
471
684
  # @param hashtags [String] Hashtags separated by spaces, commas, or lines.
472
685
  #
473
686
  # @param in_reply_to_tweet_id [String] Only replies to this tweet ID.
474
687
  #
475
688
  # @param language [String] Language code filter, e.g. en or tr.
476
689
  #
477
- # @param limit [Integer] Max tweets to return (server paginates internally). Omit for single page (~20).
690
+ # @param limit [Integer] Result upper bound. Omit it for the existing 20-row page size. Explicit coverage
478
691
  #
479
692
  # @param list_id [String] Search within a list ID.
480
693
  #
694
+ # @param max_faves [Integer] Maximum likes threshold. maxLikes is also accepted.
695
+ #
696
+ # @param max_id [String] Return Tweets older than this Tweet ID.
697
+ #
698
+ # @param max_quotes [Integer] Maximum quotes threshold.
699
+ #
700
+ # @param max_replies [Integer] Maximum replies threshold.
701
+ #
702
+ # @param max_retweets [Integer] Maximum retweets threshold.
703
+ #
481
704
  # @param media_type [Symbol, XTwitterScraper::Models::X::TweetSearchParams::MediaType] Filter by media type.
482
705
  #
483
706
  # @param mentioning [String] Filter tweets mentioning a username.
484
707
  #
708
+ # @param min_bookmarks [Integer] Minimum bookmark count threshold.
709
+ #
485
710
  # @param min_faves [Integer] Minimum likes threshold.
486
711
  #
487
712
  # @param min_quotes [Integer] Minimum quote count threshold.
@@ -490,6 +715,16 @@ module XTwitterScraper
490
715
  #
491
716
  # @param min_retweets [Integer] Minimum retweets threshold.
492
717
  #
718
+ # @param min_views [Integer] Minimum view count threshold.
719
+ #
720
+ # @param mode [Symbol, XTwitterScraper::Models::X::TweetSearchParams::Mode] Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Cove
721
+ #
722
+ # @param native_retweets [Boolean] Only return native reposts.
723
+ #
724
+ # @param near [String] Match a place name.
725
+ #
726
+ # @param news [Boolean] Only return news results.
727
+ #
493
728
  # @param place [String] Search within a place ID.
494
729
  #
495
730
  # @param place_country [String] Search within a country code.
@@ -508,23 +743,33 @@ module XTwitterScraper
508
743
  #
509
744
  # @param retweets_of_tweet_id [String] Only retweets of this tweet ID.
510
745
  #
746
+ # @param safe [Boolean] Enable the safe-search filter.
747
+ #
511
748
  # @param since_date [Date] Start date in YYYY-MM-DD format.
512
749
  #
513
- # @param since_time [String] ISO 8601 timestamp - only return tweets after this time
750
+ # @param since_id [String] Return Tweets newer than this Tweet ID.
751
+ #
752
+ # @param since_time [String] Inclusive ISO bound.
753
+ #
754
+ # @param source [String] Match the source application.
514
755
  #
515
756
  # @param to_user [String] Filter replies sent to a username.
516
757
  #
517
758
  # @param until_date [Date] End date in YYYY-MM-DD format.
518
759
  #
519
- # @param until_time [String] ISO 8601 timestamp - only return tweets before this time
760
+ # @param until_time [String] Exclusive ISO bound.
520
761
  #
521
762
  # @param url [String] URL substring or domain filter.
522
763
  #
523
764
  # @param verified_only [Boolean] Only return tweets from verified authors.
524
765
  #
766
+ # @param within [String] Set the radius for the near filter.
767
+ #
768
+ # @param within_time [String] Match Tweets inside a recent time window.
769
+ #
525
770
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
526
771
  #
527
- # @return [XTwitterScraper::Models::PaginatedTweets]
772
+ # @return [XTwitterScraper::Models::PaginatedTweets, XTwitterScraper::Models::X::TweetSearchResponse::TweetSearchCoverageResponse]
528
773
  #
529
774
  # @see XTwitterScraper::Models::X::TweetSearchParams
530
775
  def search(params)
@@ -536,31 +781,44 @@ module XTwitterScraper
536
781
  query: query.transform_keys(
537
782
  advanced_query: "advancedQuery",
538
783
  any_words: "anyWords",
784
+ blue_verified_only: "blueVerifiedOnly",
539
785
  bounding_box: "boundingBox",
786
+ card_name: "cardName",
540
787
  conversation_id: "conversationId",
541
788
  exact_phrase: "exactPhrase",
789
+ exclude_source: "excludeSource",
542
790
  exclude_words: "excludeWords",
543
791
  from_user: "fromUser",
544
792
  in_reply_to_tweet_id: "inReplyToTweetId",
545
793
  list_id: "listId",
794
+ max_faves: "maxFaves",
795
+ max_id: "maxId",
796
+ max_quotes: "maxQuotes",
797
+ max_replies: "maxReplies",
798
+ max_retweets: "maxRetweets",
546
799
  media_type: "mediaType",
800
+ min_bookmarks: "minBookmarks",
547
801
  min_faves: "minFaves",
548
802
  min_quotes: "minQuotes",
549
803
  min_replies: "minReplies",
550
804
  min_retweets: "minRetweets",
805
+ min_views: "minViews",
806
+ native_retweets: "nativeRetweets",
551
807
  place_country: "placeCountry",
552
808
  point_radius: "pointRadius",
553
809
  query_type: "queryType",
554
810
  quotes_of_tweet_id: "quotesOfTweetId",
555
811
  retweets_of_tweet_id: "retweetsOfTweetId",
556
812
  since_date: "sinceDate",
813
+ since_id: "sinceId",
557
814
  since_time: "sinceTime",
558
815
  to_user: "toUser",
559
816
  until_date: "untilDate",
560
817
  until_time: "untilTime",
561
- verified_only: "verifiedOnly"
818
+ verified_only: "verifiedOnly",
819
+ within_time: "withinTime"
562
820
  ),
563
- model: XTwitterScraper::PaginatedTweets,
821
+ model: XTwitterScraper::Models::X::TweetSearchResponse,
564
822
  options: options
565
823
  )
566
824
  end