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
@@ -2,14 +2,16 @@
2
2
 
3
3
  module XTwitterScraper
4
4
  module Resources
5
- # Tweet composition, drafts, writing styles & radar
5
+ # AI tweet composition, drafts, writing styles, and radar
6
6
  class Radar
7
7
  # Get trending topics from curated sources
8
8
  sig do
9
9
  params(
10
- category: String,
11
- count: Integer,
10
+ after: String,
11
+ category:
12
+ XTwitterScraper::RadarRetrieveTrendingTopicsParams::Category::OrSymbol,
12
13
  hours: Integer,
14
+ limit: Integer,
13
15
  region: String,
14
16
  source:
15
17
  XTwitterScraper::RadarRetrieveTrendingTopicsParams::Source::OrSymbol,
@@ -17,13 +19,15 @@ module XTwitterScraper
17
19
  ).returns(XTwitterScraper::Models::RadarRetrieveTrendingTopicsResponse)
18
20
  end
19
21
  def retrieve_trending_topics(
20
- # Filter by category (general, tech, dev, etc.)
22
+ # Cursor for pagination (from prior response nextCursor).
23
+ after: nil,
24
+ # Filter by category.
21
25
  category: nil,
22
- # Number of items to return
23
- count: nil,
24
- # Lookback window in hours
26
+ # Lookback window in hours (1-72, default 6).
25
27
  hours: nil,
26
- # Region filter (us, global, etc.)
28
+ # Number of items to return (1-100, default 50).
29
+ limit: nil,
30
+ # Region filter. Use `global` or a region code such as `US`, `GB`, `TR`, or `ES`.
27
31
  region: nil,
28
32
  # Source filter. One of: github, google_trends, hacker_news, polymarket, reddit,
29
33
  # trustmrr, wikipedia
@@ -2,7 +2,7 @@
2
2
 
3
3
  module XTwitterScraper
4
4
  module Resources
5
- # Tweet composition, drafts, writing styles & radar
5
+ # AI tweet composition, drafts, writing styles, and radar
6
6
  class Styles
7
7
  # Get cached style profile
8
8
  sig do
@@ -2,15 +2,21 @@
2
2
 
3
3
  module XTwitterScraper
4
4
  module Resources
5
- # Subscription & billing
5
+ # Subscription, billing, and credits
6
6
  class Subscribe
7
- # Get checkout or billing URL
7
+ # Create a subscription checkout or billing-management URL only after the user
8
+ # confirms. The request never completes payment by itself.
8
9
  sig do
9
10
  params(
11
+ tier: XTwitterScraper::SubscribeCreateParams::Tier::OrSymbol,
10
12
  request_options: XTwitterScraper::RequestOptions::OrHash
11
13
  ).returns(XTwitterScraper::Models::SubscribeCreateResponse)
12
14
  end
13
- def create(request_options: {})
15
+ def create(
16
+ # Subscription tier to pre-select.
17
+ tier: nil,
18
+ request_options: {}
19
+ )
14
20
  end
15
21
 
16
22
  # @api private
@@ -24,7 +24,7 @@ module XTwitterScraper
24
24
  ).returns(XTwitterScraper::Models::Support::TicketRetrieveResponse)
25
25
  end
26
26
  def retrieve(
27
- # Support ticket ID
27
+ # Support ticket public ID
28
28
  id,
29
29
  request_options: {}
30
30
  )
@@ -40,7 +40,7 @@ module XTwitterScraper
40
40
  ).returns(XTwitterScraper::Models::Support::TicketUpdateResponse)
41
41
  end
42
42
  def update(
43
- # Support ticket ID to update
43
+ # Support ticket public ID to update
44
44
  id,
45
45
  status:,
46
46
  request_options: {}
@@ -65,7 +65,7 @@ module XTwitterScraper
65
65
  ).returns(XTwitterScraper::Models::Support::TicketReplyResponse)
66
66
  end
67
67
  def reply(
68
- # Support ticket ID for the reply
68
+ # Support ticket public ID for the reply
69
69
  id,
70
70
  body:,
71
71
  request_options: {}
@@ -2,9 +2,9 @@
2
2
 
3
3
  module XTwitterScraper
4
4
  module Resources
5
- # Trending topics by region
5
+ # Trending topics and hashtags by region
6
6
  class Trends
7
- # Get regional trending topics
7
+ # Get trending hashtags and topics by region (alias)
8
8
  sig do
9
9
  params(
10
10
  count: Integer,
@@ -13,9 +13,9 @@ module XTwitterScraper
13
13
  ).returns(XTwitterScraper::Models::TrendListResponse)
14
14
  end
15
15
  def list(
16
- # Number of trending topics to return (1-50, default 30)
16
+ # Number of trending topics returned (1-50, default 30)
17
17
  count: nil,
18
- # Region WOEID (1=Worldwide, 23424977=US, 23424975=UK, 23424969=Turkey)
18
+ # Region Yahoo WOEID code (1=Worldwide, 23424977=US, 23424975=UK, 23424969=Turkey)
19
19
  woeid: nil,
20
20
  request_options: {}
21
21
  )
@@ -2,7 +2,7 @@
2
2
 
3
3
  module XTwitterScraper
4
4
  module Resources
5
- # Webhook endpoint management & delivery
5
+ # Webhook endpoint management and delivery
6
6
  class Webhooks
7
7
  # Create webhook
8
8
  sig do
@@ -32,7 +32,7 @@ module XTwitterScraper
32
32
  ).returns(XTwitterScraper::Webhook)
33
33
  end
34
34
  def update(
35
- # Resource ID (stringified bigint)
35
+ # Resource ID returned by the matching create or list endpoint.
36
36
  id,
37
37
  # Array of event types to subscribe to.
38
38
  event_types: nil,
@@ -59,7 +59,7 @@ module XTwitterScraper
59
59
  ).returns(XTwitterScraper::Models::WebhookDeactivateResponse)
60
60
  end
61
61
  def deactivate(
62
- # Resource ID (stringified bigint)
62
+ # Resource ID returned by the matching create or list endpoint.
63
63
  id,
64
64
  request_options: {}
65
65
  )
@@ -73,7 +73,21 @@ module XTwitterScraper
73
73
  ).returns(XTwitterScraper::Models::WebhookListDeliveriesResponse)
74
74
  end
75
75
  def list_deliveries(
76
- # Resource ID (stringified bigint)
76
+ # Resource ID returned by the matching create or list endpoint.
77
+ id,
78
+ request_options: {}
79
+ )
80
+ end
81
+
82
+ # Test and resume webhook endpoint
83
+ sig do
84
+ params(
85
+ id: String,
86
+ request_options: XTwitterScraper::RequestOptions::OrHash
87
+ ).returns(XTwitterScraper::Models::WebhookResumeResponse)
88
+ end
89
+ def resume(
90
+ # Resource ID returned by the matching create or list endpoint.
77
91
  id,
78
92
  request_options: {}
79
93
  )
@@ -87,7 +101,7 @@ module XTwitterScraper
87
101
  ).returns(XTwitterScraper::Models::WebhookTestResponse)
88
102
  end
89
103
  def test_(
90
- # Resource ID (stringified bigint)
104
+ # Resource ID returned by the matching create or list endpoint.
91
105
  id,
92
106
  request_options: {}
93
107
  )
@@ -0,0 +1,36 @@
1
+ # typed: strong
2
+
3
+ module XTwitterScraper
4
+ module Resources
5
+ class X
6
+ # Connected X account management
7
+ class AccountConnectionChallenges
8
+ # Submit X account email verification code
9
+ sig do
10
+ params(
11
+ id: String,
12
+ email_code: String,
13
+ request_options: XTwitterScraper::RequestOptions::OrHash
14
+ ).returns(
15
+ XTwitterScraper::Models::X::AccountConnectionChallengeSubmitResponse
16
+ )
17
+ end
18
+ def submit(
19
+ # Resource ID returned by the matching create or list endpoint.
20
+ id,
21
+ # Code sent to the account email.
22
+ email_code:,
23
+ request_options: {}
24
+ )
25
+ end
26
+
27
+ # @api private
28
+ sig do
29
+ params(client: XTwitterScraper::Client).returns(T.attached_class)
30
+ end
31
+ def self.new(client:)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -11,7 +11,6 @@ module XTwitterScraper
11
11
  email: String,
12
12
  password: String,
13
13
  username: String,
14
- proxy_country: String,
15
14
  totp_secret: String,
16
15
  request_options: XTwitterScraper::RequestOptions::OrHash
17
16
  ).returns(XTwitterScraper::Models::X::AccountCreateResponse)
@@ -23,8 +22,6 @@ module XTwitterScraper
23
22
  password:,
24
23
  # X username
25
24
  username:,
26
- # Proxy country code
27
- proxy_country: nil,
28
25
  # TOTP secret for 2FA
29
26
  totp_secret: nil,
30
27
  request_options: {}
@@ -39,7 +36,7 @@ module XTwitterScraper
39
36
  ).returns(XTwitterScraper::X::XAccountDetail)
40
37
  end
41
38
  def retrieve(
42
- # Resource ID (stringified bigint)
39
+ # Resource ID returned by the matching create or list endpoint.
43
40
  id,
44
41
  request_options: {}
45
42
  )
@@ -62,7 +59,7 @@ module XTwitterScraper
62
59
  ).returns(XTwitterScraper::Models::X::AccountDeleteResponse)
63
60
  end
64
61
  def delete(
65
- # Resource ID (stringified bigint)
62
+ # Resource ID returned by the matching create or list endpoint.
66
63
  id,
67
64
  request_options: {}
68
65
  )
@@ -83,15 +80,18 @@ module XTwitterScraper
83
80
  params(
84
81
  id: String,
85
82
  password: String,
83
+ email: String,
86
84
  totp_secret: String,
87
85
  request_options: XTwitterScraper::RequestOptions::OrHash
88
86
  ).returns(XTwitterScraper::Models::X::AccountReauthResponse)
89
87
  end
90
88
  def reauth(
91
- # Resource ID (stringified bigint)
89
+ # Resource ID returned by the matching create or list endpoint.
92
90
  id,
93
91
  # Updated account password
94
92
  password:,
93
+ # Email for the X account (updates stored email)
94
+ email: nil,
95
95
  # TOTP secret for 2FA re-authentication
96
96
  totp_secret: nil,
97
97
  request_options: {}
@@ -3,7 +3,7 @@
3
3
  module XTwitterScraper
4
4
  module Resources
5
5
  class X
6
- # X data lookups (subscription required)
6
+ # Look up, search, and analyze individual tweets
7
7
  class Bookmarks
8
8
  # Get bookmarked tweets
9
9
  sig do
@@ -12,10 +12,12 @@ module XTwitterScraper
12
12
  id: String,
13
13
  account: String,
14
14
  request_options: XTwitterScraper::RequestOptions::OrHash
15
- ).returns(XTwitterScraper::X::CommunityActionResult)
15
+ ).returns(
16
+ XTwitterScraper::Models::X::Communities::JoinCreateResponse
17
+ )
16
18
  end
17
19
  def create(
18
- # Resource ID (stringified bigint)
20
+ # Resource ID returned by the matching create or list endpoint.
19
21
  id,
20
22
  # X account identifier (@username or account ID)
21
23
  account:,
@@ -29,10 +31,12 @@ module XTwitterScraper
29
31
  id: String,
30
32
  account: String,
31
33
  request_options: XTwitterScraper::RequestOptions::OrHash
32
- ).returns(XTwitterScraper::X::CommunityActionResult)
34
+ ).returns(
35
+ XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse
36
+ )
33
37
  end
34
38
  def delete_all(
35
- # Resource ID (stringified bigint)
39
+ # Resource ID returned by the matching create or list endpoint.
36
40
  id,
37
41
  # X account identifier (@username or account ID)
38
42
  account:,
@@ -4,33 +4,45 @@ module XTwitterScraper
4
4
  module Resources
5
5
  class X
6
6
  class Communities
7
- # X data lookups (subscription required)
7
+ # X Community info, members, and tweets
8
8
  class Tweets
9
- # Search tweets across all communities
9
+ # Requires a Community ID and keyword query.
10
10
  sig do
11
11
  params(
12
+ community_id: String,
12
13
  q: String,
13
14
  cursor: String,
14
- query_type: String,
15
+ page_size: Integer,
16
+ query_type:
17
+ XTwitterScraper::X::Communities::TweetListParams::QueryType::OrSymbol,
15
18
  request_options: XTwitterScraper::RequestOptions::OrHash
16
19
  ).returns(XTwitterScraper::PaginatedTweets)
17
20
  end
18
21
  def list(
19
- # Search query for cross-community tweets
22
+ # Numeric ID of the community to search
23
+ community_id:,
24
+ # Keyword query within the selected community
20
25
  q:,
21
- # Pagination cursor for cross-community results
26
+ # Pagination cursor for community results
22
27
  cursor: nil,
23
- # Sort order for cross-community results (Latest or Top)
28
+ # Maximum items requested from this page (1-100, default 20). The response can
29
+ # contain fewer items because the source returned fewer, filters removed items, or
30
+ # remaining credits cover fewer results. Keep requesting next_cursor while
31
+ # has_next_page is true, even when a page is empty. The deprecated limit and count
32
+ # aliases remain accepted.
33
+ page_size: nil,
34
+ # Sort order for community results (Latest or Top)
24
35
  query_type: nil,
25
36
  request_options: {}
26
37
  )
27
38
  end
28
39
 
29
- # Get community tweets
40
+ # List tweets posted in a community
30
41
  sig do
31
42
  params(
32
43
  id: String,
33
44
  cursor: String,
45
+ page_size: Integer,
34
46
  request_options: XTwitterScraper::RequestOptions::OrHash
35
47
  ).returns(XTwitterScraper::PaginatedTweets)
36
48
  end
@@ -39,6 +51,12 @@ module XTwitterScraper
39
51
  id,
40
52
  # Pagination cursor for community tweets
41
53
  cursor: nil,
54
+ # Maximum items requested from this page (1-100, default 20). The response can
55
+ # contain fewer items because the source returned fewer, filters removed items, or
56
+ # remaining credits cover fewer results. Keep requesting next_cursor while
57
+ # has_next_page is true, even when a page is empty. The deprecated limit and count
58
+ # aliases remain accepted.
59
+ page_size: nil,
42
60
  request_options: {}
43
61
  )
44
62
  end
@@ -8,7 +8,7 @@ module XTwitterScraper
8
8
  sig { returns(XTwitterScraper::Resources::X::Communities::Join) }
9
9
  attr_reader :join
10
10
 
11
- # X data lookups (subscription required)
11
+ # X Community info, members, and tweets
12
12
  sig { returns(XTwitterScraper::Resources::X::Communities::Tweets) }
13
13
  attr_reader :tweets
14
14
 
@@ -42,7 +42,7 @@ module XTwitterScraper
42
42
  ).returns(XTwitterScraper::Models::X::CommunityDeleteResponse)
43
43
  end
44
44
  def delete(
45
- # Resource ID (stringified bigint)
45
+ # Resource ID returned by the matching create or list endpoint.
46
46
  id,
47
47
  # X account (@username or ID) deleting the community
48
48
  account:,
@@ -52,7 +52,7 @@ module XTwitterScraper
52
52
  )
53
53
  end
54
54
 
55
- # Get community details
55
+ # Get community name, description and member count
56
56
  sig do
57
57
  params(
58
58
  id: String,
@@ -66,11 +66,12 @@ module XTwitterScraper
66
66
  )
67
67
  end
68
68
 
69
- # Get community members
69
+ # List members of a community
70
70
  sig do
71
71
  params(
72
72
  id: String,
73
73
  cursor: String,
74
+ page_size: Integer,
74
75
  request_options: XTwitterScraper::RequestOptions::OrHash
75
76
  ).returns(XTwitterScraper::PaginatedUsers)
76
77
  end
@@ -79,11 +80,15 @@ module XTwitterScraper
79
80
  id,
80
81
  # Pagination cursor
81
82
  cursor: nil,
83
+ # Items per page (20-200, default 20). This is an upper bound for paid
84
+ # authenticated calls: remaining credits can reduce the returned page size, and
85
+ # zero affordable results returns 402 insufficient_credits.
86
+ page_size: nil,
82
87
  request_options: {}
83
88
  )
84
89
  end
85
90
 
86
- # Get community moderators
91
+ # List moderators of a community
87
92
  sig do
88
93
  params(
89
94
  id: String,
@@ -100,20 +105,31 @@ module XTwitterScraper
100
105
  )
101
106
  end
102
107
 
103
- # Search tweets across communities
108
+ # Returns tweets, not community records. Requires a Community ID.
104
109
  sig do
105
110
  params(
111
+ community_id: String,
106
112
  q: String,
107
113
  cursor: String,
108
- query_type: String,
114
+ page_size: Integer,
115
+ query_type:
116
+ XTwitterScraper::X::CommunityRetrieveSearchParams::QueryType::OrSymbol,
109
117
  request_options: XTwitterScraper::RequestOptions::OrHash
110
118
  ).returns(XTwitterScraper::PaginatedTweets)
111
119
  end
112
120
  def retrieve_search(
121
+ # Numeric ID of the community whose posts to search
122
+ community_id:,
113
123
  # Search query
114
124
  q:,
115
125
  # Pagination cursor for community search
116
126
  cursor: nil,
127
+ # Maximum items requested from this page (1-100, default 20). The response can
128
+ # contain fewer items because the source returned fewer, filters removed items, or
129
+ # remaining credits cover fewer results. Keep requesting next_cursor while
130
+ # has_next_page is true, even when a page is empty. The deprecated limit and count
131
+ # aliases remain accepted.
132
+ page_size: nil,
117
133
  # Sort order (Latest or Top)
118
134
  query_type: nil,
119
135
  request_options: {}
@@ -8,6 +8,7 @@ module XTwitterScraper
8
8
  sig do
9
9
  params(
10
10
  user_id: String,
11
+ account: String,
11
12
  cursor: String,
12
13
  max_id: String,
13
14
  request_options: XTwitterScraper::RequestOptions::OrHash
@@ -16,6 +17,9 @@ module XTwitterScraper
16
17
  def retrieve_history(
17
18
  # Target user ID
18
19
  user_id,
20
+ # X handle (without the `@` prefix) of the connected X account used to read the
21
+ # conversation. The account must be a participant in the conversation.
22
+ account:,
19
23
  # Pagination cursor for DM history
20
24
  cursor: nil,
21
25
  # Legacy pagination cursor (backward compat)
@@ -31,7 +35,6 @@ module XTwitterScraper
31
35
  account: String,
32
36
  text: String,
33
37
  media_ids: T::Array[String],
34
- reply_to_message_id: String,
35
38
  request_options: XTwitterScraper::RequestOptions::OrHash
36
39
  ).returns(XTwitterScraper::Models::X::DmSendResponse)
37
40
  end
@@ -41,8 +44,8 @@ module XTwitterScraper
41
44
  # X account (@username or ID) sending the DM
42
45
  account:,
43
46
  text:,
47
+ # Optional array containing exactly 1 uploaded media ID.
44
48
  media_ids: nil,
45
- reply_to_message_id: nil,
46
49
  request_options: {}
47
50
  )
48
51
  end
@@ -3,9 +3,9 @@
3
3
  module XTwitterScraper
4
4
  module Resources
5
5
  class X
6
- # X data lookups (subscription required)
6
+ # Look up, search, and explore user profiles and relationships
7
7
  class Followers
8
- # Check follow relationship
8
+ # Check if one user follows another
9
9
  sig do
10
10
  params(
11
11
  source: String,
@@ -14,9 +14,9 @@ module XTwitterScraper
14
14
  ).returns(XTwitterScraper::Models::X::FollowerCheckResponse)
15
15
  end
16
16
  def check(
17
- # Username to check (without @)
17
+ # Source username, @username, or X or Twitter profile URL
18
18
  source:,
19
- # Target username (without @)
19
+ # Target username, @username, or X or Twitter profile URL
20
20
  target:,
21
21
  request_options: {}
22
22
  )
@@ -3,13 +3,14 @@
3
3
  module XTwitterScraper
4
4
  module Resources
5
5
  class X
6
- # X data lookups (subscription required)
6
+ # X List followers, members, and tweets
7
7
  class Lists
8
- # Get list followers
8
+ # List followers of an X List
9
9
  sig do
10
10
  params(
11
11
  id: String,
12
12
  cursor: String,
13
+ page_size: Integer,
13
14
  request_options: XTwitterScraper::RequestOptions::OrHash
14
15
  ).returns(XTwitterScraper::PaginatedUsers)
15
16
  end
@@ -18,15 +19,21 @@ module XTwitterScraper
18
19
  id,
19
20
  # Pagination cursor for list followers
20
21
  cursor: nil,
22
+ # Maximum user profiles requested from this page (20-200, default 200). The
23
+ # response can contain fewer profiles because the source returned fewer or
24
+ # remaining credits cover fewer results. Keep requesting next_cursor while
25
+ # has_next_page is true. The deprecated limit and count aliases remain accepted.
26
+ page_size: nil,
21
27
  request_options: {}
22
28
  )
23
29
  end
24
30
 
25
- # Get list members
31
+ # List members of an X List
26
32
  sig do
27
33
  params(
28
34
  id: String,
29
35
  cursor: String,
36
+ page_size: Integer,
30
37
  request_options: XTwitterScraper::RequestOptions::OrHash
31
38
  ).returns(XTwitterScraper::PaginatedUsers)
32
39
  end
@@ -35,16 +42,19 @@ module XTwitterScraper
35
42
  id,
36
43
  # Pagination cursor for list members
37
44
  cursor: nil,
45
+ # Members per page (20-200, default 20)
46
+ page_size: nil,
38
47
  request_options: {}
39
48
  )
40
49
  end
41
50
 
42
- # Get list tweets
51
+ # List tweets from an X List
43
52
  sig do
44
53
  params(
45
54
  id: String,
46
55
  cursor: String,
47
56
  include_replies: T::Boolean,
57
+ page_size: Integer,
48
58
  since_time: String,
49
59
  until_time: String,
50
60
  request_options: XTwitterScraper::RequestOptions::OrHash
@@ -57,6 +67,12 @@ module XTwitterScraper
57
67
  cursor: nil,
58
68
  # Include replies (default false)
59
69
  include_replies: nil,
70
+ # Maximum items requested from this page (1-100, default 20). The response can
71
+ # contain fewer items because the source returned fewer, filters removed items, or
72
+ # remaining credits cover fewer results. Keep requesting next_cursor while
73
+ # has_next_page is true, even when a page is empty. The deprecated limit and count
74
+ # aliases remain accepted.
75
+ page_size: nil,
60
76
  # Unix timestamp - filter after
61
77
  since_time: nil,
62
78
  # Unix timestamp - filter before
@@ -3,21 +3,27 @@
3
3
  module XTwitterScraper
4
4
  module Resources
5
5
  class X
6
- # Media upload & download
6
+ # Media upload and download
7
7
  class Media
8
- # Download tweet media
8
+ # Download images and videos from tweets
9
9
  sig do
10
10
  params(
11
+ tweet_id: String,
11
12
  tweet_ids: T::Array[String],
12
13
  tweet_input: String,
14
+ tweet_url: String,
13
15
  request_options: XTwitterScraper::RequestOptions::OrHash
14
16
  ).returns(XTwitterScraper::Models::X::MediaDownloadResponse)
15
17
  end
16
18
  def download(
17
- # Array of tweet URLs or IDs (bulk, max 50)
19
+ # Numeric tweet ID alias for tweetInput
20
+ tweet_id: nil,
21
+ # Array of tweet URLs or IDs (bulk, max 50 string items)
18
22
  tweet_ids: nil,
19
23
  # Tweet URL or ID (single tweet)
20
24
  tweet_input: nil,
25
+ # Tweet URL alias for tweetInput
26
+ tweet_url: nil,
21
27
  request_options: {}
22
28
  )
23
29
  end
@@ -26,17 +32,15 @@ module XTwitterScraper
26
32
  sig do
27
33
  params(
28
34
  account: String,
29
- file: XTwitterScraper::Internal::FileInput,
30
- is_long_video: T::Boolean,
35
+ url: String,
31
36
  request_options: XTwitterScraper::RequestOptions::OrHash
32
37
  ).returns(XTwitterScraper::Models::X::MediaUploadResponse)
33
38
  end
34
39
  def upload(
35
- # X account (@username or ID) uploading media
40
+ # X account (@username or ID) uploading media from URL
36
41
  account:,
37
- # Media file to upload
38
- file:,
39
- is_long_video: nil,
42
+ # HTTPS URL to download and upload as media
43
+ url:,
40
44
  request_options: {}
41
45
  )
42
46
  end