x-twitter-scraper 0.7.3 → 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 +16 -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
@@ -24,6 +24,18 @@ module XTwitterScraper
24
24
  # @return [String, nil]
25
25
  optional :any_words, String
26
26
 
27
+ # @!attribute blue_verified_only
28
+ # Only return tweets from Blue-verified authors.
29
+ #
30
+ # @return [Boolean, nil]
31
+ optional :blue_verified_only, XTwitterScraper::Internal::Type::Boolean
32
+
33
+ # @!attribute card_name
34
+ # Match the Tweet card name.
35
+ #
36
+ # @return [String, nil]
37
+ optional :card_name, String
38
+
27
39
  # @!attribute cashtags
28
40
  # Cashtags separated by spaces, commas, or lines.
29
41
  #
@@ -37,7 +49,8 @@ module XTwitterScraper
37
49
  optional :conversation_id, String
38
50
 
39
51
  # @!attribute cursor
40
- # Pagination cursor for user tweets
52
+ # Cursor from the previous response. Xquik cursors resume automatic coverage.
53
+ # Existing unprefixed cursors keep legacy standard behavior.
41
54
  #
42
55
  # @return [String, nil]
43
56
  optional :cursor, String
@@ -48,6 +61,12 @@ module XTwitterScraper
48
61
  # @return [String, nil]
49
62
  optional :exact_phrase, String
50
63
 
64
+ # @!attribute exclude_source
65
+ # Exclude a source application.
66
+ #
67
+ # @return [String, nil]
68
+ optional :exclude_source, String
69
+
51
70
  # @!attribute exclude_words
52
71
  # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
53
72
  #
@@ -60,6 +79,12 @@ module XTwitterScraper
60
79
  # @return [String, nil]
61
80
  optional :from_user, String
62
81
 
82
+ # @!attribute geocode
83
+ # Match latitude, longitude, and radius.
84
+ #
85
+ # @return [String, nil]
86
+ optional :geocode, String
87
+
63
88
  # @!attribute hashtags
64
89
  # Hashtags separated by spaces, commas, or lines.
65
90
  #
@@ -90,6 +115,36 @@ module XTwitterScraper
90
115
  # @return [String, nil]
91
116
  optional :language, String
92
117
 
118
+ # @!attribute max_faves
119
+ # Maximum likes threshold. maxLikes is also accepted.
120
+ #
121
+ # @return [Integer, nil]
122
+ optional :max_faves, Integer
123
+
124
+ # @!attribute max_id
125
+ # Return Tweets older than this Tweet ID.
126
+ #
127
+ # @return [String, nil]
128
+ optional :max_id, String
129
+
130
+ # @!attribute max_quotes
131
+ # Maximum quotes threshold.
132
+ #
133
+ # @return [Integer, nil]
134
+ optional :max_quotes, Integer
135
+
136
+ # @!attribute max_replies
137
+ # Maximum replies threshold.
138
+ #
139
+ # @return [Integer, nil]
140
+ optional :max_replies, Integer
141
+
142
+ # @!attribute max_retweets
143
+ # Maximum retweets threshold.
144
+ #
145
+ # @return [Integer, nil]
146
+ optional :max_retweets, Integer
147
+
93
148
  # @!attribute media_type
94
149
  # Filter by media type.
95
150
  #
@@ -102,6 +157,12 @@ module XTwitterScraper
102
157
  # @return [String, nil]
103
158
  optional :mentioning, String
104
159
 
160
+ # @!attribute min_bookmarks
161
+ # Minimum bookmark count threshold.
162
+ #
163
+ # @return [Integer, nil]
164
+ optional :min_bookmarks, Integer
165
+
105
166
  # @!attribute min_faves
106
167
  # Minimum likes threshold.
107
168
  #
@@ -126,10 +187,33 @@ module XTwitterScraper
126
187
  # @return [Integer, nil]
127
188
  optional :min_retweets, Integer
128
189
 
190
+ # @!attribute min_views
191
+ # Minimum view count threshold.
192
+ #
193
+ # @return [Integer, nil]
194
+ optional :min_views, Integer
195
+
196
+ # @!attribute native_retweets
197
+ # Only return native reposts.
198
+ #
199
+ # @return [Boolean, nil]
200
+ optional :native_retweets, XTwitterScraper::Internal::Type::Boolean
201
+
202
+ # @!attribute near
203
+ # Match a place name.
204
+ #
205
+ # @return [String, nil]
206
+ optional :near, String
207
+
208
+ # @!attribute news
209
+ # Only return news results.
210
+ #
211
+ # @return [Boolean, nil]
212
+ optional :news, XTwitterScraper::Internal::Type::Boolean
213
+
129
214
  # @!attribute page_size
130
- # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
131
- # results. Continue while has_next_page is true. Deprecated limit and count
132
- # aliases remain accepted.
215
+ # Automatic pages accept 1-300 Tweets. Standard pages keep 1-100. Default 20.
216
+ # Continue while has_next_page is true. Deprecated aliases remain accepted.
133
217
  #
134
218
  # @return [Integer, nil]
135
219
  optional :page_size, Integer
@@ -164,12 +248,30 @@ module XTwitterScraper
164
248
  # @return [String, nil]
165
249
  optional :retweets_of_tweet_id, String
166
250
 
251
+ # @!attribute safe
252
+ # Enable the safe-search filter.
253
+ #
254
+ # @return [Boolean, nil]
255
+ optional :safe, XTwitterScraper::Internal::Type::Boolean
256
+
167
257
  # @!attribute since_date
168
258
  # Start date in YYYY-MM-DD format.
169
259
  #
170
260
  # @return [Date, nil]
171
261
  optional :since_date, Date
172
262
 
263
+ # @!attribute since_id
264
+ # Return Tweets newer than this Tweet ID.
265
+ #
266
+ # @return [String, nil]
267
+ optional :since_id, String
268
+
269
+ # @!attribute source
270
+ # Match the source application.
271
+ #
272
+ # @return [String, nil]
273
+ optional :source, String
274
+
173
275
  # @!attribute to_user
174
276
  # Filter replies sent to a username.
175
277
  #
@@ -194,7 +296,19 @@ module XTwitterScraper
194
296
  # @return [Boolean, nil]
195
297
  optional :verified_only, XTwitterScraper::Internal::Type::Boolean
196
298
 
197
- # @!method initialize(id:, any_words: nil, cashtags: nil, conversation_id: nil, cursor: nil, exact_phrase: nil, exclude_words: nil, from_user: nil, hashtags: nil, include_parent_tweet: 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, to_user: nil, until_date: nil, url: nil, verified_only: nil, request_options: {})
299
+ # @!attribute within
300
+ # Set the radius for the near filter.
301
+ #
302
+ # @return [String, nil]
303
+ optional :within, String
304
+
305
+ # @!attribute within_time
306
+ # Match Tweets inside a recent time window.
307
+ #
308
+ # @return [String, nil]
309
+ optional :within_time, String
310
+
311
+ # @!method initialize(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_parent_tweet: 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, source: nil, to_user: nil, until_date: nil, url: nil, verified_only: nil, within: nil, within_time: nil, request_options: {})
198
312
  # Some parameter documentations has been truncated, see
199
313
  # {XTwitterScraper::Models::X::UserRetrieveTweetsParams} for more details.
200
314
  #
@@ -202,18 +316,26 @@ module XTwitterScraper
202
316
  #
203
317
  # @param any_words [String] Words or quoted phrases where any one can match. Separate with spaces, commas, o
204
318
  #
319
+ # @param blue_verified_only [Boolean] Only return tweets from Blue-verified authors.
320
+ #
321
+ # @param card_name [String] Match the Tweet card name.
322
+ #
205
323
  # @param cashtags [String] Cashtags separated by spaces, commas, or lines.
206
324
  #
207
325
  # @param conversation_id [String] Conversation ID filter.
208
326
  #
209
- # @param cursor [String] Pagination cursor for user tweets
327
+ # @param cursor [String] Cursor from the previous response. Xquik cursors resume automatic coverage. Exis
210
328
  #
211
329
  # @param exact_phrase [String] Exact phrase to match.
212
330
  #
331
+ # @param exclude_source [String] Exclude a source application.
332
+ #
213
333
  # @param exclude_words [String] Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
214
334
  #
215
335
  # @param from_user [String] Filter by author username.
216
336
  #
337
+ # @param geocode [String] Match latitude, longitude, and radius.
338
+ #
217
339
  # @param hashtags [String] Hashtags separated by spaces, commas, or lines.
218
340
  #
219
341
  # @param include_parent_tweet [Boolean] Include parent tweet for replies
@@ -224,10 +346,22 @@ module XTwitterScraper
224
346
  #
225
347
  # @param language [String] Language code filter, e.g. en or tr.
226
348
  #
349
+ # @param max_faves [Integer] Maximum likes threshold. maxLikes is also accepted.
350
+ #
351
+ # @param max_id [String] Return Tweets older than this Tweet ID.
352
+ #
353
+ # @param max_quotes [Integer] Maximum quotes threshold.
354
+ #
355
+ # @param max_replies [Integer] Maximum replies threshold.
356
+ #
357
+ # @param max_retweets [Integer] Maximum retweets threshold.
358
+ #
227
359
  # @param media_type [Symbol, XTwitterScraper::Models::X::UserRetrieveTweetsParams::MediaType] Filter by media type.
228
360
  #
229
361
  # @param mentioning [String] Filter tweets mentioning a username.
230
362
  #
363
+ # @param min_bookmarks [Integer] Minimum bookmark count threshold.
364
+ #
231
365
  # @param min_faves [Integer] Minimum likes threshold.
232
366
  #
233
367
  # @param min_quotes [Integer] Minimum quote count threshold.
@@ -236,7 +370,15 @@ module XTwitterScraper
236
370
  #
237
371
  # @param min_retweets [Integer] Minimum retweets threshold.
238
372
  #
239
- # @param page_size [Integer] Maximum page items (1-100, default 20). Source, filters, or credits can reduce r
373
+ # @param min_views [Integer] Minimum view count threshold.
374
+ #
375
+ # @param native_retweets [Boolean] Only return native reposts.
376
+ #
377
+ # @param near [String] Match a place name.
378
+ #
379
+ # @param news [Boolean] Only return news results.
380
+ #
381
+ # @param page_size [Integer] Automatic pages accept 1-300 Tweets. Standard pages keep 1-100. Default 20. Cont
240
382
  #
241
383
  # @param quotes [Symbol, XTwitterScraper::Models::X::UserRetrieveTweetsParams::Quotes] Quote mode.
242
384
  #
@@ -248,8 +390,14 @@ module XTwitterScraper
248
390
  #
249
391
  # @param retweets_of_tweet_id [String] Only retweets of this tweet ID.
250
392
  #
393
+ # @param safe [Boolean] Enable the safe-search filter.
394
+ #
251
395
  # @param since_date [Date] Start date in YYYY-MM-DD format.
252
396
  #
397
+ # @param since_id [String] Return Tweets newer than this Tweet ID.
398
+ #
399
+ # @param source [String] Match the source application.
400
+ #
253
401
  # @param to_user [String] Filter replies sent to a username.
254
402
  #
255
403
  # @param until_date [Date] End date in YYYY-MM-DD format.
@@ -258,6 +406,10 @@ module XTwitterScraper
258
406
  #
259
407
  # @param verified_only [Boolean] Only return tweets from verified authors.
260
408
  #
409
+ # @param within [String] Set the radius for the near filter.
410
+ #
411
+ # @param within_time [String] Match Tweets inside a recent time window.
412
+ #
261
413
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
262
414
 
263
415
  # Filter by media type.
@@ -17,33 +17,182 @@ module XTwitterScraper
17
17
  # @return [String]
18
18
  required :id, String
19
19
 
20
+ # @!attribute after
21
+ # Legacy cursor alias. Prefer cursor.
22
+ #
23
+ # @return [String, nil]
24
+ optional :after, String
25
+
26
+ # @!attribute bio_contains
27
+ # Match any comma-separated or line-separated bio term, ignoring case.
28
+ #
29
+ # @return [String, nil]
30
+ optional :bio_contains, String
31
+
20
32
  # @!attribute cursor
21
- # Pagination cursor for verified followers
33
+ # Cursor from the previous response. Xquik cursors resume automatic coverage.
34
+ # Existing unprefixed cursors keep legacy standard behavior.
22
35
  #
23
36
  # @return [String, nil]
24
37
  optional :cursor, String
25
38
 
39
+ # @!attribute has_location
40
+ # Only return profiles with a location.
41
+ #
42
+ # @return [Boolean, nil]
43
+ optional :has_location, XTwitterScraper::Internal::Type::Boolean
44
+
45
+ # @!attribute has_website
46
+ # Only return profiles with a website.
47
+ #
48
+ # @return [Boolean, nil]
49
+ optional :has_website, XTwitterScraper::Internal::Type::Boolean
50
+
51
+ # @!attribute limit
52
+ # Legacy page-size alias outside explicit coverage mode. Coverage accepts 1-10000.
53
+ # Prefer pageSize.
54
+ #
55
+ # @return [Integer, nil]
56
+ optional :limit, Integer
57
+
58
+ # @!attribute location_contains
59
+ # Match a location substring, ignoring case.
60
+ #
61
+ # @return [String, nil]
62
+ optional :location_contains, String
63
+
64
+ # @!attribute max_followers
65
+ # Maximum follower count. Missing counts pass this maximum.
66
+ #
67
+ # @return [Integer, nil]
68
+ optional :max_followers, Integer
69
+
70
+ # @!attribute max_following
71
+ # Maximum following count.
72
+ #
73
+ # @return [Integer, nil]
74
+ optional :max_following, Integer
75
+
76
+ # @!attribute max_statuses
77
+ # Maximum post count. maxPosts is also accepted.
78
+ #
79
+ # @return [Integer, nil]
80
+ optional :max_statuses, Integer
81
+
82
+ # @!attribute min_account_age_days
83
+ # Minimum account age in whole days.
84
+ #
85
+ # @return [Integer, nil]
86
+ optional :min_account_age_days, Integer
87
+
88
+ # @!attribute min_followers
89
+ # Minimum follower count. Filtering happens before billing.
90
+ #
91
+ # @return [Integer, nil]
92
+ optional :min_followers, Integer
93
+
94
+ # @!attribute min_following
95
+ # Minimum following count.
96
+ #
97
+ # @return [Integer, nil]
98
+ optional :min_following, Integer
99
+
100
+ # @!attribute min_statuses
101
+ # Minimum post count. minPosts is also accepted.
102
+ #
103
+ # @return [Integer, nil]
104
+ optional :min_statuses, Integer
105
+
106
+ # @!attribute mode
107
+ # Omit mode for resumable maximum coverage. Standard keeps legacy pagination.
108
+ # Coverage returns diagnostics once and rejects cursors.
109
+ #
110
+ # @return [Symbol, XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersParams::Mode, nil]
111
+ optional :mode, enum: -> { XTwitterScraper::X::UserRetrieveVerifiedFollowersParams::Mode }
112
+
26
113
  # @!attribute page_size
27
- # Maximum user profiles requested from this page (20-200, default 200). The
28
- # response can contain fewer profiles because the source returned fewer or
29
- # remaining credits cover fewer results. Keep requesting next_cursor while
30
- # has_next_page is true. The deprecated limit and count aliases remain accepted.
114
+ # Maximum user profiles: automatic 300; standard 200. Sources return fewer
115
+ # profiles. Continue with has_next_page.
31
116
  #
32
117
  # @return [Integer, nil]
33
118
  optional :page_size, Integer
34
119
 
35
- # @!method initialize(id:, cursor: nil, page_size: nil, request_options: {})
120
+ # @!attribute username_contains
121
+ # Match a username substring, ignoring case.
122
+ #
123
+ # @return [String, nil]
124
+ optional :username_contains, String
125
+
126
+ # @!attribute verified_only
127
+ # Only return verified profiles.
128
+ #
129
+ # @return [Boolean, nil]
130
+ optional :verified_only, XTwitterScraper::Internal::Type::Boolean
131
+
132
+ # @!attribute verified_type
133
+ # Match the verification type exactly, ignoring case.
134
+ #
135
+ # @return [String, nil]
136
+ optional :verified_type, String
137
+
138
+ # @!method initialize(id:, after: nil, bio_contains: nil, cursor: nil, has_location: nil, has_website: nil, limit: 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, mode: nil, page_size: nil, username_contains: nil, verified_only: nil, verified_type: nil, request_options: {})
36
139
  # Some parameter documentations has been truncated, see
37
140
  # {XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersParams} for more
38
141
  # details.
39
142
  #
40
143
  # @param id [String]
41
144
  #
42
- # @param cursor [String] Pagination cursor for verified followers
145
+ # @param after [String] Legacy cursor alias. Prefer cursor.
146
+ #
147
+ # @param bio_contains [String] Match any comma-separated or line-separated bio term, ignoring case.
148
+ #
149
+ # @param cursor [String] Cursor from the previous response. Xquik cursors resume automatic coverage. Exis
150
+ #
151
+ # @param has_location [Boolean] Only return profiles with a location.
152
+ #
153
+ # @param has_website [Boolean] Only return profiles with a website.
43
154
  #
44
- # @param page_size [Integer] Maximum user profiles requested from this page (20-200, default 200). The respon
155
+ # @param limit [Integer] Legacy page-size alias outside explicit coverage mode. Coverage accepts 1-10000.
156
+ #
157
+ # @param location_contains [String] Match a location substring, ignoring case.
158
+ #
159
+ # @param max_followers [Integer] Maximum follower count. Missing counts pass this maximum.
160
+ #
161
+ # @param max_following [Integer] Maximum following count.
162
+ #
163
+ # @param max_statuses [Integer] Maximum post count. maxPosts is also accepted.
164
+ #
165
+ # @param min_account_age_days [Integer] Minimum account age in whole days.
166
+ #
167
+ # @param min_followers [Integer] Minimum follower count. Filtering happens before billing.
168
+ #
169
+ # @param min_following [Integer] Minimum following count.
170
+ #
171
+ # @param min_statuses [Integer] Minimum post count. minPosts is also accepted.
172
+ #
173
+ # @param mode [Symbol, XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersParams::Mode] Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Cove
174
+ #
175
+ # @param page_size [Integer] Maximum user profiles: automatic 300; standard 200. Sources return fewer profile
176
+ #
177
+ # @param username_contains [String] Match a username substring, ignoring case.
178
+ #
179
+ # @param verified_only [Boolean] Only return verified profiles.
180
+ #
181
+ # @param verified_type [String] Match the verification type exactly, ignoring case.
45
182
  #
46
183
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
184
+
185
+ # Omit mode for resumable maximum coverage. Standard keeps legacy pagination.
186
+ # Coverage returns diagnostics once and rejects cursors.
187
+ module Mode
188
+ extend XTwitterScraper::Internal::Type::Enum
189
+
190
+ STANDARD = :standard
191
+ COVERAGE = :coverage
192
+
193
+ # @!method self.values
194
+ # @return [Array<Symbol>]
195
+ end
47
196
  end
48
197
  end
49
198
  end