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
@@ -69,26 +69,75 @@ module XTwitterScraper
69
69
  params(
70
70
  id: String,
71
71
  after: String,
72
+ bio_contains: String,
72
73
  cursor: String,
74
+ has_location: T::Boolean,
75
+ has_website: T::Boolean,
73
76
  limit: Integer,
77
+ location_contains: String,
78
+ max_followers: Integer,
79
+ max_following: Integer,
80
+ max_statuses: Integer,
81
+ min_account_age_days: Integer,
82
+ min_followers: Integer,
83
+ min_following: Integer,
84
+ min_statuses: Integer,
85
+ mode:
86
+ XTwitterScraper::X::UserRetrieveFollowersParams::Mode::OrSymbol,
74
87
  page_size: Integer,
88
+ username_contains: String,
89
+ verified_only: T::Boolean,
90
+ verified_type: String,
75
91
  request_options: XTwitterScraper::RequestOptions::OrHash
76
- ).returns(XTwitterScraper::PaginatedUsers)
92
+ ).returns(
93
+ XTwitterScraper::Models::X::UserRetrieveFollowersResponse::Variants
94
+ )
77
95
  end
78
96
  def retrieve_followers(
79
97
  # Target user ID or username for follower lookup.
80
98
  id,
81
99
  # Legacy cursor alias. Prefer cursor.
82
100
  after: nil,
83
- # Pagination cursor for followers list
101
+ # Match any comma-separated or line-separated bio term, ignoring case.
102
+ bio_contains: nil,
103
+ # Cursor from the previous response. Xquik cursors resume automatic coverage.
104
+ # Existing unprefixed cursors keep legacy standard behavior.
84
105
  cursor: nil,
85
- # Legacy integer page size alias for following lists. Prefer pageSize.
106
+ # Only return profiles with a location.
107
+ has_location: nil,
108
+ # Only return profiles with a website.
109
+ has_website: nil,
110
+ # Legacy page-size alias outside explicit coverage mode. Coverage accepts 1-10000.
111
+ # Prefer pageSize.
86
112
  limit: nil,
87
- # Maximum user profiles requested from this page (20-200, default 200). The
88
- # response can contain fewer profiles because the source returned fewer or
89
- # remaining credits cover fewer results. Keep requesting next_cursor while
90
- # has_next_page is true. The deprecated limit and count aliases remain accepted.
113
+ # Match a location substring, ignoring case.
114
+ location_contains: nil,
115
+ # Maximum follower count. Missing counts pass this maximum.
116
+ max_followers: nil,
117
+ # Maximum following count.
118
+ max_following: nil,
119
+ # Maximum post count. maxPosts is also accepted.
120
+ max_statuses: nil,
121
+ # Minimum account age in whole days.
122
+ min_account_age_days: nil,
123
+ # Minimum follower count. Filtering happens before billing.
124
+ min_followers: nil,
125
+ # Minimum following count.
126
+ min_following: nil,
127
+ # Minimum post count. minPosts is also accepted.
128
+ min_statuses: nil,
129
+ # Omit mode for resumable maximum coverage. Standard keeps legacy pagination.
130
+ # Coverage returns diagnostics once and rejects cursors.
131
+ mode: nil,
132
+ # Maximum user profiles: automatic 300; standard 200. Sources return fewer
133
+ # profiles. Continue with has_next_page.
91
134
  page_size: nil,
135
+ # Match a username substring, ignoring case.
136
+ username_contains: nil,
137
+ # Only return verified profiles.
138
+ verified_only: nil,
139
+ # Match the verification type exactly, ignoring case.
140
+ verified_type: nil,
92
141
  request_options: {}
93
142
  )
94
143
  end
@@ -97,21 +146,62 @@ module XTwitterScraper
97
146
  sig do
98
147
  params(
99
148
  id: String,
149
+ bio_contains: String,
100
150
  cursor: String,
151
+ has_location: T::Boolean,
152
+ has_website: T::Boolean,
153
+ location_contains: String,
154
+ max_followers: Integer,
155
+ max_following: Integer,
156
+ max_statuses: Integer,
157
+ min_account_age_days: Integer,
158
+ min_followers: Integer,
159
+ min_following: Integer,
160
+ min_statuses: Integer,
101
161
  page_size: Integer,
162
+ username_contains: String,
163
+ verified_only: T::Boolean,
164
+ verified_type: String,
102
165
  request_options: XTwitterScraper::RequestOptions::OrHash
103
166
  ).returns(XTwitterScraper::PaginatedUsers)
104
167
  end
105
168
  def retrieve_followers_you_know(
106
169
  # User ID for followers-you-know lookup
107
170
  id,
171
+ # Match any comma-separated or line-separated bio term, ignoring case.
172
+ bio_contains: nil,
108
173
  # Pagination cursor for followers-you-know
109
174
  cursor: nil,
110
- # Maximum user profiles requested from this page (20-200, default 200). The
111
- # response can contain fewer profiles because the source returned fewer or
112
- # remaining credits cover fewer results. Keep requesting next_cursor while
113
- # has_next_page is true. The deprecated limit and count aliases remain accepted.
175
+ # Only return profiles with a location.
176
+ has_location: nil,
177
+ # Only return profiles with a website.
178
+ has_website: nil,
179
+ # Match a location substring, ignoring case.
180
+ location_contains: nil,
181
+ # Maximum follower count. Missing counts pass this maximum.
182
+ max_followers: nil,
183
+ # Maximum following count.
184
+ max_following: nil,
185
+ # Maximum post count. maxPosts is also accepted.
186
+ max_statuses: nil,
187
+ # Minimum account age in whole days.
188
+ min_account_age_days: nil,
189
+ # Minimum follower count. Filtering happens before billing.
190
+ min_followers: nil,
191
+ # Minimum following count.
192
+ min_following: nil,
193
+ # Minimum post count. minPosts is also accepted.
194
+ min_statuses: nil,
195
+ # Maximum user profiles requested from this page (20-200, default 200). Source,
196
+ # filters, or credits can return fewer profiles. Keep requesting next_cursor while
197
+ # has_next_page is true. Deprecated aliases remain accepted.
114
198
  page_size: nil,
199
+ # Match a username substring, ignoring case.
200
+ username_contains: nil,
201
+ # Only return verified profiles.
202
+ verified_only: nil,
203
+ # Match the verification type exactly, ignoring case.
204
+ verified_type: nil,
115
205
  request_options: {}
116
206
  )
117
207
  end
@@ -121,26 +211,75 @@ module XTwitterScraper
121
211
  params(
122
212
  id: String,
123
213
  after: String,
214
+ bio_contains: String,
124
215
  cursor: String,
216
+ has_location: T::Boolean,
217
+ has_website: T::Boolean,
125
218
  limit: Integer,
219
+ location_contains: String,
220
+ max_followers: Integer,
221
+ max_following: Integer,
222
+ max_statuses: Integer,
223
+ min_account_age_days: Integer,
224
+ min_followers: Integer,
225
+ min_following: Integer,
226
+ min_statuses: Integer,
227
+ mode:
228
+ XTwitterScraper::X::UserRetrieveFollowingParams::Mode::OrSymbol,
126
229
  page_size: Integer,
230
+ username_contains: String,
231
+ verified_only: T::Boolean,
232
+ verified_type: String,
127
233
  request_options: XTwitterScraper::RequestOptions::OrHash
128
- ).returns(XTwitterScraper::PaginatedUsers)
234
+ ).returns(
235
+ XTwitterScraper::Models::X::UserRetrieveFollowingResponse::Variants
236
+ )
129
237
  end
130
238
  def retrieve_following(
131
239
  # User ID or username for following lookup
132
240
  id,
133
241
  # Deprecated following cursor alias. Prefer cursor.
134
242
  after: nil,
135
- # Pagination cursor for following list
243
+ # Match any comma-separated or line-separated bio term, ignoring case.
244
+ bio_contains: nil,
245
+ # Cursor from the previous response. Xquik cursors resume automatic coverage.
246
+ # Existing unprefixed cursors keep legacy standard behavior.
136
247
  cursor: nil,
137
- # Legacy page size alias. Prefer pageSize.
248
+ # Only return profiles with a location.
249
+ has_location: nil,
250
+ # Only return profiles with a website.
251
+ has_website: nil,
252
+ # Legacy page-size alias outside explicit coverage mode. Coverage accepts 1-10000.
253
+ # Prefer pageSize.
138
254
  limit: nil,
139
- # Maximum user profiles requested from this page (20-200, default 200). The
140
- # response can contain fewer profiles because the source returned fewer or
141
- # remaining credits cover fewer results. Keep requesting next_cursor while
142
- # has_next_page is true. The deprecated limit and count aliases remain accepted.
255
+ # Match a location substring, ignoring case.
256
+ location_contains: nil,
257
+ # Maximum follower count. Missing counts pass this maximum.
258
+ max_followers: nil,
259
+ # Maximum following count.
260
+ max_following: nil,
261
+ # Maximum post count. maxPosts is also accepted.
262
+ max_statuses: nil,
263
+ # Minimum account age in whole days.
264
+ min_account_age_days: nil,
265
+ # Minimum follower count. Filtering happens before billing.
266
+ min_followers: nil,
267
+ # Minimum following count.
268
+ min_following: nil,
269
+ # Minimum post count. minPosts is also accepted.
270
+ min_statuses: nil,
271
+ # Omit mode for resumable maximum coverage. Standard keeps legacy pagination.
272
+ # Coverage returns diagnostics once and rejects cursors.
273
+ mode: nil,
274
+ # Maximum user profiles: automatic 300; standard 200. Sources return fewer
275
+ # profiles. Continue with has_next_page.
143
276
  page_size: nil,
277
+ # Match a username substring, ignoring case.
278
+ username_contains: nil,
279
+ # Only return verified profiles.
280
+ verified_only: nil,
281
+ # Match the verification type exactly, ignoring case.
282
+ verified_type: nil,
144
283
  request_options: {}
145
284
  )
146
285
  end
@@ -150,22 +289,36 @@ module XTwitterScraper
150
289
  params(
151
290
  id: String,
152
291
  any_words: String,
292
+ blue_verified_only: T::Boolean,
293
+ card_name: String,
153
294
  cashtags: String,
154
295
  conversation_id: String,
155
296
  cursor: String,
156
297
  exact_phrase: String,
298
+ exclude_source: String,
157
299
  exclude_words: String,
158
300
  from_user: String,
301
+ geocode: String,
159
302
  hashtags: String,
160
303
  in_reply_to_tweet_id: String,
161
304
  language: String,
305
+ max_faves: Integer,
306
+ max_id: String,
307
+ max_quotes: Integer,
308
+ max_replies: Integer,
309
+ max_retweets: Integer,
162
310
  media_type:
163
311
  XTwitterScraper::X::UserRetrieveLikesParams::MediaType::OrSymbol,
164
312
  mentioning: String,
313
+ min_bookmarks: Integer,
165
314
  min_faves: Integer,
166
315
  min_quotes: Integer,
167
316
  min_replies: Integer,
168
317
  min_retweets: Integer,
318
+ min_views: Integer,
319
+ native_retweets: T::Boolean,
320
+ near: String,
321
+ news: T::Boolean,
169
322
  page_size: Integer,
170
323
  quotes:
171
324
  XTwitterScraper::X::UserRetrieveLikesParams::Quotes::OrSymbol,
@@ -175,11 +328,16 @@ module XTwitterScraper
175
328
  retweets:
176
329
  XTwitterScraper::X::UserRetrieveLikesParams::Retweets::OrSymbol,
177
330
  retweets_of_tweet_id: String,
331
+ safe: T::Boolean,
178
332
  since_date: Date,
333
+ since_id: String,
334
+ source: String,
179
335
  to_user: String,
180
336
  until_date: Date,
181
337
  url: String,
182
338
  verified_only: T::Boolean,
339
+ within: String,
340
+ within_time: String,
183
341
  request_options: XTwitterScraper::RequestOptions::OrHash
184
342
  ).returns(XTwitterScraper::PaginatedTweets)
185
343
  end
@@ -189,6 +347,10 @@ module XTwitterScraper
189
347
  # Words or quoted phrases where any one can match. Separate with spaces, commas,
190
348
  # or lines.
191
349
  any_words: nil,
350
+ # Only return tweets from Blue-verified authors.
351
+ blue_verified_only: nil,
352
+ # Match the Tweet card name.
353
+ card_name: nil,
192
354
  # Cashtags separated by spaces, commas, or lines.
193
355
  cashtags: nil,
194
356
  # Conversation ID filter.
@@ -197,20 +359,36 @@ module XTwitterScraper
197
359
  cursor: nil,
198
360
  # Exact phrase to match.
199
361
  exact_phrase: nil,
362
+ # Exclude a source application.
363
+ exclude_source: nil,
200
364
  # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
201
365
  exclude_words: nil,
202
366
  # Filter by author username.
203
367
  from_user: nil,
368
+ # Match latitude, longitude, and radius.
369
+ geocode: nil,
204
370
  # Hashtags separated by spaces, commas, or lines.
205
371
  hashtags: nil,
206
372
  # Only replies to this tweet ID.
207
373
  in_reply_to_tweet_id: nil,
208
374
  # Language code filter, e.g. en or tr.
209
375
  language: nil,
376
+ # Maximum likes threshold. maxLikes is also accepted.
377
+ max_faves: nil,
378
+ # Return Tweets older than this Tweet ID.
379
+ max_id: nil,
380
+ # Maximum quotes threshold.
381
+ max_quotes: nil,
382
+ # Maximum replies threshold.
383
+ max_replies: nil,
384
+ # Maximum retweets threshold.
385
+ max_retweets: nil,
210
386
  # Filter by media type.
211
387
  media_type: nil,
212
388
  # Filter tweets mentioning a username.
213
389
  mentioning: nil,
390
+ # Minimum bookmark count threshold.
391
+ min_bookmarks: nil,
214
392
  # Minimum likes threshold.
215
393
  min_faves: nil,
216
394
  # Minimum quote count threshold.
@@ -219,6 +397,14 @@ module XTwitterScraper
219
397
  min_replies: nil,
220
398
  # Minimum retweets threshold.
221
399
  min_retweets: nil,
400
+ # Minimum view count threshold.
401
+ min_views: nil,
402
+ # Only return native reposts.
403
+ native_retweets: nil,
404
+ # Match a place name.
405
+ near: nil,
406
+ # Only return news results.
407
+ news: nil,
222
408
  # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
223
409
  # results. Continue while has_next_page is true. Deprecated limit and count
224
410
  # aliases remain accepted.
@@ -233,8 +419,14 @@ module XTwitterScraper
233
419
  retweets: nil,
234
420
  # Only retweets of this tweet ID.
235
421
  retweets_of_tweet_id: nil,
422
+ # Enable the safe-search filter.
423
+ safe: nil,
236
424
  # Start date in YYYY-MM-DD format.
237
425
  since_date: nil,
426
+ # Return Tweets newer than this Tweet ID.
427
+ since_id: nil,
428
+ # Match the source application.
429
+ source: nil,
238
430
  # Filter replies sent to a username.
239
431
  to_user: nil,
240
432
  # End date in YYYY-MM-DD format.
@@ -243,6 +435,10 @@ module XTwitterScraper
243
435
  url: nil,
244
436
  # Only return tweets from verified authors.
245
437
  verified_only: nil,
438
+ # Set the radius for the near filter.
439
+ within: nil,
440
+ # Match Tweets inside a recent time window.
441
+ within_time: nil,
246
442
  request_options: {}
247
443
  )
248
444
  end
@@ -252,22 +448,36 @@ module XTwitterScraper
252
448
  params(
253
449
  id: String,
254
450
  any_words: String,
451
+ blue_verified_only: T::Boolean,
452
+ card_name: String,
255
453
  cashtags: String,
256
454
  conversation_id: String,
257
455
  cursor: String,
258
456
  exact_phrase: String,
457
+ exclude_source: String,
259
458
  exclude_words: String,
260
459
  from_user: String,
460
+ geocode: String,
261
461
  hashtags: String,
262
462
  in_reply_to_tweet_id: String,
263
463
  language: String,
464
+ max_faves: Integer,
465
+ max_id: String,
466
+ max_quotes: Integer,
467
+ max_replies: Integer,
468
+ max_retweets: Integer,
264
469
  media_type:
265
470
  XTwitterScraper::X::UserRetrieveMediaParams::MediaType::OrSymbol,
266
471
  mentioning: String,
472
+ min_bookmarks: Integer,
267
473
  min_faves: Integer,
268
474
  min_quotes: Integer,
269
475
  min_replies: Integer,
270
476
  min_retweets: Integer,
477
+ min_views: Integer,
478
+ native_retweets: T::Boolean,
479
+ near: String,
480
+ news: T::Boolean,
271
481
  page_size: Integer,
272
482
  quotes:
273
483
  XTwitterScraper::X::UserRetrieveMediaParams::Quotes::OrSymbol,
@@ -277,11 +487,16 @@ module XTwitterScraper
277
487
  retweets:
278
488
  XTwitterScraper::X::UserRetrieveMediaParams::Retweets::OrSymbol,
279
489
  retweets_of_tweet_id: String,
490
+ safe: T::Boolean,
280
491
  since_date: Date,
492
+ since_id: String,
493
+ source: String,
281
494
  to_user: String,
282
495
  until_date: Date,
283
496
  url: String,
284
497
  verified_only: T::Boolean,
498
+ within: String,
499
+ within_time: String,
285
500
  request_options: XTwitterScraper::RequestOptions::OrHash
286
501
  ).returns(XTwitterScraper::PaginatedTweets)
287
502
  end
@@ -291,6 +506,10 @@ module XTwitterScraper
291
506
  # Words or quoted phrases where any one can match. Separate with spaces, commas,
292
507
  # or lines.
293
508
  any_words: nil,
509
+ # Only return tweets from Blue-verified authors.
510
+ blue_verified_only: nil,
511
+ # Match the Tweet card name.
512
+ card_name: nil,
294
513
  # Cashtags separated by spaces, commas, or lines.
295
514
  cashtags: nil,
296
515
  # Conversation ID filter.
@@ -299,20 +518,36 @@ module XTwitterScraper
299
518
  cursor: nil,
300
519
  # Exact phrase to match.
301
520
  exact_phrase: nil,
521
+ # Exclude a source application.
522
+ exclude_source: nil,
302
523
  # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
303
524
  exclude_words: nil,
304
525
  # Filter by author username.
305
526
  from_user: nil,
527
+ # Match latitude, longitude, and radius.
528
+ geocode: nil,
306
529
  # Hashtags separated by spaces, commas, or lines.
307
530
  hashtags: nil,
308
531
  # Only replies to this tweet ID.
309
532
  in_reply_to_tweet_id: nil,
310
533
  # Language code filter, e.g. en or tr.
311
534
  language: nil,
535
+ # Maximum likes threshold. maxLikes is also accepted.
536
+ max_faves: nil,
537
+ # Return Tweets older than this Tweet ID.
538
+ max_id: nil,
539
+ # Maximum quotes threshold.
540
+ max_quotes: nil,
541
+ # Maximum replies threshold.
542
+ max_replies: nil,
543
+ # Maximum retweets threshold.
544
+ max_retweets: nil,
312
545
  # Filter by media type.
313
546
  media_type: nil,
314
547
  # Filter tweets mentioning a username.
315
548
  mentioning: nil,
549
+ # Minimum bookmark count threshold.
550
+ min_bookmarks: nil,
316
551
  # Minimum likes threshold.
317
552
  min_faves: nil,
318
553
  # Minimum quote count threshold.
@@ -321,6 +556,14 @@ module XTwitterScraper
321
556
  min_replies: nil,
322
557
  # Minimum retweets threshold.
323
558
  min_retweets: nil,
559
+ # Minimum view count threshold.
560
+ min_views: nil,
561
+ # Only return native reposts.
562
+ native_retweets: nil,
563
+ # Match a place name.
564
+ near: nil,
565
+ # Only return news results.
566
+ news: nil,
324
567
  # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
325
568
  # results. Continue while has_next_page is true. Deprecated limit and count
326
569
  # aliases remain accepted.
@@ -335,8 +578,14 @@ module XTwitterScraper
335
578
  retweets: nil,
336
579
  # Only retweets of this tweet ID.
337
580
  retweets_of_tweet_id: nil,
581
+ # Enable the safe-search filter.
582
+ safe: nil,
338
583
  # Start date in YYYY-MM-DD format.
339
584
  since_date: nil,
585
+ # Return Tweets newer than this Tweet ID.
586
+ since_id: nil,
587
+ # Match the source application.
588
+ source: nil,
340
589
  # Filter replies sent to a username.
341
590
  to_user: nil,
342
591
  # End date in YYYY-MM-DD format.
@@ -345,6 +594,10 @@ module XTwitterScraper
345
594
  url: nil,
346
595
  # Only return tweets from verified authors.
347
596
  verified_only: nil,
597
+ # Set the radius for the near filter.
598
+ within: nil,
599
+ # Match Tweets inside a recent time window.
600
+ within_time: nil,
348
601
  request_options: {}
349
602
  )
350
603
  end
@@ -354,22 +607,36 @@ module XTwitterScraper
354
607
  params(
355
608
  id: String,
356
609
  any_words: String,
610
+ blue_verified_only: T::Boolean,
611
+ card_name: String,
357
612
  cashtags: String,
358
613
  conversation_id: String,
359
614
  cursor: String,
360
615
  exact_phrase: String,
616
+ exclude_source: String,
361
617
  exclude_words: String,
362
618
  from_user: String,
619
+ geocode: String,
363
620
  hashtags: String,
364
621
  in_reply_to_tweet_id: String,
365
622
  language: String,
623
+ max_faves: Integer,
624
+ max_id: String,
625
+ max_quotes: Integer,
626
+ max_replies: Integer,
627
+ max_retweets: Integer,
366
628
  media_type:
367
629
  XTwitterScraper::X::UserRetrieveMentionsParams::MediaType::OrSymbol,
368
630
  mentioning: String,
631
+ min_bookmarks: Integer,
369
632
  min_faves: Integer,
370
633
  min_quotes: Integer,
371
634
  min_replies: Integer,
372
635
  min_retweets: Integer,
636
+ min_views: Integer,
637
+ native_retweets: T::Boolean,
638
+ near: String,
639
+ news: T::Boolean,
373
640
  page_size: Integer,
374
641
  quotes:
375
642
  XTwitterScraper::X::UserRetrieveMentionsParams::Quotes::OrSymbol,
@@ -379,13 +646,18 @@ module XTwitterScraper
379
646
  retweets:
380
647
  XTwitterScraper::X::UserRetrieveMentionsParams::Retweets::OrSymbol,
381
648
  retweets_of_tweet_id: String,
649
+ safe: T::Boolean,
382
650
  since_date: Date,
651
+ since_id: String,
383
652
  since_time: String,
653
+ source: String,
384
654
  to_user: String,
385
655
  until_date: Date,
386
656
  until_time: String,
387
657
  url: String,
388
658
  verified_only: T::Boolean,
659
+ within: String,
660
+ within_time: String,
389
661
  request_options: XTwitterScraper::RequestOptions::OrHash
390
662
  ).returns(XTwitterScraper::PaginatedTweets)
391
663
  end
@@ -395,6 +667,10 @@ module XTwitterScraper
395
667
  # Words or quoted phrases where any one can match. Separate with spaces, commas,
396
668
  # or lines.
397
669
  any_words: nil,
670
+ # Only return tweets from Blue-verified authors.
671
+ blue_verified_only: nil,
672
+ # Match the Tweet card name.
673
+ card_name: nil,
398
674
  # Cashtags separated by spaces, commas, or lines.
399
675
  cashtags: nil,
400
676
  # Conversation ID filter.
@@ -403,20 +679,36 @@ module XTwitterScraper
403
679
  cursor: nil,
404
680
  # Exact phrase to match.
405
681
  exact_phrase: nil,
682
+ # Exclude a source application.
683
+ exclude_source: nil,
406
684
  # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
407
685
  exclude_words: nil,
408
686
  # Filter by author username.
409
687
  from_user: nil,
688
+ # Match latitude, longitude, and radius.
689
+ geocode: nil,
410
690
  # Hashtags separated by spaces, commas, or lines.
411
691
  hashtags: nil,
412
692
  # Only replies to this tweet ID.
413
693
  in_reply_to_tweet_id: nil,
414
694
  # Language code filter, e.g. en or tr.
415
695
  language: nil,
696
+ # Maximum likes threshold. maxLikes is also accepted.
697
+ max_faves: nil,
698
+ # Return Tweets older than this Tweet ID.
699
+ max_id: nil,
700
+ # Maximum quotes threshold.
701
+ max_quotes: nil,
702
+ # Maximum replies threshold.
703
+ max_replies: nil,
704
+ # Maximum retweets threshold.
705
+ max_retweets: nil,
416
706
  # Filter by media type.
417
707
  media_type: nil,
418
708
  # Filter tweets mentioning a username.
419
709
  mentioning: nil,
710
+ # Minimum bookmark count threshold.
711
+ min_bookmarks: nil,
420
712
  # Minimum likes threshold.
421
713
  min_faves: nil,
422
714
  # Minimum quote count threshold.
@@ -425,6 +717,14 @@ module XTwitterScraper
425
717
  min_replies: nil,
426
718
  # Minimum retweets threshold.
427
719
  min_retweets: nil,
720
+ # Minimum view count threshold.
721
+ min_views: nil,
722
+ # Only return native reposts.
723
+ native_retweets: nil,
724
+ # Match a place name.
725
+ near: nil,
726
+ # Only return news results.
727
+ news: nil,
428
728
  # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
429
729
  # results. Continue while has_next_page is true. Deprecated limit and count
430
730
  # aliases remain accepted.
@@ -439,10 +739,16 @@ module XTwitterScraper
439
739
  retweets: nil,
440
740
  # Only retweets of this tweet ID.
441
741
  retweets_of_tweet_id: nil,
742
+ # Enable the safe-search filter.
743
+ safe: nil,
442
744
  # Start date in YYYY-MM-DD format.
443
745
  since_date: nil,
746
+ # Return Tweets newer than this Tweet ID.
747
+ since_id: nil,
444
748
  # Unix timestamp - return mentions after this time
445
749
  since_time: nil,
750
+ # Match the source application.
751
+ source: nil,
446
752
  # Filter replies sent to a username.
447
753
  to_user: nil,
448
754
  # End date in YYYY-MM-DD format.
@@ -453,32 +759,52 @@ module XTwitterScraper
453
759
  url: nil,
454
760
  # Only return tweets from verified authors.
455
761
  verified_only: nil,
762
+ # Set the radius for the near filter.
763
+ within: nil,
764
+ # Match Tweets inside a recent time window.
765
+ within_time: nil,
456
766
  request_options: {}
457
767
  )
458
768
  end
459
769
 
460
- # Returns the user's timeline with replies included by default.
770
+ # Returns target-authored posts and replies. Omit mode for automatic maximum
771
+ # coverage. Pass next_cursor unchanged. Unprefixed cursors stay legacy. Excludes
772
+ # other-author context.
461
773
  sig do
462
774
  params(
463
775
  id: String,
464
776
  any_words: String,
777
+ blue_verified_only: T::Boolean,
778
+ card_name: String,
465
779
  cashtags: String,
466
780
  conversation_id: String,
467
781
  cursor: String,
468
782
  exact_phrase: String,
783
+ exclude_source: String,
469
784
  exclude_words: String,
470
785
  from_user: String,
786
+ geocode: String,
471
787
  hashtags: String,
472
788
  include_parent_tweet: T::Boolean,
473
789
  in_reply_to_tweet_id: String,
474
790
  language: String,
791
+ max_faves: Integer,
792
+ max_id: String,
793
+ max_quotes: Integer,
794
+ max_replies: Integer,
795
+ max_retweets: Integer,
475
796
  media_type:
476
797
  XTwitterScraper::X::UserRetrieveRepliesParams::MediaType::OrSymbol,
477
798
  mentioning: String,
799
+ min_bookmarks: Integer,
478
800
  min_faves: Integer,
479
801
  min_quotes: Integer,
480
802
  min_replies: Integer,
481
803
  min_retweets: Integer,
804
+ min_views: Integer,
805
+ native_retweets: T::Boolean,
806
+ near: String,
807
+ news: T::Boolean,
482
808
  page_size: Integer,
483
809
  quotes:
484
810
  XTwitterScraper::X::UserRetrieveRepliesParams::Quotes::OrSymbol,
@@ -488,11 +814,16 @@ module XTwitterScraper
488
814
  retweets:
489
815
  XTwitterScraper::X::UserRetrieveRepliesParams::Retweets::OrSymbol,
490
816
  retweets_of_tweet_id: String,
817
+ safe: T::Boolean,
491
818
  since_date: Date,
819
+ since_id: String,
820
+ source: String,
492
821
  to_user: String,
493
822
  until_date: Date,
494
823
  url: String,
495
824
  verified_only: T::Boolean,
825
+ within: String,
826
+ within_time: String,
496
827
  request_options: XTwitterScraper::RequestOptions::OrHash
497
828
  ).returns(XTwitterScraper::PaginatedTweets)
498
829
  end
@@ -502,18 +833,27 @@ module XTwitterScraper
502
833
  # Words or quoted phrases where any one can match. Separate with spaces, commas,
503
834
  # or lines.
504
835
  any_words: nil,
836
+ # Only return tweets from Blue-verified authors.
837
+ blue_verified_only: nil,
838
+ # Match the Tweet card name.
839
+ card_name: nil,
505
840
  # Cashtags separated by spaces, commas, or lines.
506
841
  cashtags: nil,
507
842
  # Conversation ID filter.
508
843
  conversation_id: nil,
509
- # Pagination cursor for user replies
844
+ # Cursor from the previous response. Xquik cursors resume automatic coverage.
845
+ # Existing unprefixed cursors keep legacy standard behavior.
510
846
  cursor: nil,
511
847
  # Exact phrase to match.
512
848
  exact_phrase: nil,
849
+ # Exclude a source application.
850
+ exclude_source: nil,
513
851
  # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
514
852
  exclude_words: nil,
515
853
  # Filter by author username.
516
854
  from_user: nil,
855
+ # Match latitude, longitude, and radius.
856
+ geocode: nil,
517
857
  # Hashtags separated by spaces, commas, or lines.
518
858
  hashtags: nil,
519
859
  # Include each reply's parent tweet.
@@ -522,10 +862,22 @@ module XTwitterScraper
522
862
  in_reply_to_tweet_id: nil,
523
863
  # Language code filter, e.g. en or tr.
524
864
  language: nil,
865
+ # Maximum likes threshold. maxLikes is also accepted.
866
+ max_faves: nil,
867
+ # Return Tweets older than this Tweet ID.
868
+ max_id: nil,
869
+ # Maximum quotes threshold.
870
+ max_quotes: nil,
871
+ # Maximum replies threshold.
872
+ max_replies: nil,
873
+ # Maximum retweets threshold.
874
+ max_retweets: nil,
525
875
  # Filter by media type.
526
876
  media_type: nil,
527
877
  # Filter tweets mentioning a username.
528
878
  mentioning: nil,
879
+ # Minimum bookmark count threshold.
880
+ min_bookmarks: nil,
529
881
  # Minimum likes threshold.
530
882
  min_faves: nil,
531
883
  # Minimum quote count threshold.
@@ -534,9 +886,16 @@ module XTwitterScraper
534
886
  min_replies: nil,
535
887
  # Minimum retweets threshold.
536
888
  min_retweets: nil,
537
- # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
538
- # results. Continue while has_next_page is true. Deprecated limit and count
539
- # aliases remain accepted.
889
+ # Minimum view count threshold.
890
+ min_views: nil,
891
+ # Only return native reposts.
892
+ native_retweets: nil,
893
+ # Match a place name.
894
+ near: nil,
895
+ # Only return news results.
896
+ news: nil,
897
+ # Automatic pages accept 1-300 Tweets. Standard pages keep 1-100. Default 20.
898
+ # Continue while has_next_page is true. Deprecated aliases remain accepted.
540
899
  page_size: nil,
541
900
  # Quote mode.
542
901
  quotes: nil,
@@ -548,8 +907,14 @@ module XTwitterScraper
548
907
  retweets: nil,
549
908
  # Only retweets of this tweet ID.
550
909
  retweets_of_tweet_id: nil,
910
+ # Enable the safe-search filter.
911
+ safe: nil,
551
912
  # Start date in YYYY-MM-DD format.
552
913
  since_date: nil,
914
+ # Return Tweets newer than this Tweet ID.
915
+ since_id: nil,
916
+ # Match the source application.
917
+ source: nil,
553
918
  # Filter replies sent to a username.
554
919
  to_user: nil,
555
920
  # End date in YYYY-MM-DD format.
@@ -558,6 +923,10 @@ module XTwitterScraper
558
923
  url: nil,
559
924
  # Only return tweets from verified authors.
560
925
  verified_only: nil,
926
+ # Set the radius for the near filter.
927
+ within: nil,
928
+ # Match Tweets inside a recent time window.
929
+ within_time: nil,
561
930
  request_options: {}
562
931
  )
563
932
  end
@@ -566,42 +935,99 @@ module XTwitterScraper
566
935
  sig do
567
936
  params(
568
937
  q: String,
938
+ bio_contains: String,
569
939
  cursor: String,
940
+ has_location: T::Boolean,
941
+ has_website: T::Boolean,
942
+ location_contains: String,
943
+ max_followers: Integer,
944
+ max_following: Integer,
945
+ max_statuses: Integer,
946
+ min_account_age_days: Integer,
947
+ min_followers: Integer,
948
+ min_following: Integer,
949
+ min_statuses: Integer,
950
+ username_contains: String,
951
+ verified_only: T::Boolean,
952
+ verified_type: String,
570
953
  request_options: XTwitterScraper::RequestOptions::OrHash
571
954
  ).returns(XTwitterScraper::PaginatedUsers)
572
955
  end
573
956
  def retrieve_search(
574
957
  # User search query
575
958
  q:,
959
+ # Match any comma-separated or line-separated bio term, ignoring case.
960
+ bio_contains: nil,
576
961
  # Pagination cursor for user search
577
962
  cursor: nil,
963
+ # Only return profiles with a location.
964
+ has_location: nil,
965
+ # Only return profiles with a website.
966
+ has_website: nil,
967
+ # Match a location substring, ignoring case.
968
+ location_contains: nil,
969
+ # Maximum follower count. Missing counts pass this maximum.
970
+ max_followers: nil,
971
+ # Maximum following count.
972
+ max_following: nil,
973
+ # Maximum post count. maxPosts is also accepted.
974
+ max_statuses: nil,
975
+ # Minimum account age in whole days.
976
+ min_account_age_days: nil,
977
+ # Minimum follower count. Filtering happens before billing.
978
+ min_followers: nil,
979
+ # Minimum following count.
980
+ min_following: nil,
981
+ # Minimum post count. minPosts is also accepted.
982
+ min_statuses: nil,
983
+ # Match a username substring, ignoring case.
984
+ username_contains: nil,
985
+ # Only return verified profiles.
986
+ verified_only: nil,
987
+ # Match the verification type exactly, ignoring case.
988
+ verified_type: nil,
578
989
  request_options: {}
579
990
  )
580
991
  end
581
992
 
582
- # List recent tweets posted by a user
993
+ # Omit mode for automatic maximum coverage. Pass next_cursor unchanged. Unprefixed
994
+ # cursors use legacy pagination. Shape and billing stay the same.
583
995
  sig do
584
996
  params(
585
997
  id: String,
586
998
  any_words: String,
999
+ blue_verified_only: T::Boolean,
1000
+ card_name: String,
587
1001
  cashtags: String,
588
1002
  conversation_id: String,
589
1003
  cursor: String,
590
1004
  exact_phrase: String,
1005
+ exclude_source: String,
591
1006
  exclude_words: String,
592
1007
  from_user: String,
1008
+ geocode: String,
593
1009
  hashtags: String,
594
1010
  include_parent_tweet: T::Boolean,
595
1011
  include_replies: T::Boolean,
596
1012
  in_reply_to_tweet_id: String,
597
1013
  language: String,
1014
+ max_faves: Integer,
1015
+ max_id: String,
1016
+ max_quotes: Integer,
1017
+ max_replies: Integer,
1018
+ max_retweets: Integer,
598
1019
  media_type:
599
1020
  XTwitterScraper::X::UserRetrieveTweetsParams::MediaType::OrSymbol,
600
1021
  mentioning: String,
1022
+ min_bookmarks: Integer,
601
1023
  min_faves: Integer,
602
1024
  min_quotes: Integer,
603
1025
  min_replies: Integer,
604
1026
  min_retweets: Integer,
1027
+ min_views: Integer,
1028
+ native_retweets: T::Boolean,
1029
+ near: String,
1030
+ news: T::Boolean,
605
1031
  page_size: Integer,
606
1032
  quotes:
607
1033
  XTwitterScraper::X::UserRetrieveTweetsParams::Quotes::OrSymbol,
@@ -611,11 +1037,16 @@ module XTwitterScraper
611
1037
  retweets:
612
1038
  XTwitterScraper::X::UserRetrieveTweetsParams::Retweets::OrSymbol,
613
1039
  retweets_of_tweet_id: String,
1040
+ safe: T::Boolean,
614
1041
  since_date: Date,
1042
+ since_id: String,
1043
+ source: String,
615
1044
  to_user: String,
616
1045
  until_date: Date,
617
1046
  url: String,
618
1047
  verified_only: T::Boolean,
1048
+ within: String,
1049
+ within_time: String,
619
1050
  request_options: XTwitterScraper::RequestOptions::OrHash
620
1051
  ).returns(XTwitterScraper::PaginatedTweets)
621
1052
  end
@@ -625,18 +1056,27 @@ module XTwitterScraper
625
1056
  # Words or quoted phrases where any one can match. Separate with spaces, commas,
626
1057
  # or lines.
627
1058
  any_words: nil,
1059
+ # Only return tweets from Blue-verified authors.
1060
+ blue_verified_only: nil,
1061
+ # Match the Tweet card name.
1062
+ card_name: nil,
628
1063
  # Cashtags separated by spaces, commas, or lines.
629
1064
  cashtags: nil,
630
1065
  # Conversation ID filter.
631
1066
  conversation_id: nil,
632
- # Pagination cursor for user tweets
1067
+ # Cursor from the previous response. Xquik cursors resume automatic coverage.
1068
+ # Existing unprefixed cursors keep legacy standard behavior.
633
1069
  cursor: nil,
634
1070
  # Exact phrase to match.
635
1071
  exact_phrase: nil,
1072
+ # Exclude a source application.
1073
+ exclude_source: nil,
636
1074
  # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
637
1075
  exclude_words: nil,
638
1076
  # Filter by author username.
639
1077
  from_user: nil,
1078
+ # Match latitude, longitude, and radius.
1079
+ geocode: nil,
640
1080
  # Hashtags separated by spaces, commas, or lines.
641
1081
  hashtags: nil,
642
1082
  # Include parent tweet for replies
@@ -647,10 +1087,22 @@ module XTwitterScraper
647
1087
  in_reply_to_tweet_id: nil,
648
1088
  # Language code filter, e.g. en or tr.
649
1089
  language: nil,
1090
+ # Maximum likes threshold. maxLikes is also accepted.
1091
+ max_faves: nil,
1092
+ # Return Tweets older than this Tweet ID.
1093
+ max_id: nil,
1094
+ # Maximum quotes threshold.
1095
+ max_quotes: nil,
1096
+ # Maximum replies threshold.
1097
+ max_replies: nil,
1098
+ # Maximum retweets threshold.
1099
+ max_retweets: nil,
650
1100
  # Filter by media type.
651
1101
  media_type: nil,
652
1102
  # Filter tweets mentioning a username.
653
1103
  mentioning: nil,
1104
+ # Minimum bookmark count threshold.
1105
+ min_bookmarks: nil,
654
1106
  # Minimum likes threshold.
655
1107
  min_faves: nil,
656
1108
  # Minimum quote count threshold.
@@ -659,9 +1111,16 @@ module XTwitterScraper
659
1111
  min_replies: nil,
660
1112
  # Minimum retweets threshold.
661
1113
  min_retweets: nil,
662
- # Maximum page items (1-100, default 20). Source, filters, or credits can reduce
663
- # results. Continue while has_next_page is true. Deprecated limit and count
664
- # aliases remain accepted.
1114
+ # Minimum view count threshold.
1115
+ min_views: nil,
1116
+ # Only return native reposts.
1117
+ native_retweets: nil,
1118
+ # Match a place name.
1119
+ near: nil,
1120
+ # Only return news results.
1121
+ news: nil,
1122
+ # Automatic pages accept 1-300 Tweets. Standard pages keep 1-100. Default 20.
1123
+ # Continue while has_next_page is true. Deprecated aliases remain accepted.
665
1124
  page_size: nil,
666
1125
  # Quote mode.
667
1126
  quotes: nil,
@@ -673,8 +1132,14 @@ module XTwitterScraper
673
1132
  retweets: nil,
674
1133
  # Only retweets of this tweet ID.
675
1134
  retweets_of_tweet_id: nil,
1135
+ # Enable the safe-search filter.
1136
+ safe: nil,
676
1137
  # Start date in YYYY-MM-DD format.
677
1138
  since_date: nil,
1139
+ # Return Tweets newer than this Tweet ID.
1140
+ since_id: nil,
1141
+ # Match the source application.
1142
+ source: nil,
678
1143
  # Filter replies sent to a username.
679
1144
  to_user: nil,
680
1145
  # End date in YYYY-MM-DD format.
@@ -683,6 +1148,10 @@ module XTwitterScraper
683
1148
  url: nil,
684
1149
  # Only return tweets from verified authors.
685
1150
  verified_only: nil,
1151
+ # Set the radius for the near filter.
1152
+ within: nil,
1153
+ # Match Tweets inside a recent time window.
1154
+ within_time: nil,
686
1155
  request_options: {}
687
1156
  )
688
1157
  end
@@ -691,21 +1160,76 @@ module XTwitterScraper
691
1160
  sig do
692
1161
  params(
693
1162
  id: String,
1163
+ after: String,
1164
+ bio_contains: String,
694
1165
  cursor: String,
1166
+ has_location: T::Boolean,
1167
+ has_website: T::Boolean,
1168
+ limit: Integer,
1169
+ location_contains: String,
1170
+ max_followers: Integer,
1171
+ max_following: Integer,
1172
+ max_statuses: Integer,
1173
+ min_account_age_days: Integer,
1174
+ min_followers: Integer,
1175
+ min_following: Integer,
1176
+ min_statuses: Integer,
1177
+ mode:
1178
+ XTwitterScraper::X::UserRetrieveVerifiedFollowersParams::Mode::OrSymbol,
695
1179
  page_size: Integer,
1180
+ username_contains: String,
1181
+ verified_only: T::Boolean,
1182
+ verified_type: String,
696
1183
  request_options: XTwitterScraper::RequestOptions::OrHash
697
- ).returns(XTwitterScraper::PaginatedUsers)
1184
+ ).returns(
1185
+ XTwitterScraper::Models::X::UserRetrieveVerifiedFollowersResponse::Variants
1186
+ )
698
1187
  end
699
1188
  def retrieve_verified_followers(
700
1189
  # User ID or username for verified followers
701
1190
  id,
702
- # Pagination cursor for verified followers
1191
+ # Legacy cursor alias. Prefer cursor.
1192
+ after: nil,
1193
+ # Match any comma-separated or line-separated bio term, ignoring case.
1194
+ bio_contains: nil,
1195
+ # Cursor from the previous response. Xquik cursors resume automatic coverage.
1196
+ # Existing unprefixed cursors keep legacy standard behavior.
703
1197
  cursor: nil,
704
- # Maximum user profiles requested from this page (20-200, default 200). The
705
- # response can contain fewer profiles because the source returned fewer or
706
- # remaining credits cover fewer results. Keep requesting next_cursor while
707
- # has_next_page is true. The deprecated limit and count aliases remain accepted.
1198
+ # Only return profiles with a location.
1199
+ has_location: nil,
1200
+ # Only return profiles with a website.
1201
+ has_website: nil,
1202
+ # Legacy page-size alias outside explicit coverage mode. Coverage accepts 1-10000.
1203
+ # Prefer pageSize.
1204
+ limit: nil,
1205
+ # Match a location substring, ignoring case.
1206
+ location_contains: nil,
1207
+ # Maximum follower count. Missing counts pass this maximum.
1208
+ max_followers: nil,
1209
+ # Maximum following count.
1210
+ max_following: nil,
1211
+ # Maximum post count. maxPosts is also accepted.
1212
+ max_statuses: nil,
1213
+ # Minimum account age in whole days.
1214
+ min_account_age_days: nil,
1215
+ # Minimum follower count. Filtering happens before billing.
1216
+ min_followers: nil,
1217
+ # Minimum following count.
1218
+ min_following: nil,
1219
+ # Minimum post count. minPosts is also accepted.
1220
+ min_statuses: nil,
1221
+ # Omit mode for resumable maximum coverage. Standard keeps legacy pagination.
1222
+ # Coverage returns diagnostics once and rejects cursors.
1223
+ mode: nil,
1224
+ # Maximum user profiles: automatic 300; standard 200. Sources return fewer
1225
+ # profiles. Continue with has_next_page.
708
1226
  page_size: nil,
1227
+ # Match a username substring, ignoring case.
1228
+ username_contains: nil,
1229
+ # Only return verified profiles.
1230
+ verified_only: nil,
1231
+ # Match the verification type exactly, ignoring case.
1232
+ verified_type: nil,
709
1233
  request_options: {}
710
1234
  )
711
1235
  end