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
@@ -30,6 +30,20 @@ module XTwitterScraper
30
30
  sig { params(any_words: String).void }
31
31
  attr_writer :any_words
32
32
 
33
+ # Only return tweets from Blue-verified authors.
34
+ sig { returns(T.nilable(T::Boolean)) }
35
+ attr_reader :blue_verified_only
36
+
37
+ sig { params(blue_verified_only: T::Boolean).void }
38
+ attr_writer :blue_verified_only
39
+
40
+ # Match the Tweet card name.
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :card_name
43
+
44
+ sig { params(card_name: String).void }
45
+ attr_writer :card_name
46
+
33
47
  # Cashtags separated by spaces, commas, or lines.
34
48
  sig { returns(T.nilable(String)) }
35
49
  attr_reader :cashtags
@@ -44,7 +58,8 @@ module XTwitterScraper
44
58
  sig { params(conversation_id: String).void }
45
59
  attr_writer :conversation_id
46
60
 
47
- # Pagination cursor for user tweets
61
+ # Cursor from the previous response. Xquik cursors resume automatic coverage.
62
+ # Existing unprefixed cursors keep legacy standard behavior.
48
63
  sig { returns(T.nilable(String)) }
49
64
  attr_reader :cursor
50
65
 
@@ -58,6 +73,13 @@ module XTwitterScraper
58
73
  sig { params(exact_phrase: String).void }
59
74
  attr_writer :exact_phrase
60
75
 
76
+ # Exclude a source application.
77
+ sig { returns(T.nilable(String)) }
78
+ attr_reader :exclude_source
79
+
80
+ sig { params(exclude_source: String).void }
81
+ attr_writer :exclude_source
82
+
61
83
  # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
62
84
  sig { returns(T.nilable(String)) }
63
85
  attr_reader :exclude_words
@@ -72,6 +94,13 @@ module XTwitterScraper
72
94
  sig { params(from_user: String).void }
73
95
  attr_writer :from_user
74
96
 
97
+ # Match latitude, longitude, and radius.
98
+ sig { returns(T.nilable(String)) }
99
+ attr_reader :geocode
100
+
101
+ sig { params(geocode: String).void }
102
+ attr_writer :geocode
103
+
75
104
  # Hashtags separated by spaces, commas, or lines.
76
105
  sig { returns(T.nilable(String)) }
77
106
  attr_reader :hashtags
@@ -107,6 +136,41 @@ module XTwitterScraper
107
136
  sig { params(language: String).void }
108
137
  attr_writer :language
109
138
 
139
+ # Maximum likes threshold. maxLikes is also accepted.
140
+ sig { returns(T.nilable(Integer)) }
141
+ attr_reader :max_faves
142
+
143
+ sig { params(max_faves: Integer).void }
144
+ attr_writer :max_faves
145
+
146
+ # Return Tweets older than this Tweet ID.
147
+ sig { returns(T.nilable(String)) }
148
+ attr_reader :max_id
149
+
150
+ sig { params(max_id: String).void }
151
+ attr_writer :max_id
152
+
153
+ # Maximum quotes threshold.
154
+ sig { returns(T.nilable(Integer)) }
155
+ attr_reader :max_quotes
156
+
157
+ sig { params(max_quotes: Integer).void }
158
+ attr_writer :max_quotes
159
+
160
+ # Maximum replies threshold.
161
+ sig { returns(T.nilable(Integer)) }
162
+ attr_reader :max_replies
163
+
164
+ sig { params(max_replies: Integer).void }
165
+ attr_writer :max_replies
166
+
167
+ # Maximum retweets threshold.
168
+ sig { returns(T.nilable(Integer)) }
169
+ attr_reader :max_retweets
170
+
171
+ sig { params(max_retweets: Integer).void }
172
+ attr_writer :max_retweets
173
+
110
174
  # Filter by media type.
111
175
  sig do
112
176
  returns(
@@ -132,6 +196,13 @@ module XTwitterScraper
132
196
  sig { params(mentioning: String).void }
133
197
  attr_writer :mentioning
134
198
 
199
+ # Minimum bookmark count threshold.
200
+ sig { returns(T.nilable(Integer)) }
201
+ attr_reader :min_bookmarks
202
+
203
+ sig { params(min_bookmarks: Integer).void }
204
+ attr_writer :min_bookmarks
205
+
135
206
  # Minimum likes threshold.
136
207
  sig { returns(T.nilable(Integer)) }
137
208
  attr_reader :min_faves
@@ -160,9 +231,36 @@ module XTwitterScraper
160
231
  sig { params(min_retweets: Integer).void }
161
232
  attr_writer :min_retweets
162
233
 
163
- # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
164
- # results. Continue while has_next_page is true. Deprecated limit and count
165
- # aliases remain accepted.
234
+ # Minimum view count threshold.
235
+ sig { returns(T.nilable(Integer)) }
236
+ attr_reader :min_views
237
+
238
+ sig { params(min_views: Integer).void }
239
+ attr_writer :min_views
240
+
241
+ # Only return native reposts.
242
+ sig { returns(T.nilable(T::Boolean)) }
243
+ attr_reader :native_retweets
244
+
245
+ sig { params(native_retweets: T::Boolean).void }
246
+ attr_writer :native_retweets
247
+
248
+ # Match a place name.
249
+ sig { returns(T.nilable(String)) }
250
+ attr_reader :near
251
+
252
+ sig { params(near: String).void }
253
+ attr_writer :near
254
+
255
+ # Only return news results.
256
+ sig { returns(T.nilable(T::Boolean)) }
257
+ attr_reader :news
258
+
259
+ sig { params(news: T::Boolean).void }
260
+ attr_writer :news
261
+
262
+ # Automatic pages accept 1-300 Tweets. Standard pages keep 1-100. Default 20.
263
+ # Continue while has_next_page is true. Deprecated aliases remain accepted.
166
264
  sig { returns(T.nilable(Integer)) }
167
265
  attr_reader :page_size
168
266
 
@@ -237,6 +335,13 @@ module XTwitterScraper
237
335
  sig { params(retweets_of_tweet_id: String).void }
238
336
  attr_writer :retweets_of_tweet_id
239
337
 
338
+ # Enable the safe-search filter.
339
+ sig { returns(T.nilable(T::Boolean)) }
340
+ attr_reader :safe
341
+
342
+ sig { params(safe: T::Boolean).void }
343
+ attr_writer :safe
344
+
240
345
  # Start date in YYYY-MM-DD format.
241
346
  sig { returns(T.nilable(Date)) }
242
347
  attr_reader :since_date
@@ -244,6 +349,20 @@ module XTwitterScraper
244
349
  sig { params(since_date: Date).void }
245
350
  attr_writer :since_date
246
351
 
352
+ # Return Tweets newer than this Tweet ID.
353
+ sig { returns(T.nilable(String)) }
354
+ attr_reader :since_id
355
+
356
+ sig { params(since_id: String).void }
357
+ attr_writer :since_id
358
+
359
+ # Match the source application.
360
+ sig { returns(T.nilable(String)) }
361
+ attr_reader :source
362
+
363
+ sig { params(source: String).void }
364
+ attr_writer :source
365
+
247
366
  # Filter replies sent to a username.
248
367
  sig { returns(T.nilable(String)) }
249
368
  attr_reader :to_user
@@ -272,28 +391,56 @@ module XTwitterScraper
272
391
  sig { params(verified_only: T::Boolean).void }
273
392
  attr_writer :verified_only
274
393
 
394
+ # Set the radius for the near filter.
395
+ sig { returns(T.nilable(String)) }
396
+ attr_reader :within
397
+
398
+ sig { params(within: String).void }
399
+ attr_writer :within
400
+
401
+ # Match Tweets inside a recent time window.
402
+ sig { returns(T.nilable(String)) }
403
+ attr_reader :within_time
404
+
405
+ sig { params(within_time: String).void }
406
+ attr_writer :within_time
407
+
275
408
  sig do
276
409
  params(
277
410
  id: String,
278
411
  any_words: String,
412
+ blue_verified_only: T::Boolean,
413
+ card_name: String,
279
414
  cashtags: String,
280
415
  conversation_id: String,
281
416
  cursor: String,
282
417
  exact_phrase: String,
418
+ exclude_source: String,
283
419
  exclude_words: String,
284
420
  from_user: String,
421
+ geocode: String,
285
422
  hashtags: String,
286
423
  include_parent_tweet: T::Boolean,
287
424
  include_replies: T::Boolean,
288
425
  in_reply_to_tweet_id: String,
289
426
  language: String,
427
+ max_faves: Integer,
428
+ max_id: String,
429
+ max_quotes: Integer,
430
+ max_replies: Integer,
431
+ max_retweets: Integer,
290
432
  media_type:
291
433
  XTwitterScraper::X::UserRetrieveTweetsParams::MediaType::OrSymbol,
292
434
  mentioning: String,
435
+ min_bookmarks: Integer,
293
436
  min_faves: Integer,
294
437
  min_quotes: Integer,
295
438
  min_replies: Integer,
296
439
  min_retweets: Integer,
440
+ min_views: Integer,
441
+ native_retweets: T::Boolean,
442
+ near: String,
443
+ news: T::Boolean,
297
444
  page_size: Integer,
298
445
  quotes:
299
446
  XTwitterScraper::X::UserRetrieveTweetsParams::Quotes::OrSymbol,
@@ -303,11 +450,16 @@ module XTwitterScraper
303
450
  retweets:
304
451
  XTwitterScraper::X::UserRetrieveTweetsParams::Retweets::OrSymbol,
305
452
  retweets_of_tweet_id: String,
453
+ safe: T::Boolean,
306
454
  since_date: Date,
455
+ since_id: String,
456
+ source: String,
307
457
  to_user: String,
308
458
  until_date: Date,
309
459
  url: String,
310
460
  verified_only: T::Boolean,
461
+ within: String,
462
+ within_time: String,
311
463
  request_options: XTwitterScraper::RequestOptions::OrHash
312
464
  ).returns(T.attached_class)
313
465
  end
@@ -316,18 +468,27 @@ module XTwitterScraper
316
468
  # Words or quoted phrases where any one can match. Separate with spaces, commas,
317
469
  # or lines.
318
470
  any_words: nil,
471
+ # Only return tweets from Blue-verified authors.
472
+ blue_verified_only: nil,
473
+ # Match the Tweet card name.
474
+ card_name: nil,
319
475
  # Cashtags separated by spaces, commas, or lines.
320
476
  cashtags: nil,
321
477
  # Conversation ID filter.
322
478
  conversation_id: nil,
323
- # Pagination cursor for user tweets
479
+ # Cursor from the previous response. Xquik cursors resume automatic coverage.
480
+ # Existing unprefixed cursors keep legacy standard behavior.
324
481
  cursor: nil,
325
482
  # Exact phrase to match.
326
483
  exact_phrase: nil,
484
+ # Exclude a source application.
485
+ exclude_source: nil,
327
486
  # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
328
487
  exclude_words: nil,
329
488
  # Filter by author username.
330
489
  from_user: nil,
490
+ # Match latitude, longitude, and radius.
491
+ geocode: nil,
331
492
  # Hashtags separated by spaces, commas, or lines.
332
493
  hashtags: nil,
333
494
  # Include parent tweet for replies
@@ -338,10 +499,22 @@ module XTwitterScraper
338
499
  in_reply_to_tweet_id: nil,
339
500
  # Language code filter, e.g. en or tr.
340
501
  language: nil,
502
+ # Maximum likes threshold. maxLikes is also accepted.
503
+ max_faves: nil,
504
+ # Return Tweets older than this Tweet ID.
505
+ max_id: nil,
506
+ # Maximum quotes threshold.
507
+ max_quotes: nil,
508
+ # Maximum replies threshold.
509
+ max_replies: nil,
510
+ # Maximum retweets threshold.
511
+ max_retweets: nil,
341
512
  # Filter by media type.
342
513
  media_type: nil,
343
514
  # Filter tweets mentioning a username.
344
515
  mentioning: nil,
516
+ # Minimum bookmark count threshold.
517
+ min_bookmarks: nil,
345
518
  # Minimum likes threshold.
346
519
  min_faves: nil,
347
520
  # Minimum quote count threshold.
@@ -350,9 +523,16 @@ module XTwitterScraper
350
523
  min_replies: nil,
351
524
  # Minimum retweets threshold.
352
525
  min_retweets: nil,
353
- # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
354
- # results. Continue while has_next_page is true. Deprecated limit and count
355
- # aliases remain accepted.
526
+ # Minimum view count threshold.
527
+ min_views: nil,
528
+ # Only return native reposts.
529
+ native_retweets: nil,
530
+ # Match a place name.
531
+ near: nil,
532
+ # Only return news results.
533
+ news: nil,
534
+ # Automatic pages accept 1-300 Tweets. Standard pages keep 1-100. Default 20.
535
+ # Continue while has_next_page is true. Deprecated aliases remain accepted.
356
536
  page_size: nil,
357
537
  # Quote mode.
358
538
  quotes: nil,
@@ -364,8 +544,14 @@ module XTwitterScraper
364
544
  retweets: nil,
365
545
  # Only retweets of this tweet ID.
366
546
  retweets_of_tweet_id: nil,
547
+ # Enable the safe-search filter.
548
+ safe: nil,
367
549
  # Start date in YYYY-MM-DD format.
368
550
  since_date: nil,
551
+ # Return Tweets newer than this Tweet ID.
552
+ since_id: nil,
553
+ # Match the source application.
554
+ source: nil,
369
555
  # Filter replies sent to a username.
370
556
  to_user: nil,
371
557
  # End date in YYYY-MM-DD format.
@@ -374,6 +560,10 @@ module XTwitterScraper
374
560
  url: nil,
375
561
  # Only return tweets from verified authors.
376
562
  verified_only: nil,
563
+ # Set the radius for the near filter.
564
+ within: nil,
565
+ # Match Tweets inside a recent time window.
566
+ within_time: nil,
377
567
  request_options: {}
378
568
  )
379
569
  end
@@ -383,24 +573,38 @@ module XTwitterScraper
383
573
  {
384
574
  id: String,
385
575
  any_words: String,
576
+ blue_verified_only: T::Boolean,
577
+ card_name: String,
386
578
  cashtags: String,
387
579
  conversation_id: String,
388
580
  cursor: String,
389
581
  exact_phrase: String,
582
+ exclude_source: String,
390
583
  exclude_words: String,
391
584
  from_user: String,
585
+ geocode: String,
392
586
  hashtags: String,
393
587
  include_parent_tweet: T::Boolean,
394
588
  include_replies: T::Boolean,
395
589
  in_reply_to_tweet_id: String,
396
590
  language: String,
591
+ max_faves: Integer,
592
+ max_id: String,
593
+ max_quotes: Integer,
594
+ max_replies: Integer,
595
+ max_retweets: Integer,
397
596
  media_type:
398
597
  XTwitterScraper::X::UserRetrieveTweetsParams::MediaType::OrSymbol,
399
598
  mentioning: String,
599
+ min_bookmarks: Integer,
400
600
  min_faves: Integer,
401
601
  min_quotes: Integer,
402
602
  min_replies: Integer,
403
603
  min_retweets: Integer,
604
+ min_views: Integer,
605
+ native_retweets: T::Boolean,
606
+ near: String,
607
+ news: T::Boolean,
404
608
  page_size: Integer,
405
609
  quotes:
406
610
  XTwitterScraper::X::UserRetrieveTweetsParams::Quotes::OrSymbol,
@@ -410,11 +614,16 @@ module XTwitterScraper
410
614
  retweets:
411
615
  XTwitterScraper::X::UserRetrieveTweetsParams::Retweets::OrSymbol,
412
616
  retweets_of_tweet_id: String,
617
+ safe: T::Boolean,
413
618
  since_date: Date,
619
+ since_id: String,
620
+ source: String,
414
621
  to_user: String,
415
622
  until_date: Date,
416
623
  url: String,
417
624
  verified_only: T::Boolean,
625
+ within: String,
626
+ within_time: String,
418
627
  request_options: XTwitterScraper::RequestOptions
419
628
  }
420
629
  )