x-twitter-scraper 0.4.2 → 0.4.4

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 (522) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/LICENSE +201 -0
  4. data/README.md +10 -12
  5. data/lib/x_twitter_scraper/client.rb +30 -26
  6. data/lib/x_twitter_scraper/internal/transport/base_client.rb +5 -0
  7. data/lib/x_twitter_scraper/internal/type/base_model.rb +4 -3
  8. data/lib/x_twitter_scraper/internal/util.rb +3 -1
  9. data/lib/x_twitter_scraper/models/account_retrieve_response.rb +138 -23
  10. data/lib/x_twitter_scraper/models/content_disclosure.rb +66 -0
  11. data/lib/x_twitter_scraper/models/credit_redirect_topup_checkout_params.rb +22 -0
  12. data/lib/x_twitter_scraper/models/credit_retrieve_balance_response.rb +37 -10
  13. data/lib/x_twitter_scraper/models/credit_retrieve_topup_status_params.rb +22 -0
  14. data/lib/x_twitter_scraper/models/credit_retrieve_topup_status_response.rb +45 -0
  15. data/lib/x_twitter_scraper/models/credit_topup_balance_params.rb +13 -5
  16. data/lib/x_twitter_scraper/models/credit_topup_balance_response.rb +18 -5
  17. data/lib/x_twitter_scraper/models/draft_list_params.rb +8 -2
  18. data/lib/x_twitter_scraper/models/draw_detail.rb +15 -1
  19. data/lib/x_twitter_scraper/models/draw_export_params.rb +3 -3
  20. data/lib/x_twitter_scraper/models/draw_list_item.rb +8 -1
  21. data/lib/x_twitter_scraper/models/draw_list_params.rb +13 -7
  22. data/lib/x_twitter_scraper/models/draw_run_response.rb +13 -2
  23. data/lib/x_twitter_scraper/models/embedded_tweet.rb +202 -0
  24. data/lib/x_twitter_scraper/models/error.rb +203 -34
  25. data/lib/x_twitter_scraper/models/event.rb +48 -6
  26. data/lib/x_twitter_scraper/models/event_detail.rb +46 -7
  27. data/lib/x_twitter_scraper/models/event_list_params.rb +13 -7
  28. data/lib/x_twitter_scraper/models/event_type.rb +17 -2
  29. data/lib/x_twitter_scraper/models/extraction_estimate_cost_params.rb +308 -7
  30. data/lib/x_twitter_scraper/models/extraction_estimate_cost_response.rb +38 -14
  31. data/lib/x_twitter_scraper/models/extraction_export_results_params.rb +3 -3
  32. data/lib/x_twitter_scraper/models/extraction_job.rb +3 -0
  33. data/lib/x_twitter_scraper/models/extraction_list_params.rb +16 -7
  34. data/lib/x_twitter_scraper/models/extraction_retrieve_params.rb +5 -5
  35. data/lib/x_twitter_scraper/models/extraction_retrieve_response.rb +2 -2
  36. data/lib/x_twitter_scraper/models/extraction_run_params.rb +304 -7
  37. data/lib/x_twitter_scraper/models/extraction_run_response.rb +3 -0
  38. data/lib/x_twitter_scraper/models/guest_wallet_amount.rb +25 -0
  39. data/lib/x_twitter_scraper/models/guest_wallet_create_params.rb +36 -0
  40. data/lib/x_twitter_scraper/models/guest_wallet_create_response.rb +161 -0
  41. data/lib/x_twitter_scraper/models/{integration_list_params.rb → guest_wallet_retrieve_status_params.rb} +2 -2
  42. data/lib/x_twitter_scraper/models/guest_wallet_retrieve_status_response.rb +196 -0
  43. data/lib/x_twitter_scraper/models/guest_wallet_topup_params.rb +36 -0
  44. data/lib/x_twitter_scraper/models/guest_wallet_topup_response.rb +172 -0
  45. data/lib/x_twitter_scraper/models/monitor.rb +9 -1
  46. data/lib/x_twitter_scraper/models/monitor_create_response.rb +16 -1
  47. data/lib/x_twitter_scraper/models/monitors/keyword_create_params.rb +34 -0
  48. data/lib/x_twitter_scraper/models/monitors/keyword_create_response.rb +59 -0
  49. data/lib/x_twitter_scraper/models/monitors/keyword_deactivate_params.rb +22 -0
  50. data/lib/x_twitter_scraper/models/monitors/keyword_deactivate_response.rb +18 -0
  51. data/lib/x_twitter_scraper/models/monitors/keyword_list_params.rb +16 -0
  52. data/lib/x_twitter_scraper/models/monitors/keyword_list_response.rb +76 -0
  53. data/lib/x_twitter_scraper/models/monitors/keyword_retrieve_params.rb +22 -0
  54. data/lib/x_twitter_scraper/models/monitors/keyword_retrieve_response.rb +59 -0
  55. data/lib/x_twitter_scraper/models/monitors/keyword_update_params.rb +40 -0
  56. data/lib/x_twitter_scraper/models/monitors/keyword_update_response.rb +59 -0
  57. data/lib/x_twitter_scraper/models/paginated_tweets.rb +8 -4
  58. data/lib/x_twitter_scraper/models/paginated_users.rb +8 -4
  59. data/lib/x_twitter_scraper/models/radar_item.rb +99 -6
  60. data/lib/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rb +39 -14
  61. data/lib/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rb +14 -5
  62. data/lib/x_twitter_scraper/models/search_tweet.rb +236 -0
  63. data/lib/x_twitter_scraper/models/subscribe_create_params.rb +21 -1
  64. data/lib/x_twitter_scraper/models/subscribe_create_response.rb +10 -10
  65. data/lib/x_twitter_scraper/models/trend_list_params.rb +7 -4
  66. data/lib/x_twitter_scraper/models/tweet_media.rb +77 -0
  67. data/lib/x_twitter_scraper/models/user_profile.rb +258 -0
  68. data/lib/x_twitter_scraper/models/webhook.rb +46 -1
  69. data/lib/x_twitter_scraper/models/webhook_create_response.rb +2 -1
  70. data/lib/x_twitter_scraper/models/{api_key_revoke_params.rb → webhook_resume_params.rb} +2 -2
  71. data/lib/x_twitter_scraper/models/webhook_resume_response.rb +31 -0
  72. data/lib/x_twitter_scraper/models/x/account_connection_challenge_submit_params.rb +31 -0
  73. data/lib/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rb +66 -0
  74. data/lib/x_twitter_scraper/models/x/account_create_params.rb +1 -9
  75. data/lib/x_twitter_scraper/models/x/account_create_response.rb +30 -1
  76. data/lib/x_twitter_scraper/models/x/account_reauth_params.rb +9 -1
  77. data/lib/x_twitter_scraper/models/x/account_reauth_response.rb +36 -1
  78. data/lib/x_twitter_scraper/models/x/bookmark_retrieve_folders_response.rb +6 -2
  79. data/lib/x_twitter_scraper/models/x/communities/join_create_response.rb +20 -0
  80. data/lib/x_twitter_scraper/models/x/communities/join_delete_all_response.rb +20 -0
  81. data/lib/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rb +17 -1
  82. data/lib/x_twitter_scraper/models/x/communities/tweet_list_params.rb +43 -9
  83. data/lib/x_twitter_scraper/models/x/community_retrieve_info_response.rb +69 -1
  84. data/lib/x_twitter_scraper/models/x/community_retrieve_members_params.rb +14 -1
  85. data/lib/x_twitter_scraper/models/x/community_retrieve_search_params.rb +38 -4
  86. data/lib/x_twitter_scraper/models/x/dm_retrieve_history_params.rb +13 -1
  87. data/lib/x_twitter_scraper/models/x/dm_retrieve_history_response.rb +26 -9
  88. data/lib/x_twitter_scraper/models/x/dm_send_params.rb +3 -9
  89. data/lib/x_twitter_scraper/models/x/follower_check_params.rb +4 -4
  90. data/lib/x_twitter_scraper/models/x/list_retrieve_followers_params.rb +15 -1
  91. data/lib/x_twitter_scraper/models/x/list_retrieve_members_params.rb +9 -1
  92. data/lib/x_twitter_scraper/models/x/list_retrieve_tweets_params.rb +16 -1
  93. data/lib/x_twitter_scraper/models/x/media_download_params.rb +19 -3
  94. data/lib/x_twitter_scraper/models/x/media_upload_params.rb +8 -15
  95. data/lib/x_twitter_scraper/models/x/media_upload_response.rb +10 -1
  96. data/lib/x_twitter_scraper/models/x/profile_update_avatar_params.rb +8 -8
  97. data/lib/x_twitter_scraper/models/x/profile_update_banner_params.rb +8 -8
  98. data/lib/x_twitter_scraper/models/x/tweet_author.rb +4 -21
  99. data/lib/x_twitter_scraper/models/x/tweet_create_params.rb +18 -11
  100. data/lib/x_twitter_scraper/models/x/tweet_create_response.rb +28 -1
  101. data/lib/x_twitter_scraper/models/x/tweet_detail.rb +109 -43
  102. data/lib/x_twitter_scraper/models/x/tweet_get_favoriters_params.rb +15 -1
  103. data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +268 -1
  104. data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +268 -1
  105. data/lib/x_twitter_scraper/models/x/tweet_get_retweeters_params.rb +15 -1
  106. data/lib/x_twitter_scraper/models/x/tweet_get_thread_params.rb +16 -1
  107. data/lib/x_twitter_scraper/models/x/tweet_retrieve_response.rb +9 -4
  108. data/lib/x_twitter_scraper/models/x/tweet_search_params.rb +314 -8
  109. data/lib/x_twitter_scraper/models/x/user_remove_follower_params.rb +31 -0
  110. data/lib/x_twitter_scraper/models/x/user_remove_follower_response.rb +18 -0
  111. data/lib/x_twitter_scraper/models/x/user_retrieve_batch_params.rb +6 -2
  112. data/lib/x_twitter_scraper/models/x/user_retrieve_batch_response.rb +83 -0
  113. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_params.rb +25 -3
  114. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rb +16 -1
  115. data/lib/x_twitter_scraper/models/x/user_retrieve_following_params.rb +25 -3
  116. data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +268 -1
  117. data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +268 -1
  118. data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +268 -1
  119. data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +306 -0
  120. data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +268 -1
  121. data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rb +16 -1
  122. data/lib/x_twitter_scraper/models/x/write_action_retrieve_params.rb +22 -0
  123. data/lib/x_twitter_scraper/models/x/write_action_retrieve_response.rb +173 -0
  124. data/lib/x_twitter_scraper/models/x/x_account.rb +56 -2
  125. data/lib/x_twitter_scraper/models/x/x_account_detail.rb +23 -8
  126. data/lib/x_twitter_scraper/models/x_get_article_response.rb +189 -11
  127. data/lib/x_twitter_scraper/models/x_get_home_timeline_params.rb +2 -2
  128. data/lib/x_twitter_scraper/models/x_get_notifications_params.rb +3 -3
  129. data/lib/x_twitter_scraper/models/x_get_trends_params.rb +17 -1
  130. data/lib/x_twitter_scraper/models.rb +21 -21
  131. data/lib/x_twitter_scraper/resources/account.rb +1 -3
  132. data/lib/x_twitter_scraper/resources/compose.rb +1 -1
  133. data/lib/x_twitter_scraper/resources/credits.rb +54 -4
  134. data/lib/x_twitter_scraper/resources/drafts.rb +7 -4
  135. data/lib/x_twitter_scraper/resources/draws.rb +14 -8
  136. data/lib/x_twitter_scraper/resources/events.rb +7 -5
  137. data/lib/x_twitter_scraper/resources/extractions.rb +145 -20
  138. data/lib/x_twitter_scraper/resources/guest_wallets.rb +108 -0
  139. data/lib/x_twitter_scraper/resources/monitors/keywords.rb +128 -0
  140. data/lib/x_twitter_scraper/resources/monitors.rb +13 -5
  141. data/lib/x_twitter_scraper/resources/radar.rb +8 -6
  142. data/lib/x_twitter_scraper/resources/styles.rb +1 -1
  143. data/lib/x_twitter_scraper/resources/subscribe.rb +9 -4
  144. data/lib/x_twitter_scraper/resources/support/tickets.rb +3 -3
  145. data/lib/x_twitter_scraper/resources/trends.rb +7 -4
  146. data/lib/x_twitter_scraper/resources/webhooks.rb +25 -5
  147. data/lib/x_twitter_scraper/resources/x/account_connection_challenges.rb +41 -0
  148. data/lib/x_twitter_scraper/resources/x/accounts.rb +7 -13
  149. data/lib/x_twitter_scraper/resources/x/bookmarks.rb +1 -1
  150. data/lib/x_twitter_scraper/resources/x/communities/join.rb +6 -6
  151. data/lib/x_twitter_scraper/resources/x/communities/tweets.rb +27 -10
  152. data/lib/x_twitter_scraper/resources/x/communities.rb +27 -11
  153. data/lib/x_twitter_scraper/resources/x/dm.rb +9 -6
  154. data/lib/x_twitter_scraper/resources/x/followers.rb +4 -4
  155. data/lib/x_twitter_scraper/resources/x/lists.rb +22 -9
  156. data/lib/x_twitter_scraper/resources/x/media.rb +11 -9
  157. data/lib/x_twitter_scraper/resources/x/profile.rb +6 -6
  158. data/lib/x_twitter_scraper/resources/x/tweets.rb +282 -28
  159. data/lib/x_twitter_scraper/resources/x/users.rb +485 -34
  160. data/lib/x_twitter_scraper/resources/x/write_actions.rb +37 -0
  161. data/lib/x_twitter_scraper/resources/x.rb +33 -13
  162. data/lib/x_twitter_scraper/version.rb +1 -1
  163. data/lib/x_twitter_scraper.rb +41 -27
  164. data/rbi/x_twitter_scraper/client.rbi +14 -22
  165. data/rbi/x_twitter_scraper/models/account_retrieve_response.rbi +181 -23
  166. data/rbi/x_twitter_scraper/models/content_disclosure.rbi +149 -0
  167. data/rbi/x_twitter_scraper/models/{integration_retrieve_params.rbi → credit_redirect_topup_checkout_params.rbi} +14 -6
  168. data/rbi/x_twitter_scraper/models/credit_retrieve_balance_response.rbi +35 -9
  169. data/rbi/x_twitter_scraper/models/{integration_list_deliveries_params.rbi → credit_retrieve_topup_status_params.rbi} +8 -17
  170. data/rbi/x_twitter_scraper/models/credit_retrieve_topup_status_response.rbi +107 -0
  171. data/rbi/x_twitter_scraper/models/credit_topup_balance_params.rbi +20 -6
  172. data/rbi/x_twitter_scraper/models/credit_topup_balance_response.rbi +19 -5
  173. data/rbi/x_twitter_scraper/models/draft_list_params.rbi +8 -2
  174. data/rbi/x_twitter_scraper/models/draw_detail.rbi +2 -0
  175. data/rbi/x_twitter_scraper/models/draw_export_params.rbi +3 -12
  176. data/rbi/x_twitter_scraper/models/draw_list_item.rbi +2 -0
  177. data/rbi/x_twitter_scraper/models/draw_list_params.rbi +16 -10
  178. data/rbi/x_twitter_scraper/models/draw_run_response.rbi +15 -1
  179. data/rbi/x_twitter_scraper/models/embedded_tweet.rbi +255 -0
  180. data/rbi/x_twitter_scraper/models/error.rbi +865 -87
  181. data/rbi/x_twitter_scraper/models/event.rbi +63 -4
  182. data/rbi/x_twitter_scraper/models/event_detail.rbi +73 -5
  183. data/rbi/x_twitter_scraper/models/event_list_params.rbi +16 -10
  184. data/rbi/x_twitter_scraper/models/event_type.rbi +58 -4
  185. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_params.rbi +580 -2
  186. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_response.rbi +98 -14
  187. data/rbi/x_twitter_scraper/models/extraction_export_results_params.rbi +3 -13
  188. data/rbi/x_twitter_scraper/models/extraction_job.rbi +15 -0
  189. data/rbi/x_twitter_scraper/models/extraction_list_params.rbi +31 -10
  190. data/rbi/x_twitter_scraper/models/extraction_retrieve_params.rbi +8 -8
  191. data/rbi/x_twitter_scraper/models/extraction_retrieve_response.rbi +2 -2
  192. data/rbi/x_twitter_scraper/models/extraction_run_params.rbi +546 -2
  193. data/rbi/x_twitter_scraper/models/extraction_run_response.rbi +15 -0
  194. data/rbi/x_twitter_scraper/models/guest_wallet_amount.rbi +39 -0
  195. data/rbi/x_twitter_scraper/models/guest_wallet_create_params.rbi +58 -0
  196. data/rbi/x_twitter_scraper/models/guest_wallet_create_response.rbi +243 -0
  197. data/rbi/x_twitter_scraper/models/{integration_list_params.rbi → guest_wallet_retrieve_status_params.rbi} +2 -2
  198. data/rbi/x_twitter_scraper/models/guest_wallet_retrieve_status_response.rbi +402 -0
  199. data/rbi/x_twitter_scraper/models/guest_wallet_topup_params.rbi +58 -0
  200. data/rbi/x_twitter_scraper/models/guest_wallet_topup_response.rbi +293 -0
  201. data/rbi/x_twitter_scraper/models/monitor.rbi +8 -0
  202. data/rbi/x_twitter_scraper/models/monitor_create_response.rbi +14 -0
  203. data/rbi/x_twitter_scraper/models/monitors/keyword_create_params.rbi +56 -0
  204. data/rbi/x_twitter_scraper/models/monitors/keyword_create_response.rbi +75 -0
  205. data/rbi/x_twitter_scraper/models/monitors/keyword_deactivate_params.rbi +40 -0
  206. data/rbi/x_twitter_scraper/models/monitors/keyword_deactivate_response.rbi +28 -0
  207. data/rbi/x_twitter_scraper/models/monitors/keyword_list_params.rbi +34 -0
  208. data/rbi/x_twitter_scraper/models/monitors/keyword_list_response.rbi +123 -0
  209. data/rbi/x_twitter_scraper/models/monitors/keyword_retrieve_params.rbi +40 -0
  210. data/rbi/x_twitter_scraper/models/monitors/keyword_retrieve_response.rbi +75 -0
  211. data/rbi/x_twitter_scraper/models/monitors/keyword_update_params.rbi +72 -0
  212. data/rbi/x_twitter_scraper/models/monitors/keyword_update_response.rbi +75 -0
  213. data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +8 -4
  214. data/rbi/x_twitter_scraper/models/paginated_users.rbi +8 -4
  215. data/rbi/x_twitter_scraper/models/radar_item.rbi +131 -6
  216. data/rbi/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rbi +109 -20
  217. data/rbi/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rbi +22 -5
  218. data/rbi/x_twitter_scraper/models/search_tweet.rbi +316 -0
  219. data/rbi/x_twitter_scraper/models/subscribe_create_params.rbi +62 -2
  220. data/rbi/x_twitter_scraper/models/subscribe_create_response.rbi +10 -23
  221. data/rbi/x_twitter_scraper/models/trend_list_params.rbi +4 -4
  222. data/rbi/x_twitter_scraper/models/tweet_media.rbi +130 -0
  223. data/rbi/x_twitter_scraper/models/user_profile.rbi +346 -0
  224. data/rbi/x_twitter_scraper/models/webhook.rbi +57 -0
  225. data/rbi/x_twitter_scraper/models/webhook_create_response.rbi +2 -0
  226. data/rbi/x_twitter_scraper/models/{api_key_revoke_params.rbi → webhook_resume_params.rbi} +2 -2
  227. data/rbi/x_twitter_scraper/models/webhook_resume_response.rbi +55 -0
  228. data/rbi/x_twitter_scraper/models/x/account_connection_challenge_submit_params.rbi +54 -0
  229. data/rbi/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbi +131 -0
  230. data/rbi/x_twitter_scraper/models/x/account_create_params.rbi +0 -11
  231. data/rbi/x_twitter_scraper/models/x/account_create_response.rbi +79 -1
  232. data/rbi/x_twitter_scraper/models/x/account_reauth_params.rbi +11 -0
  233. data/rbi/x_twitter_scraper/models/x/account_reauth_response.rbi +96 -5
  234. data/rbi/x_twitter_scraper/models/x/bookmark_retrieve_folders_response.rbi +9 -1
  235. data/rbi/x_twitter_scraper/models/x/communities/join_create_response.rbi +30 -0
  236. data/rbi/x_twitter_scraper/models/x/communities/join_delete_all_response.rbi +30 -0
  237. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbi +19 -0
  238. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_params.rbi +85 -10
  239. data/rbi/x_twitter_scraper/models/x/community_retrieve_info_response.rbi +115 -0
  240. data/rbi/x_twitter_scraper/models/x/community_retrieve_members_params.rbi +15 -0
  241. data/rbi/x_twitter_scraper/models/x/community_retrieve_search_params.rbi +79 -4
  242. data/rbi/x_twitter_scraper/models/x/dm_retrieve_history_params.rbi +10 -0
  243. data/rbi/x_twitter_scraper/models/x/dm_retrieve_history_response.rbi +20 -13
  244. data/rbi/x_twitter_scraper/models/x/dm_send_params.rbi +2 -9
  245. data/rbi/x_twitter_scraper/models/x/follower_check_params.rbi +4 -4
  246. data/rbi/x_twitter_scraper/models/x/list_retrieve_followers_params.rbi +17 -0
  247. data/rbi/x_twitter_scraper/models/x/list_retrieve_members_params.rbi +11 -0
  248. data/rbi/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbi +19 -0
  249. data/rbi/x_twitter_scraper/models/x/media_download_params.rbi +24 -2
  250. data/rbi/x_twitter_scraper/models/x/media_upload_params.rbi +9 -18
  251. data/rbi/x_twitter_scraper/models/x/media_upload_response.rbi +20 -5
  252. data/rbi/x_twitter_scraper/models/x/profile_update_avatar_params.rbi +9 -9
  253. data/rbi/x_twitter_scraper/models/x/profile_update_banner_params.rbi +9 -9
  254. data/rbi/x_twitter_scraper/models/x/tweet_author.rbi +8 -39
  255. data/rbi/x_twitter_scraper/models/x/tweet_create_params.rbi +23 -12
  256. data/rbi/x_twitter_scraper/models/x/tweet_create_response.rbi +41 -5
  257. data/rbi/x_twitter_scraper/models/x/tweet_detail.rbi +156 -115
  258. data/rbi/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbi +17 -0
  259. data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +508 -0
  260. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +512 -0
  261. data/rbi/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbi +17 -0
  262. data/rbi/x_twitter_scraper/models/x/tweet_get_thread_params.rbi +19 -0
  263. data/rbi/x_twitter_scraper/models/x/tweet_retrieve_response.rbi +8 -4
  264. data/rbi/x_twitter_scraper/models/x/tweet_search_params.rbi +557 -7
  265. data/rbi/x_twitter_scraper/models/x/user_remove_follower_params.rbi +54 -0
  266. data/rbi/x_twitter_scraper/models/x/user_remove_follower_response.rbi +28 -0
  267. data/rbi/x_twitter_scraper/models/x/user_retrieve_batch_params.rbi +4 -2
  268. data/rbi/x_twitter_scraper/models/x/user_retrieve_batch_response.rbi +102 -0
  269. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_params.rbi +30 -2
  270. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbi +17 -0
  271. data/rbi/x_twitter_scraper/models/x/user_retrieve_following_params.rbi +30 -2
  272. data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +520 -0
  273. data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +520 -0
  274. data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +523 -0
  275. data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +591 -0
  276. data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +523 -0
  277. data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbi +17 -0
  278. data/rbi/x_twitter_scraper/models/x/write_action_retrieve_params.rbi +40 -0
  279. data/rbi/x_twitter_scraper/models/x/write_action_retrieve_response.rbi +313 -0
  280. data/rbi/x_twitter_scraper/models/x/x_account.rbi +87 -4
  281. data/rbi/x_twitter_scraper/models/x/x_account_detail.rbi +58 -10
  282. data/rbi/x_twitter_scraper/models/x_get_article_response.rbi +308 -12
  283. data/rbi/x_twitter_scraper/models/x_get_home_timeline_params.rbi +2 -2
  284. data/rbi/x_twitter_scraper/models/x_get_notifications_params.rbi +3 -3
  285. data/rbi/x_twitter_scraper/models/x_get_trends_params.rbi +30 -2
  286. data/rbi/x_twitter_scraper/models.rbi +24 -22
  287. data/rbi/x_twitter_scraper/resources/account.rbi +1 -1
  288. data/rbi/x_twitter_scraper/resources/compose.rbi +1 -1
  289. data/rbi/x_twitter_scraper/resources/credits.rbi +37 -5
  290. data/rbi/x_twitter_scraper/resources/drafts.rbi +7 -4
  291. data/rbi/x_twitter_scraper/resources/draws.rbi +14 -8
  292. data/rbi/x_twitter_scraper/resources/events.rbi +8 -5
  293. data/rbi/x_twitter_scraper/resources/extractions.rbi +210 -11
  294. data/rbi/x_twitter_scraper/resources/guest_wallets.rbi +76 -0
  295. data/rbi/x_twitter_scraper/resources/monitors/keywords.rbi +95 -0
  296. data/rbi/x_twitter_scraper/resources/monitors.rbi +12 -5
  297. data/rbi/x_twitter_scraper/resources/radar.rbi +12 -8
  298. data/rbi/x_twitter_scraper/resources/styles.rbi +1 -1
  299. data/rbi/x_twitter_scraper/resources/subscribe.rbi +9 -3
  300. data/rbi/x_twitter_scraper/resources/support/tickets.rbi +3 -3
  301. data/rbi/x_twitter_scraper/resources/trends.rbi +4 -4
  302. data/rbi/x_twitter_scraper/resources/webhooks.rbi +19 -5
  303. data/rbi/x_twitter_scraper/resources/x/account_connection_challenges.rbi +36 -0
  304. data/rbi/x_twitter_scraper/resources/x/accounts.rbi +6 -6
  305. data/rbi/x_twitter_scraper/resources/x/bookmarks.rbi +1 -1
  306. data/rbi/x_twitter_scraper/resources/x/communities/join.rbi +8 -4
  307. data/rbi/x_twitter_scraper/resources/x/communities/tweets.rbi +25 -7
  308. data/rbi/x_twitter_scraper/resources/x/communities.rbi +23 -7
  309. data/rbi/x_twitter_scraper/resources/x/dm.rbi +5 -2
  310. data/rbi/x_twitter_scraper/resources/x/followers.rbi +4 -4
  311. data/rbi/x_twitter_scraper/resources/x/lists.rbi +20 -4
  312. data/rbi/x_twitter_scraper/resources/x/media.rbi +13 -9
  313. data/rbi/x_twitter_scraper/resources/x/profile.rbi +8 -8
  314. data/rbi/x_twitter_scraper/resources/x/tweets.rbi +309 -16
  315. data/rbi/x_twitter_scraper/resources/x/users.rbi +520 -18
  316. data/rbi/x_twitter_scraper/resources/x/write_actions.rbi +31 -0
  317. data/rbi/x_twitter_scraper/resources/x.rbi +30 -12
  318. data/sig/x_twitter_scraper/client.rbs +2 -6
  319. data/sig/x_twitter_scraper/models/account_retrieve_response.rbs +106 -19
  320. data/sig/x_twitter_scraper/models/content_disclosure.rbs +78 -0
  321. data/sig/x_twitter_scraper/models/{api_key_create_params.rbs → credit_redirect_topup_checkout_params.rbs} +7 -8
  322. data/sig/x_twitter_scraper/models/credit_retrieve_balance_response.rbs +22 -12
  323. data/sig/x_twitter_scraper/models/{integration_list_deliveries_params.rbs → credit_retrieve_topup_status_params.rbs} +6 -12
  324. data/sig/x_twitter_scraper/models/credit_retrieve_topup_status_response.rbs +45 -0
  325. data/sig/x_twitter_scraper/models/credit_topup_balance_params.rbs +11 -4
  326. data/sig/x_twitter_scraper/models/credit_topup_balance_response.rbs +6 -4
  327. data/sig/x_twitter_scraper/models/draw_export_params.rbs +2 -6
  328. data/sig/x_twitter_scraper/models/draw_list_params.rbs +5 -5
  329. data/sig/x_twitter_scraper/models/embedded_tweet.rbs +187 -0
  330. data/sig/x_twitter_scraper/models/error.rbs +341 -54
  331. data/sig/x_twitter_scraper/models/event.rbs +34 -2
  332. data/sig/x_twitter_scraper/models/event_detail.rbs +34 -2
  333. data/sig/x_twitter_scraper/models/event_list_params.rbs +5 -5
  334. data/sig/x_twitter_scraper/models/event_type.rbs +34 -4
  335. data/sig/x_twitter_scraper/models/extraction_estimate_cost_params.rbs +269 -1
  336. data/sig/x_twitter_scraper/models/extraction_estimate_cost_response.rbs +46 -12
  337. data/sig/x_twitter_scraper/models/extraction_export_results_params.rbs +2 -6
  338. data/sig/x_twitter_scraper/models/extraction_job.rbs +6 -0
  339. data/sig/x_twitter_scraper/models/extraction_list_params.rbs +11 -5
  340. data/sig/x_twitter_scraper/models/extraction_retrieve_params.rbs +5 -5
  341. data/sig/x_twitter_scraper/models/extraction_run_params.rbs +269 -1
  342. data/sig/x_twitter_scraper/models/extraction_run_response.rbs +6 -0
  343. data/sig/x_twitter_scraper/models/guest_wallet_amount.rbs +15 -0
  344. data/sig/x_twitter_scraper/models/guest_wallet_create_params.rbs +32 -0
  345. data/sig/x_twitter_scraper/models/guest_wallet_create_response.rbs +125 -0
  346. data/sig/x_twitter_scraper/models/{api_key_list_params.rbs → guest_wallet_retrieve_status_params.rbs} +2 -2
  347. data/sig/x_twitter_scraper/models/guest_wallet_retrieve_status_response.rbs +163 -0
  348. data/sig/x_twitter_scraper/models/guest_wallet_topup_params.rbs +32 -0
  349. data/sig/x_twitter_scraper/models/guest_wallet_topup_response.rbs +146 -0
  350. data/sig/x_twitter_scraper/models/monitor.rbs +5 -0
  351. data/sig/x_twitter_scraper/models/monitor_create_response.rbs +10 -0
  352. data/sig/x_twitter_scraper/models/monitors/keyword_create_params.rbs +33 -0
  353. data/sig/x_twitter_scraper/models/monitors/keyword_create_response.rbs +47 -0
  354. data/sig/x_twitter_scraper/models/monitors/keyword_deactivate_params.rbs +25 -0
  355. data/sig/x_twitter_scraper/models/monitors/keyword_deactivate_response.rbs +15 -0
  356. data/sig/x_twitter_scraper/models/monitors/keyword_list_params.rbs +19 -0
  357. data/sig/x_twitter_scraper/models/monitors/keyword_list_response.rbs +69 -0
  358. data/sig/x_twitter_scraper/models/monitors/keyword_retrieve_params.rbs +25 -0
  359. data/sig/x_twitter_scraper/models/monitors/keyword_retrieve_response.rbs +47 -0
  360. data/sig/x_twitter_scraper/models/monitors/keyword_update_params.rbs +44 -0
  361. data/sig/x_twitter_scraper/models/monitors/keyword_update_response.rbs +47 -0
  362. data/sig/x_twitter_scraper/models/paginated_tweets.rbs +4 -4
  363. data/sig/x_twitter_scraper/models/paginated_users.rbs +4 -4
  364. data/sig/x_twitter_scraper/models/radar_item.rbs +81 -8
  365. data/sig/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rbs +44 -10
  366. data/sig/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rbs +14 -4
  367. data/sig/x_twitter_scraper/models/search_tweet.rbs +205 -0
  368. data/sig/x_twitter_scraper/models/subscribe_create_params.rbs +28 -3
  369. data/sig/x_twitter_scraper/models/subscribe_create_response.rbs +10 -16
  370. data/sig/x_twitter_scraper/models/tweet_media.rbs +72 -0
  371. data/sig/x_twitter_scraper/models/user_profile.rbs +247 -0
  372. data/sig/x_twitter_scraper/models/webhook.rbs +27 -0
  373. data/sig/x_twitter_scraper/models/{api_key_revoke_params.rbs → webhook_resume_params.rbs} +2 -2
  374. data/sig/x_twitter_scraper/models/webhook_resume_response.rbs +26 -0
  375. data/sig/x_twitter_scraper/models/x/account_connection_challenge_submit_params.rbs +30 -0
  376. data/sig/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbs +68 -0
  377. data/sig/x_twitter_scraper/models/x/account_create_params.rbs +0 -7
  378. data/sig/x_twitter_scraper/models/x/account_create_response.rbs +37 -1
  379. data/sig/x_twitter_scraper/models/x/account_reauth_params.rbs +7 -1
  380. data/sig/x_twitter_scraper/models/x/account_reauth_response.rbs +51 -3
  381. data/sig/x_twitter_scraper/models/x/communities/join_create_response.rbs +17 -0
  382. data/sig/x_twitter_scraper/models/x/communities/join_delete_all_response.rbs +17 -0
  383. data/sig/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbs +7 -1
  384. data/sig/x_twitter_scraper/models/x/communities/tweet_list_params.rbs +34 -5
  385. data/sig/x_twitter_scraper/models/x/community_retrieve_info_response.rbs +66 -0
  386. data/sig/x_twitter_scraper/models/x/community_retrieve_members_params.rbs +7 -1
  387. data/sig/x_twitter_scraper/models/x/community_retrieve_search_params.rbs +34 -5
  388. data/sig/x_twitter_scraper/models/x/dm_retrieve_history_params.rbs +5 -1
  389. data/sig/x_twitter_scraper/models/x/dm_retrieve_history_response.rbs +13 -10
  390. data/sig/x_twitter_scraper/models/x/dm_send_params.rbs +1 -8
  391. data/sig/x_twitter_scraper/models/x/list_retrieve_followers_params.rbs +7 -1
  392. data/sig/x_twitter_scraper/models/x/list_retrieve_members_params.rbs +7 -1
  393. data/sig/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbs +7 -0
  394. data/sig/x_twitter_scraper/models/x/media_download_params.rbs +18 -1
  395. data/sig/x_twitter_scraper/models/x/media_upload_params.rbs +4 -14
  396. data/sig/x_twitter_scraper/models/x/media_upload_response.rbs +10 -3
  397. data/sig/x_twitter_scraper/models/x/profile_update_avatar_params.rbs +4 -4
  398. data/sig/x_twitter_scraper/models/x/profile_update_banner_params.rbs +4 -4
  399. data/sig/x_twitter_scraper/models/x/tweet_author.rbs +8 -31
  400. data/sig/x_twitter_scraper/models/x/tweet_create_params.rbs +13 -11
  401. data/sig/x_twitter_scraper/models/x/tweet_create_response.rbs +30 -3
  402. data/sig/x_twitter_scraper/models/x/tweet_detail.rbs +99 -61
  403. data/sig/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbs +7 -1
  404. data/sig/x_twitter_scraper/models/x/tweet_get_quotes_params.rbs +242 -1
  405. data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +247 -1
  406. data/sig/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbs +7 -1
  407. data/sig/x_twitter_scraper/models/x/tweet_get_thread_params.rbs +7 -1
  408. data/sig/x_twitter_scraper/models/x/tweet_search_params.rbs +277 -1
  409. data/sig/x_twitter_scraper/models/x/user_remove_follower_params.rbs +30 -0
  410. data/sig/x_twitter_scraper/models/x/user_remove_follower_response.rbs +15 -0
  411. data/sig/x_twitter_scraper/models/x/user_retrieve_batch_response.rbs +57 -0
  412. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_params.rbs +19 -1
  413. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbs +7 -1
  414. data/sig/x_twitter_scraper/models/x/user_retrieve_following_params.rbs +19 -1
  415. data/sig/x_twitter_scraper/models/x/user_retrieve_likes_params.rbs +245 -1
  416. data/sig/x_twitter_scraper/models/x/user_retrieve_media_params.rbs +245 -1
  417. data/sig/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbs +247 -1
  418. data/sig/x_twitter_scraper/models/x/user_retrieve_replies_params.rbs +283 -0
  419. data/sig/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbs +242 -1
  420. data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbs +7 -1
  421. data/sig/x_twitter_scraper/models/x/write_action_retrieve_params.rbs +25 -0
  422. data/sig/x_twitter_scraper/models/x/write_action_retrieve_response.rbs +177 -0
  423. data/sig/x_twitter_scraper/models/x/x_account.rbs +41 -3
  424. data/sig/x_twitter_scraper/models/x/x_account_detail.rbs +26 -7
  425. data/sig/x_twitter_scraper/models/x_get_article_response.rbs +193 -6
  426. data/sig/x_twitter_scraper/models/x_get_trends_params.rbs +20 -3
  427. data/sig/x_twitter_scraper/models.rbs +21 -21
  428. data/sig/x_twitter_scraper/resources/credits.rbs +12 -1
  429. data/sig/x_twitter_scraper/resources/draws.rbs +2 -2
  430. data/sig/x_twitter_scraper/resources/events.rbs +1 -1
  431. data/sig/x_twitter_scraper/resources/extractions.rbs +61 -3
  432. data/sig/x_twitter_scraper/resources/guest_wallets.rbs +25 -0
  433. data/sig/x_twitter_scraper/resources/monitors/keywords.rbs +36 -0
  434. data/sig/x_twitter_scraper/resources/monitors.rbs +2 -0
  435. data/sig/x_twitter_scraper/resources/radar.rbs +3 -2
  436. data/sig/x_twitter_scraper/resources/subscribe.rbs +1 -0
  437. data/sig/x_twitter_scraper/resources/webhooks.rbs +5 -0
  438. data/sig/x_twitter_scraper/resources/x/account_connection_challenges.rbs +15 -0
  439. data/sig/x_twitter_scraper/resources/x/accounts.rbs +1 -1
  440. data/sig/x_twitter_scraper/resources/x/communities/join.rbs +2 -2
  441. data/sig/x_twitter_scraper/resources/x/communities/tweets.rbs +4 -1
  442. data/sig/x_twitter_scraper/resources/x/communities.rbs +4 -1
  443. data/sig/x_twitter_scraper/resources/x/dm.rbs +1 -1
  444. data/sig/x_twitter_scraper/resources/x/lists.rbs +3 -0
  445. data/sig/x_twitter_scraper/resources/x/media.rbs +3 -2
  446. data/sig/x_twitter_scraper/resources/x/profile.rbs +2 -2
  447. data/sig/x_twitter_scraper/resources/x/tweets.rbs +88 -2
  448. data/sig/x_twitter_scraper/resources/x/users.rbs +151 -2
  449. data/sig/x_twitter_scraper/resources/x/write_actions.rbs +14 -0
  450. data/sig/x_twitter_scraper/resources/x.rbs +6 -0
  451. metadata +141 -84
  452. data/lib/x_twitter_scraper/models/api_key.rb +0 -47
  453. data/lib/x_twitter_scraper/models/api_key_create_params.rb +0 -20
  454. data/lib/x_twitter_scraper/models/api_key_create_response.rb +0 -40
  455. data/lib/x_twitter_scraper/models/api_key_list_params.rb +0 -14
  456. data/lib/x_twitter_scraper/models/api_key_list_response.rb +0 -16
  457. data/lib/x_twitter_scraper/models/api_key_revoke_response.rb +0 -16
  458. data/lib/x_twitter_scraper/models/integration.rb +0 -93
  459. data/lib/x_twitter_scraper/models/integration_create_params.rb +0 -58
  460. data/lib/x_twitter_scraper/models/integration_delete_params.rb +0 -20
  461. data/lib/x_twitter_scraper/models/integration_delete_response.rb +0 -16
  462. data/lib/x_twitter_scraper/models/integration_delivery.rb +0 -71
  463. data/lib/x_twitter_scraper/models/integration_list_deliveries_params.rb +0 -29
  464. data/lib/x_twitter_scraper/models/integration_list_deliveries_response.rb +0 -17
  465. data/lib/x_twitter_scraper/models/integration_list_response.rb +0 -16
  466. data/lib/x_twitter_scraper/models/integration_retrieve_params.rb +0 -20
  467. data/lib/x_twitter_scraper/models/integration_send_test_params.rb +0 -20
  468. data/lib/x_twitter_scraper/models/integration_send_test_response.rb +0 -16
  469. data/lib/x_twitter_scraper/models/integration_update_params.rb +0 -77
  470. data/lib/x_twitter_scraper/models/x/community_action_result.rb +0 -31
  471. data/lib/x_twitter_scraper/models/x/search_tweet.rb +0 -119
  472. data/lib/x_twitter_scraper/models/x/user_profile.rb +0 -80
  473. data/lib/x_twitter_scraper/resources/api_keys.rb +0 -77
  474. data/lib/x_twitter_scraper/resources/bot/platform_links.rb +0 -16
  475. data/lib/x_twitter_scraper/resources/bot.rb +0 -18
  476. data/lib/x_twitter_scraper/resources/integrations.rb +0 -182
  477. data/rbi/x_twitter_scraper/models/api_key.rbi +0 -69
  478. data/rbi/x_twitter_scraper/models/api_key_create_params.rbi +0 -41
  479. data/rbi/x_twitter_scraper/models/api_key_create_response.rbi +0 -56
  480. data/rbi/x_twitter_scraper/models/api_key_list_params.rbi +0 -32
  481. data/rbi/x_twitter_scraper/models/api_key_list_response.rbi +0 -30
  482. data/rbi/x_twitter_scraper/models/api_key_revoke_response.rbi +0 -26
  483. data/rbi/x_twitter_scraper/models/integration.rbi +0 -117
  484. data/rbi/x_twitter_scraper/models/integration_create_params.rbi +0 -95
  485. data/rbi/x_twitter_scraper/models/integration_delete_params.rbi +0 -38
  486. data/rbi/x_twitter_scraper/models/integration_delete_response.rbi +0 -26
  487. data/rbi/x_twitter_scraper/models/integration_delivery.rbi +0 -108
  488. data/rbi/x_twitter_scraper/models/integration_list_deliveries_response.rbi +0 -34
  489. data/rbi/x_twitter_scraper/models/integration_list_response.rbi +0 -34
  490. data/rbi/x_twitter_scraper/models/integration_send_test_params.rbi +0 -38
  491. data/rbi/x_twitter_scraper/models/integration_send_test_response.rbi +0 -26
  492. data/rbi/x_twitter_scraper/models/integration_update_params.rbi +0 -115
  493. data/rbi/x_twitter_scraper/models/x/community_action_result.rbi +0 -49
  494. data/rbi/x_twitter_scraper/models/x/search_tweet.rbi +0 -181
  495. data/rbi/x_twitter_scraper/models/x/user_profile.rbi +0 -125
  496. data/rbi/x_twitter_scraper/resources/api_keys.rbi +0 -46
  497. data/rbi/x_twitter_scraper/resources/bot/platform_links.rbi +0 -16
  498. data/rbi/x_twitter_scraper/resources/bot.rbi +0 -15
  499. data/rbi/x_twitter_scraper/resources/integrations.rbi +0 -133
  500. data/sig/x_twitter_scraper/models/api_key.rbs +0 -47
  501. data/sig/x_twitter_scraper/models/api_key_create_response.rbs +0 -40
  502. data/sig/x_twitter_scraper/models/api_key_list_response.rbs +0 -13
  503. data/sig/x_twitter_scraper/models/api_key_revoke_response.rbs +0 -13
  504. data/sig/x_twitter_scraper/models/integration.rbs +0 -78
  505. data/sig/x_twitter_scraper/models/integration_create_params.rbs +0 -51
  506. data/sig/x_twitter_scraper/models/integration_delete_params.rbs +0 -23
  507. data/sig/x_twitter_scraper/models/integration_delete_response.rbs +0 -13
  508. data/sig/x_twitter_scraper/models/integration_delivery.rbs +0 -75
  509. data/sig/x_twitter_scraper/models/integration_list_deliveries_response.rbs +0 -18
  510. data/sig/x_twitter_scraper/models/integration_list_params.rbs +0 -15
  511. data/sig/x_twitter_scraper/models/integration_list_response.rbs +0 -16
  512. data/sig/x_twitter_scraper/models/integration_retrieve_params.rbs +0 -23
  513. data/sig/x_twitter_scraper/models/integration_send_test_params.rbs +0 -23
  514. data/sig/x_twitter_scraper/models/integration_send_test_response.rbs +0 -13
  515. data/sig/x_twitter_scraper/models/integration_update_params.rbs +0 -77
  516. data/sig/x_twitter_scraper/models/x/community_action_result.rbs +0 -28
  517. data/sig/x_twitter_scraper/models/x/search_tweet.rbs +0 -121
  518. data/sig/x_twitter_scraper/models/x/user_profile.rbs +0 -88
  519. data/sig/x_twitter_scraper/resources/api_keys.rbs +0 -21
  520. data/sig/x_twitter_scraper/resources/bot/platform_links.rbs +0 -9
  521. data/sig/x_twitter_scraper/resources/bot.rbs +0 -9
  522. data/sig/x_twitter_scraper/resources/integrations.rbs +0 -52
@@ -3,18 +3,17 @@
3
3
  module XTwitterScraper
4
4
  module Resources
5
5
  class X
6
- # X data lookups (subscription required)
7
6
  class Users
8
7
  # X write actions (tweets, likes, follows, DMs)
9
8
  sig { returns(XTwitterScraper::Resources::X::Users::Follow) }
10
9
  attr_reader :follow
11
10
 
12
- # Look up X user
11
+ # Get user profile with follower counts and verification
13
12
  sig do
14
13
  params(
15
14
  id: String,
16
15
  request_options: XTwitterScraper::RequestOptions::OrHash
17
- ).returns(XTwitterScraper::X::UserProfile)
16
+ ).returns(XTwitterScraper::UserProfile)
18
17
  end
19
18
  def retrieve(
20
19
  # X username (without @) or user ID
@@ -23,25 +22,45 @@ module XTwitterScraper
23
22
  )
24
23
  end
25
24
 
26
- # Get multiple users by IDs
25
+ # Remove follower
26
+ sig do
27
+ params(
28
+ id: String,
29
+ account: String,
30
+ request_options: XTwitterScraper::RequestOptions::OrHash
31
+ ).returns(XTwitterScraper::Models::X::UserRemoveFollowerResponse)
32
+ end
33
+ def remove_follower(
34
+ # User ID to remove from your followers
35
+ id,
36
+ # X account identifier (@username or account ID)
37
+ account:,
38
+ request_options: {}
39
+ )
40
+ end
41
+
42
+ # Look up multiple users by IDs in one call
27
43
  sig do
28
44
  params(
29
45
  ids: String,
30
46
  request_options: XTwitterScraper::RequestOptions::OrHash
31
- ).returns(XTwitterScraper::PaginatedUsers)
47
+ ).returns(XTwitterScraper::Models::X::UserRetrieveBatchResponse)
32
48
  end
33
49
  def retrieve_batch(
34
- # Comma-separated user IDs (max 100)
50
+ # Comma-separated numeric user IDs (1-100 values). Duplicate IDs are ignored while
51
+ # preserving first-seen order.
35
52
  ids:,
36
53
  request_options: {}
37
54
  )
38
55
  end
39
56
 
40
- # Get user followers
57
+ # List followers of a user
41
58
  sig do
42
59
  params(
43
60
  id: String,
61
+ after: String,
44
62
  cursor: String,
63
+ limit: Integer,
45
64
  page_size: Integer,
46
65
  request_options: XTwitterScraper::RequestOptions::OrHash
47
66
  ).returns(XTwitterScraper::PaginatedUsers)
@@ -49,19 +68,27 @@ module XTwitterScraper
49
68
  def retrieve_followers(
50
69
  # User ID or username
51
70
  id,
71
+ # Legacy cursor alias. Prefer cursor.
72
+ after: nil,
52
73
  # Pagination cursor for followers list
53
74
  cursor: nil,
54
- # Items per page (20-200, default 200)
75
+ # Legacy integer page size alias for following lists. Prefer pageSize.
76
+ limit: nil,
77
+ # Maximum user profiles requested from this page (20-200, default 200). The
78
+ # response can contain fewer profiles because the source returned fewer or
79
+ # remaining credits cover fewer results. Keep requesting next_cursor while
80
+ # has_next_page is true. The deprecated limit and count aliases remain accepted.
55
81
  page_size: nil,
56
82
  request_options: {}
57
83
  )
58
84
  end
59
85
 
60
- # Get followers you know for a user
86
+ # List mutual followers between you and a user
61
87
  sig do
62
88
  params(
63
89
  id: String,
64
90
  cursor: String,
91
+ page_size: Integer,
65
92
  request_options: XTwitterScraper::RequestOptions::OrHash
66
93
  ).returns(XTwitterScraper::PaginatedUsers)
67
94
  end
@@ -70,15 +97,22 @@ module XTwitterScraper
70
97
  id,
71
98
  # Pagination cursor for followers-you-know
72
99
  cursor: nil,
100
+ # Maximum user profiles requested from this page (20-200, default 200). The
101
+ # response can contain fewer profiles because the source returned fewer or
102
+ # remaining credits cover fewer results. Keep requesting next_cursor while
103
+ # has_next_page is true. The deprecated limit and count aliases remain accepted.
104
+ page_size: nil,
73
105
  request_options: {}
74
106
  )
75
107
  end
76
108
 
77
- # Get users this user follows
109
+ # List accounts a user follows
78
110
  sig do
79
111
  params(
80
112
  id: String,
113
+ after: String,
81
114
  cursor: String,
115
+ limit: Integer,
82
116
  page_size: Integer,
83
117
  request_options: XTwitterScraper::RequestOptions::OrHash
84
118
  ).returns(XTwitterScraper::PaginatedUsers)
@@ -86,67 +120,442 @@ module XTwitterScraper
86
120
  def retrieve_following(
87
121
  # User ID or username for following lookup
88
122
  id,
123
+ # Legacy cursor alias. Prefer cursor.
124
+ after: nil,
89
125
  # Pagination cursor for following list
90
126
  cursor: nil,
91
- # Results per page (20-200, default 200)
127
+ # Legacy page size alias. Prefer pageSize.
128
+ limit: nil,
129
+ # Maximum user profiles requested from this page (20-200, default 200). The
130
+ # response can contain fewer profiles because the source returned fewer or
131
+ # remaining credits cover fewer results. Keep requesting next_cursor while
132
+ # has_next_page is true. The deprecated limit and count aliases remain accepted.
92
133
  page_size: nil,
93
134
  request_options: {}
94
135
  )
95
136
  end
96
137
 
97
- # Get tweets liked by a user
138
+ # List tweets liked by a user
98
139
  sig do
99
140
  params(
100
141
  id: String,
142
+ any_words: String,
143
+ cashtags: String,
144
+ conversation_id: String,
101
145
  cursor: String,
146
+ exact_phrase: String,
147
+ exclude_words: String,
148
+ from_user: String,
149
+ hashtags: String,
150
+ in_reply_to_tweet_id: String,
151
+ language: String,
152
+ media_type:
153
+ XTwitterScraper::X::UserRetrieveLikesParams::MediaType::OrSymbol,
154
+ mentioning: String,
155
+ min_faves: Integer,
156
+ min_quotes: Integer,
157
+ min_replies: Integer,
158
+ min_retweets: Integer,
159
+ page_size: Integer,
160
+ quotes:
161
+ XTwitterScraper::X::UserRetrieveLikesParams::Quotes::OrSymbol,
162
+ quotes_of_tweet_id: String,
163
+ replies:
164
+ XTwitterScraper::X::UserRetrieveLikesParams::Replies::OrSymbol,
165
+ retweets:
166
+ XTwitterScraper::X::UserRetrieveLikesParams::Retweets::OrSymbol,
167
+ retweets_of_tweet_id: String,
168
+ since_date: Date,
169
+ to_user: String,
170
+ until_date: Date,
171
+ url: String,
172
+ verified_only: T::Boolean,
102
173
  request_options: XTwitterScraper::RequestOptions::OrHash
103
174
  ).returns(XTwitterScraper::PaginatedTweets)
104
175
  end
105
176
  def retrieve_likes(
106
- # User ID
177
+ # User ID or username
107
178
  id,
179
+ # Words or quoted phrases where any one can match. Separate with spaces, commas,
180
+ # or lines.
181
+ any_words: nil,
182
+ # Cashtags separated by spaces, commas, or lines.
183
+ cashtags: nil,
184
+ # Conversation ID filter.
185
+ conversation_id: nil,
108
186
  # Pagination cursor for liked tweets
109
187
  cursor: nil,
188
+ # Exact phrase to match.
189
+ exact_phrase: nil,
190
+ # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
191
+ exclude_words: nil,
192
+ # Filter by author username.
193
+ from_user: nil,
194
+ # Hashtags separated by spaces, commas, or lines.
195
+ hashtags: nil,
196
+ # Only replies to this tweet ID.
197
+ in_reply_to_tweet_id: nil,
198
+ # Language code filter, e.g. en or tr.
199
+ language: nil,
200
+ # Filter by media type.
201
+ media_type: nil,
202
+ # Filter tweets mentioning a username.
203
+ mentioning: nil,
204
+ # Minimum likes threshold.
205
+ min_faves: nil,
206
+ # Minimum quote count threshold.
207
+ min_quotes: nil,
208
+ # Minimum replies threshold.
209
+ min_replies: nil,
210
+ # Minimum retweets threshold.
211
+ min_retweets: nil,
212
+ # Maximum items requested from this page (1-100, default 20). The response can
213
+ # contain fewer items because the source returned fewer, filters removed items, or
214
+ # remaining credits cover fewer results. Keep requesting next_cursor while
215
+ # has_next_page is true, even when a page is empty. The deprecated limit and count
216
+ # aliases remain accepted.
217
+ page_size: nil,
218
+ # Quote mode.
219
+ quotes: nil,
220
+ # Only quotes of this tweet ID.
221
+ quotes_of_tweet_id: nil,
222
+ # Reply mode.
223
+ replies: nil,
224
+ # Retweet mode.
225
+ retweets: nil,
226
+ # Only retweets of this tweet ID.
227
+ retweets_of_tweet_id: nil,
228
+ # Start date in YYYY-MM-DD format.
229
+ since_date: nil,
230
+ # Filter replies sent to a username.
231
+ to_user: nil,
232
+ # End date in YYYY-MM-DD format.
233
+ until_date: nil,
234
+ # URL substring or domain filter.
235
+ url: nil,
236
+ # Only return tweets from verified authors.
237
+ verified_only: nil,
110
238
  request_options: {}
111
239
  )
112
240
  end
113
241
 
114
- # Get media tweets by a user
242
+ # List media tweets posted by a user
115
243
  sig do
116
244
  params(
117
245
  id: String,
246
+ any_words: String,
247
+ cashtags: String,
248
+ conversation_id: String,
118
249
  cursor: String,
250
+ exact_phrase: String,
251
+ exclude_words: String,
252
+ from_user: String,
253
+ hashtags: String,
254
+ in_reply_to_tweet_id: String,
255
+ language: String,
256
+ media_type:
257
+ XTwitterScraper::X::UserRetrieveMediaParams::MediaType::OrSymbol,
258
+ mentioning: String,
259
+ min_faves: Integer,
260
+ min_quotes: Integer,
261
+ min_replies: Integer,
262
+ min_retweets: Integer,
263
+ page_size: Integer,
264
+ quotes:
265
+ XTwitterScraper::X::UserRetrieveMediaParams::Quotes::OrSymbol,
266
+ quotes_of_tweet_id: String,
267
+ replies:
268
+ XTwitterScraper::X::UserRetrieveMediaParams::Replies::OrSymbol,
269
+ retweets:
270
+ XTwitterScraper::X::UserRetrieveMediaParams::Retweets::OrSymbol,
271
+ retweets_of_tweet_id: String,
272
+ since_date: Date,
273
+ to_user: String,
274
+ until_date: Date,
275
+ url: String,
276
+ verified_only: T::Boolean,
119
277
  request_options: XTwitterScraper::RequestOptions::OrHash
120
278
  ).returns(XTwitterScraper::PaginatedTweets)
121
279
  end
122
280
  def retrieve_media(
123
- # User ID for media lookup
281
+ # User ID or username for media lookup
124
282
  id,
283
+ # Words or quoted phrases where any one can match. Separate with spaces, commas,
284
+ # or lines.
285
+ any_words: nil,
286
+ # Cashtags separated by spaces, commas, or lines.
287
+ cashtags: nil,
288
+ # Conversation ID filter.
289
+ conversation_id: nil,
125
290
  # Pagination cursor for media tweets
126
291
  cursor: nil,
292
+ # Exact phrase to match.
293
+ exact_phrase: nil,
294
+ # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
295
+ exclude_words: nil,
296
+ # Filter by author username.
297
+ from_user: nil,
298
+ # Hashtags separated by spaces, commas, or lines.
299
+ hashtags: nil,
300
+ # Only replies to this tweet ID.
301
+ in_reply_to_tweet_id: nil,
302
+ # Language code filter, e.g. en or tr.
303
+ language: nil,
304
+ # Filter by media type.
305
+ media_type: nil,
306
+ # Filter tweets mentioning a username.
307
+ mentioning: nil,
308
+ # Minimum likes threshold.
309
+ min_faves: nil,
310
+ # Minimum quote count threshold.
311
+ min_quotes: nil,
312
+ # Minimum replies threshold.
313
+ min_replies: nil,
314
+ # Minimum retweets threshold.
315
+ min_retweets: nil,
316
+ # Maximum items requested from this page (1-100, default 20). The response can
317
+ # contain fewer items because the source returned fewer, filters removed items, or
318
+ # remaining credits cover fewer results. Keep requesting next_cursor while
319
+ # has_next_page is true, even when a page is empty. The deprecated limit and count
320
+ # aliases remain accepted.
321
+ page_size: nil,
322
+ # Quote mode.
323
+ quotes: nil,
324
+ # Only quotes of this tweet ID.
325
+ quotes_of_tweet_id: nil,
326
+ # Reply mode.
327
+ replies: nil,
328
+ # Retweet mode.
329
+ retweets: nil,
330
+ # Only retweets of this tweet ID.
331
+ retweets_of_tweet_id: nil,
332
+ # Start date in YYYY-MM-DD format.
333
+ since_date: nil,
334
+ # Filter replies sent to a username.
335
+ to_user: nil,
336
+ # End date in YYYY-MM-DD format.
337
+ until_date: nil,
338
+ # URL substring or domain filter.
339
+ url: nil,
340
+ # Only return tweets from verified authors.
341
+ verified_only: nil,
127
342
  request_options: {}
128
343
  )
129
344
  end
130
345
 
131
- # Get tweets mentioning a user
346
+ # List tweets mentioning a user
132
347
  sig do
133
348
  params(
134
349
  id: String,
350
+ any_words: String,
351
+ cashtags: String,
352
+ conversation_id: String,
135
353
  cursor: String,
354
+ exact_phrase: String,
355
+ exclude_words: String,
356
+ from_user: String,
357
+ hashtags: String,
358
+ in_reply_to_tweet_id: String,
359
+ language: String,
360
+ media_type:
361
+ XTwitterScraper::X::UserRetrieveMentionsParams::MediaType::OrSymbol,
362
+ mentioning: String,
363
+ min_faves: Integer,
364
+ min_quotes: Integer,
365
+ min_replies: Integer,
366
+ min_retweets: Integer,
367
+ page_size: Integer,
368
+ quotes:
369
+ XTwitterScraper::X::UserRetrieveMentionsParams::Quotes::OrSymbol,
370
+ quotes_of_tweet_id: String,
371
+ replies:
372
+ XTwitterScraper::X::UserRetrieveMentionsParams::Replies::OrSymbol,
373
+ retweets:
374
+ XTwitterScraper::X::UserRetrieveMentionsParams::Retweets::OrSymbol,
375
+ retweets_of_tweet_id: String,
376
+ since_date: Date,
136
377
  since_time: String,
378
+ to_user: String,
379
+ until_date: Date,
137
380
  until_time: String,
381
+ url: String,
382
+ verified_only: T::Boolean,
138
383
  request_options: XTwitterScraper::RequestOptions::OrHash
139
384
  ).returns(XTwitterScraper::PaginatedTweets)
140
385
  end
141
386
  def retrieve_mentions(
142
387
  # User ID or username for mentions lookup
143
388
  id,
389
+ # Words or quoted phrases where any one can match. Separate with spaces, commas,
390
+ # or lines.
391
+ any_words: nil,
392
+ # Cashtags separated by spaces, commas, or lines.
393
+ cashtags: nil,
394
+ # Conversation ID filter.
395
+ conversation_id: nil,
144
396
  # Pagination cursor for mentions
145
397
  cursor: nil,
398
+ # Exact phrase to match.
399
+ exact_phrase: nil,
400
+ # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
401
+ exclude_words: nil,
402
+ # Filter by author username.
403
+ from_user: nil,
404
+ # Hashtags separated by spaces, commas, or lines.
405
+ hashtags: nil,
406
+ # Only replies to this tweet ID.
407
+ in_reply_to_tweet_id: nil,
408
+ # Language code filter, e.g. en or tr.
409
+ language: nil,
410
+ # Filter by media type.
411
+ media_type: nil,
412
+ # Filter tweets mentioning a username.
413
+ mentioning: nil,
414
+ # Minimum likes threshold.
415
+ min_faves: nil,
416
+ # Minimum quote count threshold.
417
+ min_quotes: nil,
418
+ # Minimum replies threshold.
419
+ min_replies: nil,
420
+ # Minimum retweets threshold.
421
+ min_retweets: nil,
422
+ # Maximum items requested from this page (1-100, default 20). The response can
423
+ # contain fewer items because the source returned fewer, filters removed items, or
424
+ # remaining credits cover fewer results. Keep requesting next_cursor while
425
+ # has_next_page is true, even when a page is empty. The deprecated limit and count
426
+ # aliases remain accepted.
427
+ page_size: nil,
428
+ # Quote mode.
429
+ quotes: nil,
430
+ # Only quotes of this tweet ID.
431
+ quotes_of_tweet_id: nil,
432
+ # Reply mode.
433
+ replies: nil,
434
+ # Retweet mode.
435
+ retweets: nil,
436
+ # Only retweets of this tweet ID.
437
+ retweets_of_tweet_id: nil,
438
+ # Start date in YYYY-MM-DD format.
439
+ since_date: nil,
146
440
  # Unix timestamp - return mentions after this time
147
441
  since_time: nil,
442
+ # Filter replies sent to a username.
443
+ to_user: nil,
444
+ # End date in YYYY-MM-DD format.
445
+ until_date: nil,
148
446
  # Unix timestamp - return mentions before this time
149
447
  until_time: nil,
448
+ # URL substring or domain filter.
449
+ url: nil,
450
+ # Only return tweets from verified authors.
451
+ verified_only: nil,
452
+ request_options: {}
453
+ )
454
+ end
455
+
456
+ # Returns the user's timeline with replies included by default.
457
+ sig do
458
+ params(
459
+ id: String,
460
+ any_words: String,
461
+ cashtags: String,
462
+ conversation_id: String,
463
+ cursor: String,
464
+ exact_phrase: String,
465
+ exclude_words: String,
466
+ from_user: String,
467
+ hashtags: String,
468
+ include_parent_tweet: T::Boolean,
469
+ in_reply_to_tweet_id: String,
470
+ language: String,
471
+ media_type:
472
+ XTwitterScraper::X::UserRetrieveRepliesParams::MediaType::OrSymbol,
473
+ mentioning: String,
474
+ min_faves: Integer,
475
+ min_quotes: Integer,
476
+ min_replies: Integer,
477
+ min_retweets: Integer,
478
+ page_size: Integer,
479
+ quotes:
480
+ XTwitterScraper::X::UserRetrieveRepliesParams::Quotes::OrSymbol,
481
+ quotes_of_tweet_id: String,
482
+ replies:
483
+ XTwitterScraper::X::UserRetrieveRepliesParams::Replies::OrSymbol,
484
+ retweets:
485
+ XTwitterScraper::X::UserRetrieveRepliesParams::Retweets::OrSymbol,
486
+ retweets_of_tweet_id: String,
487
+ since_date: Date,
488
+ to_user: String,
489
+ until_date: Date,
490
+ url: String,
491
+ verified_only: T::Boolean,
492
+ request_options: XTwitterScraper::RequestOptions::OrHash
493
+ ).returns(XTwitterScraper::PaginatedTweets)
494
+ end
495
+ def retrieve_replies(
496
+ # X user ID or username
497
+ id,
498
+ # Words or quoted phrases where any one can match. Separate with spaces, commas,
499
+ # or lines.
500
+ any_words: nil,
501
+ # Cashtags separated by spaces, commas, or lines.
502
+ cashtags: nil,
503
+ # Conversation ID filter.
504
+ conversation_id: nil,
505
+ # Pagination cursor for user replies
506
+ cursor: nil,
507
+ # Exact phrase to match.
508
+ exact_phrase: nil,
509
+ # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
510
+ exclude_words: nil,
511
+ # Filter by author username.
512
+ from_user: nil,
513
+ # Hashtags separated by spaces, commas, or lines.
514
+ hashtags: nil,
515
+ # Include parent tweet for replies
516
+ include_parent_tweet: nil,
517
+ # Only replies to this tweet ID.
518
+ in_reply_to_tweet_id: nil,
519
+ # Language code filter, e.g. en or tr.
520
+ language: nil,
521
+ # Filter by media type.
522
+ media_type: nil,
523
+ # Filter tweets mentioning a username.
524
+ mentioning: nil,
525
+ # Minimum likes threshold.
526
+ min_faves: nil,
527
+ # Minimum quote count threshold.
528
+ min_quotes: nil,
529
+ # Minimum replies threshold.
530
+ min_replies: nil,
531
+ # Minimum retweets threshold.
532
+ min_retweets: nil,
533
+ # Maximum items requested from this page (1-100, default 20). The response can
534
+ # contain fewer items because the source returned fewer, filters removed items, or
535
+ # remaining credits cover fewer results. Keep requesting next_cursor while
536
+ # has_next_page is true, even when a page is empty. The deprecated limit and count
537
+ # aliases remain accepted.
538
+ page_size: nil,
539
+ # Quote mode.
540
+ quotes: nil,
541
+ # Only quotes of this tweet ID.
542
+ quotes_of_tweet_id: nil,
543
+ # Reply mode.
544
+ replies: nil,
545
+ # Retweet mode.
546
+ retweets: nil,
547
+ # Only retweets of this tweet ID.
548
+ retweets_of_tweet_id: nil,
549
+ # Start date in YYYY-MM-DD format.
550
+ since_date: nil,
551
+ # Filter replies sent to a username.
552
+ to_user: nil,
553
+ # End date in YYYY-MM-DD format.
554
+ until_date: nil,
555
+ # URL substring or domain filter.
556
+ url: nil,
557
+ # Only return tweets from verified authors.
558
+ verified_only: nil,
150
559
  request_options: {}
151
560
  )
152
561
  end
@@ -168,34 +577,122 @@ module XTwitterScraper
168
577
  )
169
578
  end
170
579
 
171
- # Get recent tweets by a user
580
+ # List recent tweets posted by a user
172
581
  sig do
173
582
  params(
174
583
  id: String,
584
+ any_words: String,
585
+ cashtags: String,
586
+ conversation_id: String,
175
587
  cursor: String,
588
+ exact_phrase: String,
589
+ exclude_words: String,
590
+ from_user: String,
591
+ hashtags: String,
176
592
  include_parent_tweet: T::Boolean,
177
593
  include_replies: T::Boolean,
594
+ in_reply_to_tweet_id: String,
595
+ language: String,
596
+ media_type:
597
+ XTwitterScraper::X::UserRetrieveTweetsParams::MediaType::OrSymbol,
598
+ mentioning: String,
599
+ min_faves: Integer,
600
+ min_quotes: Integer,
601
+ min_replies: Integer,
602
+ min_retweets: Integer,
603
+ page_size: Integer,
604
+ quotes:
605
+ XTwitterScraper::X::UserRetrieveTweetsParams::Quotes::OrSymbol,
606
+ quotes_of_tweet_id: String,
607
+ replies:
608
+ XTwitterScraper::X::UserRetrieveTweetsParams::Replies::OrSymbol,
609
+ retweets:
610
+ XTwitterScraper::X::UserRetrieveTweetsParams::Retweets::OrSymbol,
611
+ retweets_of_tweet_id: String,
612
+ since_date: Date,
613
+ to_user: String,
614
+ until_date: Date,
615
+ url: String,
616
+ verified_only: T::Boolean,
178
617
  request_options: XTwitterScraper::RequestOptions::OrHash
179
618
  ).returns(XTwitterScraper::PaginatedTweets)
180
619
  end
181
620
  def retrieve_tweets(
182
621
  # X user ID or username
183
622
  id,
623
+ # Words or quoted phrases where any one can match. Separate with spaces, commas,
624
+ # or lines.
625
+ any_words: nil,
626
+ # Cashtags separated by spaces, commas, or lines.
627
+ cashtags: nil,
628
+ # Conversation ID filter.
629
+ conversation_id: nil,
184
630
  # Pagination cursor for user tweets
185
631
  cursor: nil,
632
+ # Exact phrase to match.
633
+ exact_phrase: nil,
634
+ # Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
635
+ exclude_words: nil,
636
+ # Filter by author username.
637
+ from_user: nil,
638
+ # Hashtags separated by spaces, commas, or lines.
639
+ hashtags: nil,
186
640
  # Include parent tweet for replies
187
641
  include_parent_tweet: nil,
188
642
  # Include reply tweets
189
643
  include_replies: nil,
644
+ # Only replies to this tweet ID.
645
+ in_reply_to_tweet_id: nil,
646
+ # Language code filter, e.g. en or tr.
647
+ language: nil,
648
+ # Filter by media type.
649
+ media_type: nil,
650
+ # Filter tweets mentioning a username.
651
+ mentioning: nil,
652
+ # Minimum likes threshold.
653
+ min_faves: nil,
654
+ # Minimum quote count threshold.
655
+ min_quotes: nil,
656
+ # Minimum replies threshold.
657
+ min_replies: nil,
658
+ # Minimum retweets threshold.
659
+ min_retweets: nil,
660
+ # Maximum items requested from this page (1-100, default 20). The response can
661
+ # contain fewer items because the source returned fewer, filters removed items, or
662
+ # remaining credits cover fewer results. Keep requesting next_cursor while
663
+ # has_next_page is true, even when a page is empty. The deprecated limit and count
664
+ # aliases remain accepted.
665
+ page_size: nil,
666
+ # Quote mode.
667
+ quotes: nil,
668
+ # Only quotes of this tweet ID.
669
+ quotes_of_tweet_id: nil,
670
+ # Reply mode.
671
+ replies: nil,
672
+ # Retweet mode.
673
+ retweets: nil,
674
+ # Only retweets of this tweet ID.
675
+ retweets_of_tweet_id: nil,
676
+ # Start date in YYYY-MM-DD format.
677
+ since_date: nil,
678
+ # Filter replies sent to a username.
679
+ to_user: nil,
680
+ # End date in YYYY-MM-DD format.
681
+ until_date: nil,
682
+ # URL substring or domain filter.
683
+ url: nil,
684
+ # Only return tweets from verified authors.
685
+ verified_only: nil,
190
686
  request_options: {}
191
687
  )
192
688
  end
193
689
 
194
- # Get verified followers
690
+ # List verified followers of a user
195
691
  sig do
196
692
  params(
197
693
  id: String,
198
694
  cursor: String,
695
+ page_size: Integer,
199
696
  request_options: XTwitterScraper::RequestOptions::OrHash
200
697
  ).returns(XTwitterScraper::PaginatedUsers)
201
698
  end
@@ -204,6 +701,11 @@ module XTwitterScraper
204
701
  id,
205
702
  # Pagination cursor for verified followers
206
703
  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.
708
+ page_size: nil,
207
709
  request_options: {}
208
710
  )
209
711
  end