x-twitter-scraper 0.7.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/README.md +3 -3
- data/lib/x_twitter_scraper/models/credit_topup_balance_response.rb +5 -5
- data/lib/x_twitter_scraper/models/draw_export_params.rb +8 -3
- data/lib/x_twitter_scraper/models/draw_list_params.rb +2 -2
- data/lib/x_twitter_scraper/models/error.rb +8 -0
- data/lib/x_twitter_scraper/models/event_list_params.rb +13 -5
- data/lib/x_twitter_scraper/models/extraction_estimate_cost_params.rb +731 -82
- data/lib/x_twitter_scraper/models/extraction_estimate_cost_response.rb +1 -0
- data/lib/x_twitter_scraper/models/extraction_export_results_params.rb +145 -1
- data/lib/x_twitter_scraper/models/extraction_list_params.rb +2 -2
- data/lib/x_twitter_scraper/models/extraction_retrieve_params.rb +70 -3
- data/lib/x_twitter_scraper/models/extraction_run_params.rb +662 -1
- data/lib/x_twitter_scraper/models/extraction_run_response.rb +27 -48
- data/lib/x_twitter_scraper/models/guest_wallet_create_response.rb +8 -8
- data/lib/x_twitter_scraper/models/guest_wallet_topup_response.rb +9 -9
- data/lib/x_twitter_scraper/models/monitor.rb +29 -1
- data/lib/x_twitter_scraper/models/paginated_tweets.rb +4 -4
- data/lib/x_twitter_scraper/models/paginated_users.rb +5 -5
- data/lib/x_twitter_scraper/models/support/attachment_download_params.rb +28 -0
- data/lib/x_twitter_scraper/models/x/community_retrieve_members_params.rb +113 -1
- data/lib/x_twitter_scraper/models/x/community_retrieve_moderators_params.rb +117 -1
- data/lib/x_twitter_scraper/models/x/list_retrieve_followers_params.rb +117 -6
- data/lib/x_twitter_scraper/models/x/list_retrieve_members_params.rb +116 -1
- data/lib/x_twitter_scraper/models/x/tweet_get_favoriters_params.rb +117 -6
- data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +153 -1
- data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +246 -16
- data/lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb +3 -2
- data/lib/x_twitter_scraper/models/x/tweet_get_retweeters_params.rb +117 -6
- data/lib/x_twitter_scraper/models/x/tweet_search_params.rb +187 -14
- data/lib/x_twitter_scraper/models/x/tweet_search_response.rb +299 -0
- data/lib/x_twitter_scraper/models/x/user_retrieve_followers_params.rb +143 -10
- data/lib/x_twitter_scraper/models/x/user_retrieve_followers_response.rb +241 -0
- data/lib/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rb +117 -6
- data/lib/x_twitter_scraper/models/x/user_retrieve_following_params.rb +143 -10
- data/lib/x_twitter_scraper/models/x/user_retrieve_following_response.rb +241 -0
- data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +153 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +153 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +153 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +159 -7
- data/lib/x_twitter_scraper/models/x/user_retrieve_search_params.rb +116 -1
- data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +159 -7
- data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rb +157 -8
- data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rb +245 -0
- data/lib/x_twitter_scraper/models/x/x_account.rb +7 -11
- data/lib/x_twitter_scraper/resources/credits.rb +2 -2
- data/lib/x_twitter_scraper/resources/draws.rb +5 -2
- data/lib/x_twitter_scraper/resources/events.rb +10 -4
- data/lib/x_twitter_scraper/resources/extractions.rb +383 -84
- data/lib/x_twitter_scraper/resources/guest_wallets.rb +9 -13
- data/lib/x_twitter_scraper/resources/support/attachments.rb +42 -0
- data/lib/x_twitter_scraper/resources/support.rb +5 -0
- data/lib/x_twitter_scraper/resources/x/communities.rb +95 -4
- data/lib/x_twitter_scraper/resources/x/lists.rb +96 -5
- data/lib/x_twitter_scraper/resources/x/tweets.rb +286 -28
- data/lib/x_twitter_scraper/resources/x/users.rb +531 -41
- data/lib/x_twitter_scraper/version.rb +1 -1
- data/lib/x_twitter_scraper.rb +7 -1
- data/rbi/x_twitter_scraper/models/credit_topup_balance_response.rbi +6 -6
- data/rbi/x_twitter_scraper/models/draw_export_params.rbi +6 -3
- data/rbi/x_twitter_scraper/models/draw_list_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/error.rbi +40 -0
- data/rbi/x_twitter_scraper/models/event_list_params.rbi +15 -4
- data/rbi/x_twitter_scraper/models/extraction_estimate_cost_params.rbi +1338 -86
- data/rbi/x_twitter_scraper/models/extraction_estimate_cost_response.rbi +5 -0
- data/rbi/x_twitter_scraper/models/extraction_export_results_params.rbi +198 -0
- data/rbi/x_twitter_scraper/models/extraction_list_params.rbi +2 -2
- data/rbi/x_twitter_scraper/models/extraction_retrieve_params.rbi +194 -2
- data/rbi/x_twitter_scraper/models/extraction_run_params.rbi +1221 -0
- data/rbi/x_twitter_scraper/models/extraction_run_response.rbi +35 -162
- data/rbi/x_twitter_scraper/models/guest_wallet_create_response.rbi +8 -6
- data/rbi/x_twitter_scraper/models/guest_wallet_topup_response.rbi +9 -7
- data/rbi/x_twitter_scraper/models/monitor.rbi +54 -3
- data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +4 -4
- data/rbi/x_twitter_scraper/models/paginated_users.rbi +5 -5
- data/rbi/x_twitter_scraper/models/support/attachment_download_params.rbi +51 -0
- data/rbi/x_twitter_scraper/models/x/community_retrieve_members_params.rbi +154 -0
- data/rbi/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbi +154 -0
- data/rbi/x_twitter_scraper/models/x/list_retrieve_followers_params.rbi +160 -8
- data/rbi/x_twitter_scraper/models/x/list_retrieve_members_params.rbi +154 -0
- data/rbi/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbi +160 -8
- data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +209 -0
- data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +403 -20
- data/rbi/x_twitter_scraper/models/x/tweet_get_replies_response.rbi +3 -2
- data/rbi/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbi +160 -8
- data/rbi/x_twitter_scraper/models/x/tweet_search_params.rbi +279 -16
- data/rbi/x_twitter_scraper/models/x/tweet_search_response.rbi +543 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_params.rbi +228 -12
- data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_response.rbi +440 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbi +160 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_following_params.rbi +228 -12
- data/rbi/x_twitter_scraper/models/x/user_retrieve_following_response.rbi +440 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +209 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +209 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +209 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +217 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_search_params.rbi +154 -0
- data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +217 -8
- data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbi +248 -10
- data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rbi +440 -0
- data/rbi/x_twitter_scraper/models/x/x_account.rbi +9 -15
- data/rbi/x_twitter_scraper/resources/credits.rbi +2 -2
- data/rbi/x_twitter_scraper/resources/draws.rbi +3 -2
- data/rbi/x_twitter_scraper/resources/events.rbi +5 -2
- data/rbi/x_twitter_scraper/resources/extractions.rbi +525 -83
- data/rbi/x_twitter_scraper/resources/guest_wallets.rbi +9 -13
- data/rbi/x_twitter_scraper/resources/support/attachments.rbi +35 -0
- data/rbi/x_twitter_scraper/resources/support.rbi +4 -0
- data/rbi/x_twitter_scraper/resources/x/communities.rbi +84 -0
- data/rbi/x_twitter_scraper/resources/x/lists.rbi +87 -4
- data/rbi/x_twitter_scraper/resources/x/tweets.rbi +307 -31
- data/rbi/x_twitter_scraper/resources/x/users.rbi +558 -34
- data/sig/x_twitter_scraper/models/error.rbs +16 -0
- data/sig/x_twitter_scraper/models/event_list_params.rbs +7 -0
- data/sig/x_twitter_scraper/models/extraction_estimate_cost_params.rbs +605 -1
- data/sig/x_twitter_scraper/models/extraction_estimate_cost_response.rbs +2 -0
- data/sig/x_twitter_scraper/models/extraction_export_results_params.rbs +127 -1
- data/sig/x_twitter_scraper/models/extraction_retrieve_params.rbs +74 -1
- data/sig/x_twitter_scraper/models/extraction_run_params.rbs +611 -1
- data/sig/x_twitter_scraper/models/extraction_run_response.rbs +29 -67
- data/sig/x_twitter_scraper/models/guest_wallet_create_response.rbs +4 -4
- data/sig/x_twitter_scraper/models/guest_wallet_topup_response.rbs +4 -4
- data/sig/x_twitter_scraper/models/monitor.rbs +29 -3
- data/sig/x_twitter_scraper/models/support/attachment_download_params.rbs +32 -0
- data/sig/x_twitter_scraper/models/x/community_retrieve_members_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbs +102 -1
- data/sig/x_twitter_scraper/models/x/list_retrieve_followers_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/list_retrieve_members_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_quotes_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +207 -2
- data/sig/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/tweet_search_params.rbs +154 -1
- data/sig/x_twitter_scraper/models/x/tweet_search_response.rbs +258 -0
- data/sig/x_twitter_scraper/models/x/user_retrieve_followers_params.rbs +119 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_followers_response.rbs +216 -0
- data/sig/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbs +103 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_following_params.rbs +119 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_following_response.rbs +216 -0
- data/sig/x_twitter_scraper/models/x/user_retrieve_likes_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_media_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_replies_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_search_params.rbs +102 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbs +134 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbs +137 -1
- data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rbs +216 -0
- data/sig/x_twitter_scraper/resources/events.rbs +1 -0
- data/sig/x_twitter_scraper/resources/extractions.rbs +137 -0
- data/sig/x_twitter_scraper/resources/support/attachments.rbs +15 -0
- data/sig/x_twitter_scraper/resources/support.rbs +2 -0
- data/sig/x_twitter_scraper/resources/x/communities.rbs +28 -0
- data/sig/x_twitter_scraper/resources/x/lists.rbs +28 -0
- data/sig/x_twitter_scraper/resources/x/tweets.rbs +93 -1
- data/sig/x_twitter_scraper/resources/x/users.rbs +173 -3
- metadata +19 -1
|
@@ -110,21 +110,62 @@ module XTwitterScraper
|
|
|
110
110
|
sig do
|
|
111
111
|
params(
|
|
112
112
|
id: String,
|
|
113
|
+
bio_contains: String,
|
|
113
114
|
cursor: String,
|
|
115
|
+
has_location: T::Boolean,
|
|
116
|
+
has_website: T::Boolean,
|
|
117
|
+
location_contains: String,
|
|
118
|
+
max_followers: Integer,
|
|
119
|
+
max_following: Integer,
|
|
120
|
+
max_statuses: Integer,
|
|
121
|
+
min_account_age_days: Integer,
|
|
122
|
+
min_followers: Integer,
|
|
123
|
+
min_following: Integer,
|
|
124
|
+
min_statuses: Integer,
|
|
114
125
|
page_size: Integer,
|
|
126
|
+
username_contains: String,
|
|
127
|
+
verified_only: T::Boolean,
|
|
128
|
+
verified_type: String,
|
|
115
129
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
116
130
|
).returns(XTwitterScraper::PaginatedUsers)
|
|
117
131
|
end
|
|
118
132
|
def get_favoriters(
|
|
119
133
|
# Tweet ID to get favoriters
|
|
120
134
|
id,
|
|
135
|
+
# Match any comma-separated or line-separated bio term, ignoring case.
|
|
136
|
+
bio_contains: nil,
|
|
121
137
|
# Pagination cursor for favoriters
|
|
122
138
|
cursor: nil,
|
|
123
|
-
#
|
|
124
|
-
|
|
125
|
-
#
|
|
126
|
-
|
|
139
|
+
# Only return profiles with a location.
|
|
140
|
+
has_location: nil,
|
|
141
|
+
# Only return profiles with a website.
|
|
142
|
+
has_website: nil,
|
|
143
|
+
# Match a location substring, ignoring case.
|
|
144
|
+
location_contains: nil,
|
|
145
|
+
# Maximum follower count. Missing counts pass this maximum.
|
|
146
|
+
max_followers: nil,
|
|
147
|
+
# Maximum following count.
|
|
148
|
+
max_following: nil,
|
|
149
|
+
# Maximum post count. maxPosts is also accepted.
|
|
150
|
+
max_statuses: nil,
|
|
151
|
+
# Minimum account age in whole days.
|
|
152
|
+
min_account_age_days: nil,
|
|
153
|
+
# Minimum follower count. Filtering happens before billing.
|
|
154
|
+
min_followers: nil,
|
|
155
|
+
# Minimum following count.
|
|
156
|
+
min_following: nil,
|
|
157
|
+
# Minimum post count. minPosts is also accepted.
|
|
158
|
+
min_statuses: nil,
|
|
159
|
+
# Maximum user profiles requested from this page (20-200, default 200). Source,
|
|
160
|
+
# filters, or credits can return fewer profiles. Keep requesting next_cursor while
|
|
161
|
+
# has_next_page is true. Deprecated aliases remain accepted.
|
|
127
162
|
page_size: nil,
|
|
163
|
+
# Match a username substring, ignoring case.
|
|
164
|
+
username_contains: nil,
|
|
165
|
+
# Only return verified profiles.
|
|
166
|
+
verified_only: nil,
|
|
167
|
+
# Match the verification type exactly, ignoring case.
|
|
168
|
+
verified_type: nil,
|
|
128
169
|
request_options: {}
|
|
129
170
|
)
|
|
130
171
|
end
|
|
@@ -134,23 +175,37 @@ module XTwitterScraper
|
|
|
134
175
|
params(
|
|
135
176
|
id: String,
|
|
136
177
|
any_words: String,
|
|
178
|
+
blue_verified_only: T::Boolean,
|
|
179
|
+
card_name: String,
|
|
137
180
|
cashtags: String,
|
|
138
181
|
conversation_id: String,
|
|
139
182
|
cursor: String,
|
|
140
183
|
exact_phrase: String,
|
|
184
|
+
exclude_source: String,
|
|
141
185
|
exclude_words: String,
|
|
142
186
|
from_user: String,
|
|
187
|
+
geocode: String,
|
|
143
188
|
hashtags: String,
|
|
144
189
|
include_replies: T::Boolean,
|
|
145
190
|
in_reply_to_tweet_id: String,
|
|
146
191
|
language: String,
|
|
192
|
+
max_faves: Integer,
|
|
193
|
+
max_id: String,
|
|
194
|
+
max_quotes: Integer,
|
|
195
|
+
max_replies: Integer,
|
|
196
|
+
max_retweets: Integer,
|
|
147
197
|
media_type:
|
|
148
198
|
XTwitterScraper::X::TweetGetQuotesParams::MediaType::OrSymbol,
|
|
149
199
|
mentioning: String,
|
|
200
|
+
min_bookmarks: Integer,
|
|
150
201
|
min_faves: Integer,
|
|
151
202
|
min_quotes: Integer,
|
|
152
203
|
min_replies: Integer,
|
|
153
204
|
min_retweets: Integer,
|
|
205
|
+
min_views: Integer,
|
|
206
|
+
native_retweets: T::Boolean,
|
|
207
|
+
near: String,
|
|
208
|
+
news: T::Boolean,
|
|
154
209
|
page_size: Integer,
|
|
155
210
|
quotes: XTwitterScraper::X::TweetGetQuotesParams::Quotes::OrSymbol,
|
|
156
211
|
quotes_of_tweet_id: String,
|
|
@@ -159,13 +214,18 @@ module XTwitterScraper
|
|
|
159
214
|
retweets:
|
|
160
215
|
XTwitterScraper::X::TweetGetQuotesParams::Retweets::OrSymbol,
|
|
161
216
|
retweets_of_tweet_id: String,
|
|
217
|
+
safe: T::Boolean,
|
|
162
218
|
since_date: Date,
|
|
219
|
+
since_id: String,
|
|
163
220
|
since_time: String,
|
|
221
|
+
source: String,
|
|
164
222
|
to_user: String,
|
|
165
223
|
until_date: Date,
|
|
166
224
|
until_time: String,
|
|
167
225
|
url: String,
|
|
168
226
|
verified_only: T::Boolean,
|
|
227
|
+
within: String,
|
|
228
|
+
within_time: String,
|
|
169
229
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
170
230
|
).returns(XTwitterScraper::PaginatedTweets)
|
|
171
231
|
end
|
|
@@ -175,6 +235,10 @@ module XTwitterScraper
|
|
|
175
235
|
# Words or quoted phrases where any one can match. Separate with spaces, commas,
|
|
176
236
|
# or lines.
|
|
177
237
|
any_words: nil,
|
|
238
|
+
# Only return tweets from Blue-verified authors.
|
|
239
|
+
blue_verified_only: nil,
|
|
240
|
+
# Match the Tweet card name.
|
|
241
|
+
card_name: nil,
|
|
178
242
|
# Cashtags separated by spaces, commas, or lines.
|
|
179
243
|
cashtags: nil,
|
|
180
244
|
# Conversation ID filter.
|
|
@@ -183,10 +247,14 @@ module XTwitterScraper
|
|
|
183
247
|
cursor: nil,
|
|
184
248
|
# Exact phrase to match.
|
|
185
249
|
exact_phrase: nil,
|
|
250
|
+
# Exclude a source application.
|
|
251
|
+
exclude_source: nil,
|
|
186
252
|
# Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
|
|
187
253
|
exclude_words: nil,
|
|
188
254
|
# Filter by author username.
|
|
189
255
|
from_user: nil,
|
|
256
|
+
# Match latitude, longitude, and radius.
|
|
257
|
+
geocode: nil,
|
|
190
258
|
# Hashtags separated by spaces, commas, or lines.
|
|
191
259
|
hashtags: nil,
|
|
192
260
|
# Include reply quotes (default false)
|
|
@@ -195,10 +263,22 @@ module XTwitterScraper
|
|
|
195
263
|
in_reply_to_tweet_id: nil,
|
|
196
264
|
# Language code filter, e.g. en or tr.
|
|
197
265
|
language: nil,
|
|
266
|
+
# Maximum likes threshold. maxLikes is also accepted.
|
|
267
|
+
max_faves: nil,
|
|
268
|
+
# Return Tweets older than this Tweet ID.
|
|
269
|
+
max_id: nil,
|
|
270
|
+
# Maximum quotes threshold.
|
|
271
|
+
max_quotes: nil,
|
|
272
|
+
# Maximum replies threshold.
|
|
273
|
+
max_replies: nil,
|
|
274
|
+
# Maximum retweets threshold.
|
|
275
|
+
max_retweets: nil,
|
|
198
276
|
# Filter by media type.
|
|
199
277
|
media_type: nil,
|
|
200
278
|
# Filter tweets mentioning a username.
|
|
201
279
|
mentioning: nil,
|
|
280
|
+
# Minimum bookmark count threshold.
|
|
281
|
+
min_bookmarks: nil,
|
|
202
282
|
# Minimum likes threshold.
|
|
203
283
|
min_faves: nil,
|
|
204
284
|
# Minimum quote count threshold.
|
|
@@ -207,6 +287,14 @@ module XTwitterScraper
|
|
|
207
287
|
min_replies: nil,
|
|
208
288
|
# Minimum retweets threshold.
|
|
209
289
|
min_retweets: nil,
|
|
290
|
+
# Minimum view count threshold.
|
|
291
|
+
min_views: nil,
|
|
292
|
+
# Only return native reposts.
|
|
293
|
+
native_retweets: nil,
|
|
294
|
+
# Match a place name.
|
|
295
|
+
near: nil,
|
|
296
|
+
# Only return news results.
|
|
297
|
+
news: nil,
|
|
210
298
|
# Maximum page items (1-100, default 20). Source, filters, or credits can reduce
|
|
211
299
|
# results. Continue while has_next_page is true. Deprecated limit and count
|
|
212
300
|
# aliases remain accepted.
|
|
@@ -221,10 +309,16 @@ module XTwitterScraper
|
|
|
221
309
|
retweets: nil,
|
|
222
310
|
# Only retweets of this tweet ID.
|
|
223
311
|
retweets_of_tweet_id: nil,
|
|
312
|
+
# Enable the safe-search filter.
|
|
313
|
+
safe: nil,
|
|
224
314
|
# Start date in YYYY-MM-DD format.
|
|
225
315
|
since_date: nil,
|
|
316
|
+
# Return Tweets newer than this Tweet ID.
|
|
317
|
+
since_id: nil,
|
|
226
318
|
# Unix timestamp - return quotes posted after this time
|
|
227
319
|
since_time: nil,
|
|
320
|
+
# Match the source application.
|
|
321
|
+
source: nil,
|
|
228
322
|
# Filter replies sent to a username.
|
|
229
323
|
to_user: nil,
|
|
230
324
|
# End date in YYYY-MM-DD format.
|
|
@@ -235,36 +329,57 @@ module XTwitterScraper
|
|
|
235
329
|
url: nil,
|
|
236
330
|
# Only return tweets from verified authors.
|
|
237
331
|
verified_only: nil,
|
|
332
|
+
# Set the radius for the near filter.
|
|
333
|
+
within: nil,
|
|
334
|
+
# Match Tweets inside a recent time window.
|
|
335
|
+
within_time: nil,
|
|
238
336
|
request_options: {}
|
|
239
337
|
)
|
|
240
338
|
end
|
|
241
339
|
|
|
242
|
-
# Returns direct replies.
|
|
243
|
-
#
|
|
244
|
-
#
|
|
245
|
-
# separates nested replies and returns 424 below 80% coverage.
|
|
340
|
+
# Returns direct replies. Omit mode for automatic maximum coverage with resumable
|
|
341
|
+
# pagination. Complete mode returns nested replies, diagnostics, and 424 when
|
|
342
|
+
# direct coverage stays below 80%.
|
|
246
343
|
sig do
|
|
247
344
|
params(
|
|
248
345
|
id: String,
|
|
249
346
|
any_words: String,
|
|
347
|
+
blue_verified_only: T::Boolean,
|
|
348
|
+
card_name: String,
|
|
250
349
|
cashtags: String,
|
|
251
350
|
conversation_id: String,
|
|
252
351
|
cursor: String,
|
|
253
352
|
exact_phrase: String,
|
|
353
|
+
exclude_original_author: T::Boolean,
|
|
354
|
+
exclude_source: String,
|
|
254
355
|
exclude_words: String,
|
|
255
356
|
from_user: String,
|
|
357
|
+
geocode: String,
|
|
256
358
|
hashtags: String,
|
|
359
|
+
has_media_only: T::Boolean,
|
|
360
|
+
include_original_post: T::Boolean,
|
|
257
361
|
in_reply_to_tweet_id: String,
|
|
258
362
|
language: String,
|
|
259
363
|
limit: Integer,
|
|
364
|
+
max_depth: Integer,
|
|
365
|
+
max_faves: Integer,
|
|
366
|
+
max_id: String,
|
|
367
|
+
max_quotes: Integer,
|
|
368
|
+
max_replies: Integer,
|
|
369
|
+
max_retweets: Integer,
|
|
260
370
|
media_type:
|
|
261
371
|
XTwitterScraper::X::TweetGetRepliesParams::MediaType::OrSymbol,
|
|
262
372
|
mentioning: String,
|
|
373
|
+
min_bookmarks: Integer,
|
|
263
374
|
min_faves: Integer,
|
|
264
375
|
min_quotes: Integer,
|
|
265
376
|
min_replies: Integer,
|
|
266
377
|
min_retweets: Integer,
|
|
378
|
+
min_views: Integer,
|
|
267
379
|
mode: XTwitterScraper::X::TweetGetRepliesParams::Mode::OrSymbol,
|
|
380
|
+
native_retweets: T::Boolean,
|
|
381
|
+
near: String,
|
|
382
|
+
news: T::Boolean,
|
|
268
383
|
page_size: Integer,
|
|
269
384
|
quotes: XTwitterScraper::X::TweetGetRepliesParams::Quotes::OrSymbol,
|
|
270
385
|
quotes_of_tweet_id: String,
|
|
@@ -273,13 +388,20 @@ module XTwitterScraper
|
|
|
273
388
|
retweets:
|
|
274
389
|
XTwitterScraper::X::TweetGetRepliesParams::Retweets::OrSymbol,
|
|
275
390
|
retweets_of_tweet_id: String,
|
|
391
|
+
safe: T::Boolean,
|
|
392
|
+
scope: XTwitterScraper::X::TweetGetRepliesParams::Scope::OrSymbol,
|
|
276
393
|
since_date: Date,
|
|
394
|
+
since_id: String,
|
|
277
395
|
since_time: String,
|
|
396
|
+
sort: XTwitterScraper::X::TweetGetRepliesParams::Sort::OrSymbol,
|
|
397
|
+
source: String,
|
|
278
398
|
to_user: String,
|
|
279
399
|
until_date: Date,
|
|
280
400
|
until_time: String,
|
|
281
401
|
url: String,
|
|
282
402
|
verified_only: T::Boolean,
|
|
403
|
+
within: String,
|
|
404
|
+
within_time: String,
|
|
283
405
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
284
406
|
).returns(XTwitterScraper::Models::X::TweetGetRepliesResponse)
|
|
285
407
|
end
|
|
@@ -289,32 +411,61 @@ module XTwitterScraper
|
|
|
289
411
|
# Words or quoted phrases where any one can match. Separate with spaces, commas,
|
|
290
412
|
# or lines.
|
|
291
413
|
any_words: nil,
|
|
414
|
+
# Only return tweets from Blue-verified authors.
|
|
415
|
+
blue_verified_only: nil,
|
|
416
|
+
# Match the Tweet card name.
|
|
417
|
+
card_name: nil,
|
|
292
418
|
# Cashtags separated by spaces, commas, or lines.
|
|
293
419
|
cashtags: nil,
|
|
294
420
|
# Conversation ID filter.
|
|
295
421
|
conversation_id: nil,
|
|
296
|
-
#
|
|
422
|
+
# Cursor from the previous response. Xquik cursors resume automatic coverage.
|
|
423
|
+
# Existing unprefixed cursors keep legacy standard behavior.
|
|
297
424
|
cursor: nil,
|
|
298
425
|
# Exact phrase to match.
|
|
299
426
|
exact_phrase: nil,
|
|
427
|
+
# Exclude replies written by the source-post author.
|
|
428
|
+
exclude_original_author: nil,
|
|
429
|
+
# Exclude a source application.
|
|
430
|
+
exclude_source: nil,
|
|
300
431
|
# Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
|
|
301
432
|
exclude_words: nil,
|
|
302
433
|
# Filter by author username.
|
|
303
434
|
from_user: nil,
|
|
435
|
+
# Match latitude, longitude, and radius.
|
|
436
|
+
geocode: nil,
|
|
304
437
|
# Hashtags separated by spaces, commas, or lines.
|
|
305
438
|
hashtags: nil,
|
|
439
|
+
# Only return replies containing media.
|
|
440
|
+
has_media_only: nil,
|
|
441
|
+
# Include the source post and count it toward limit.
|
|
442
|
+
include_original_post: nil,
|
|
306
443
|
# Only replies to this tweet ID.
|
|
307
444
|
in_reply_to_tweet_id: nil,
|
|
308
445
|
# Language code filter, e.g. en or tr.
|
|
309
446
|
language: nil,
|
|
310
|
-
# With mode=complete, maximum combined direct and nested reply rows (1-25000
|
|
311
|
-
#
|
|
312
|
-
#
|
|
447
|
+
# With mode=complete, maximum combined direct and nested reply rows (1-25000,
|
|
448
|
+
# default 25000). Automatic pages accept 1-300. Standard pages accept 1-100.
|
|
449
|
+
# Prefer pageSize outside complete mode.
|
|
313
450
|
limit: nil,
|
|
451
|
+
# Maximum reply depth from the source post.
|
|
452
|
+
max_depth: nil,
|
|
453
|
+
# Maximum likes threshold. maxLikes is also accepted.
|
|
454
|
+
max_faves: nil,
|
|
455
|
+
# Return Tweets older than this Tweet ID.
|
|
456
|
+
max_id: nil,
|
|
457
|
+
# Maximum quotes threshold.
|
|
458
|
+
max_quotes: nil,
|
|
459
|
+
# Maximum replies threshold.
|
|
460
|
+
max_replies: nil,
|
|
461
|
+
# Maximum retweets threshold.
|
|
462
|
+
max_retweets: nil,
|
|
314
463
|
# Filter by media type.
|
|
315
464
|
media_type: nil,
|
|
316
465
|
# Filter tweets mentioning a username.
|
|
317
466
|
mentioning: nil,
|
|
467
|
+
# Minimum bookmark count threshold.
|
|
468
|
+
min_bookmarks: nil,
|
|
318
469
|
# Minimum likes threshold.
|
|
319
470
|
min_faves: nil,
|
|
320
471
|
# Minimum quote count threshold.
|
|
@@ -323,12 +474,21 @@ module XTwitterScraper
|
|
|
323
474
|
min_replies: nil,
|
|
324
475
|
# Minimum retweets threshold.
|
|
325
476
|
min_retweets: nil,
|
|
326
|
-
#
|
|
327
|
-
|
|
477
|
+
# Minimum view count threshold.
|
|
478
|
+
min_views: nil,
|
|
479
|
+
# Optional advanced override. Omit mode for automatic maximum direct reply
|
|
480
|
+
# coverage with pagination. Standard keeps legacy pagination. Complete returns
|
|
481
|
+
# direct and nested replies with diagnostics, scope, depth, sorting, and
|
|
482
|
+
# original-post controls.
|
|
328
483
|
mode: nil,
|
|
329
|
-
#
|
|
330
|
-
|
|
331
|
-
#
|
|
484
|
+
# Only return native reposts.
|
|
485
|
+
native_retweets: nil,
|
|
486
|
+
# Match a place name.
|
|
487
|
+
near: nil,
|
|
488
|
+
# Only return news results.
|
|
489
|
+
news: nil,
|
|
490
|
+
# Automatic pages accept 1-300 Tweets. Standard pages keep 1-100. Default 20.
|
|
491
|
+
# Continue while has_next_page is true. Deprecated aliases remain accepted.
|
|
332
492
|
page_size: nil,
|
|
333
493
|
# Quote mode.
|
|
334
494
|
quotes: nil,
|
|
@@ -340,10 +500,20 @@ module XTwitterScraper
|
|
|
340
500
|
retweets: nil,
|
|
341
501
|
# Only retweets of this tweet ID.
|
|
342
502
|
retweets_of_tweet_id: nil,
|
|
503
|
+
# Enable the safe-search filter.
|
|
504
|
+
safe: nil,
|
|
505
|
+
# Select all replies, direct replies, or nested replies.
|
|
506
|
+
scope: nil,
|
|
343
507
|
# Start date in YYYY-MM-DD format.
|
|
344
508
|
since_date: nil,
|
|
509
|
+
# Return Tweets newer than this Tweet ID.
|
|
510
|
+
since_id: nil,
|
|
345
511
|
# Unix timestamp - return replies posted after this time
|
|
346
512
|
since_time: nil,
|
|
513
|
+
# Sort the selected replies before applying limit.
|
|
514
|
+
sort: nil,
|
|
515
|
+
# Match the source application.
|
|
516
|
+
source: nil,
|
|
347
517
|
# Filter replies sent to a username.
|
|
348
518
|
to_user: nil,
|
|
349
519
|
# End date in YYYY-MM-DD format.
|
|
@@ -354,6 +524,10 @@ module XTwitterScraper
|
|
|
354
524
|
url: nil,
|
|
355
525
|
# Only return tweets from verified authors.
|
|
356
526
|
verified_only: nil,
|
|
527
|
+
# Set the radius for the near filter.
|
|
528
|
+
within: nil,
|
|
529
|
+
# Match Tweets inside a recent time window.
|
|
530
|
+
within_time: nil,
|
|
357
531
|
request_options: {}
|
|
358
532
|
)
|
|
359
533
|
end
|
|
@@ -362,21 +536,62 @@ module XTwitterScraper
|
|
|
362
536
|
sig do
|
|
363
537
|
params(
|
|
364
538
|
id: String,
|
|
539
|
+
bio_contains: String,
|
|
365
540
|
cursor: String,
|
|
541
|
+
has_location: T::Boolean,
|
|
542
|
+
has_website: T::Boolean,
|
|
543
|
+
location_contains: String,
|
|
544
|
+
max_followers: Integer,
|
|
545
|
+
max_following: Integer,
|
|
546
|
+
max_statuses: Integer,
|
|
547
|
+
min_account_age_days: Integer,
|
|
548
|
+
min_followers: Integer,
|
|
549
|
+
min_following: Integer,
|
|
550
|
+
min_statuses: Integer,
|
|
366
551
|
page_size: Integer,
|
|
552
|
+
username_contains: String,
|
|
553
|
+
verified_only: T::Boolean,
|
|
554
|
+
verified_type: String,
|
|
367
555
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
368
556
|
).returns(XTwitterScraper::PaginatedUsers)
|
|
369
557
|
end
|
|
370
558
|
def get_retweeters(
|
|
371
559
|
# Tweet ID to get retweeters
|
|
372
560
|
id,
|
|
561
|
+
# Match any comma-separated or line-separated bio term, ignoring case.
|
|
562
|
+
bio_contains: nil,
|
|
373
563
|
# Pagination cursor for retweeters
|
|
374
564
|
cursor: nil,
|
|
375
|
-
#
|
|
376
|
-
|
|
377
|
-
#
|
|
378
|
-
|
|
565
|
+
# Only return profiles with a location.
|
|
566
|
+
has_location: nil,
|
|
567
|
+
# Only return profiles with a website.
|
|
568
|
+
has_website: nil,
|
|
569
|
+
# Match a location substring, ignoring case.
|
|
570
|
+
location_contains: nil,
|
|
571
|
+
# Maximum follower count. Missing counts pass this maximum.
|
|
572
|
+
max_followers: nil,
|
|
573
|
+
# Maximum following count.
|
|
574
|
+
max_following: nil,
|
|
575
|
+
# Maximum post count. maxPosts is also accepted.
|
|
576
|
+
max_statuses: nil,
|
|
577
|
+
# Minimum account age in whole days.
|
|
578
|
+
min_account_age_days: nil,
|
|
579
|
+
# Minimum follower count. Filtering happens before billing.
|
|
580
|
+
min_followers: nil,
|
|
581
|
+
# Minimum following count.
|
|
582
|
+
min_following: nil,
|
|
583
|
+
# Minimum post count. minPosts is also accepted.
|
|
584
|
+
min_statuses: nil,
|
|
585
|
+
# Maximum user profiles requested from this page (20-200, default 200). Source,
|
|
586
|
+
# filters, or credits can return fewer profiles. Keep requesting next_cursor while
|
|
587
|
+
# has_next_page is true. Deprecated aliases remain accepted.
|
|
379
588
|
page_size: nil,
|
|
589
|
+
# Match a username substring, ignoring case.
|
|
590
|
+
username_contains: nil,
|
|
591
|
+
# Only return verified profiles.
|
|
592
|
+
verified_only: nil,
|
|
593
|
+
# Match the verification type exactly, ignoring case.
|
|
594
|
+
verified_type: nil,
|
|
380
595
|
request_options: {}
|
|
381
596
|
)
|
|
382
597
|
end
|
|
@@ -403,31 +618,46 @@ module XTwitterScraper
|
|
|
403
618
|
)
|
|
404
619
|
end
|
|
405
620
|
|
|
406
|
-
#
|
|
621
|
+
# No-mode search maximizes coverage.
|
|
407
622
|
sig do
|
|
408
623
|
params(
|
|
409
624
|
q: String,
|
|
410
625
|
advanced_query: String,
|
|
411
626
|
any_words: String,
|
|
627
|
+
blue_verified_only: T::Boolean,
|
|
412
628
|
bounding_box: String,
|
|
629
|
+
card_name: String,
|
|
413
630
|
cashtags: String,
|
|
414
631
|
conversation_id: String,
|
|
415
632
|
cursor: String,
|
|
416
633
|
exact_phrase: String,
|
|
634
|
+
exclude_source: String,
|
|
417
635
|
exclude_words: String,
|
|
418
636
|
from_user: String,
|
|
637
|
+
geocode: String,
|
|
419
638
|
hashtags: String,
|
|
420
639
|
in_reply_to_tweet_id: String,
|
|
421
640
|
language: String,
|
|
422
641
|
limit: Integer,
|
|
423
642
|
list_id: String,
|
|
643
|
+
max_faves: Integer,
|
|
644
|
+
max_id: String,
|
|
645
|
+
max_quotes: Integer,
|
|
646
|
+
max_replies: Integer,
|
|
647
|
+
max_retweets: Integer,
|
|
424
648
|
media_type:
|
|
425
649
|
XTwitterScraper::X::TweetSearchParams::MediaType::OrSymbol,
|
|
426
650
|
mentioning: String,
|
|
651
|
+
min_bookmarks: Integer,
|
|
427
652
|
min_faves: Integer,
|
|
428
653
|
min_quotes: Integer,
|
|
429
654
|
min_replies: Integer,
|
|
430
655
|
min_retweets: Integer,
|
|
656
|
+
min_views: Integer,
|
|
657
|
+
mode: XTwitterScraper::X::TweetSearchParams::Mode::OrSymbol,
|
|
658
|
+
native_retweets: T::Boolean,
|
|
659
|
+
near: String,
|
|
660
|
+
news: T::Boolean,
|
|
431
661
|
place: String,
|
|
432
662
|
place_country: String,
|
|
433
663
|
point_radius: String,
|
|
@@ -438,55 +668,80 @@ module XTwitterScraper
|
|
|
438
668
|
replies: XTwitterScraper::X::TweetSearchParams::Replies::OrSymbol,
|
|
439
669
|
retweets: XTwitterScraper::X::TweetSearchParams::Retweets::OrSymbol,
|
|
440
670
|
retweets_of_tweet_id: String,
|
|
671
|
+
safe: T::Boolean,
|
|
441
672
|
since_date: Date,
|
|
673
|
+
since_id: String,
|
|
442
674
|
since_time: String,
|
|
675
|
+
source: String,
|
|
443
676
|
to_user: String,
|
|
444
677
|
until_date: Date,
|
|
445
678
|
until_time: String,
|
|
446
679
|
url: String,
|
|
447
680
|
verified_only: T::Boolean,
|
|
681
|
+
within: String,
|
|
682
|
+
within_time: String,
|
|
448
683
|
request_options: XTwitterScraper::RequestOptions::OrHash
|
|
449
|
-
).returns(XTwitterScraper::
|
|
684
|
+
).returns(XTwitterScraper::Models::X::TweetSearchResponse::Variants)
|
|
450
685
|
end
|
|
451
686
|
def search(
|
|
452
|
-
#
|
|
687
|
+
# Query, Tweet ID, or status URL. Valid inline bounds apply per page.
|
|
453
688
|
q:,
|
|
454
689
|
# Raw advanced search query appended as-is.
|
|
455
690
|
advanced_query: nil,
|
|
456
691
|
# Words or quoted phrases where any one can match. Separate with spaces, commas,
|
|
457
692
|
# or lines.
|
|
458
693
|
any_words: nil,
|
|
694
|
+
# Only return tweets from Blue-verified authors.
|
|
695
|
+
blue_verified_only: nil,
|
|
459
696
|
# Geo bounding box, e.g. -74.1 40.6 -73.9 40.8.
|
|
460
697
|
bounding_box: nil,
|
|
698
|
+
# Match the Tweet card name.
|
|
699
|
+
card_name: nil,
|
|
461
700
|
# Cashtags separated by spaces, commas, or lines.
|
|
462
701
|
cashtags: nil,
|
|
463
702
|
# Conversation ID filter.
|
|
464
703
|
conversation_id: nil,
|
|
465
|
-
#
|
|
704
|
+
# Cursor from the previous response. Xquik cursors resume automatic coverage.
|
|
705
|
+
# Existing unprefixed cursors keep legacy standard behavior.
|
|
466
706
|
cursor: nil,
|
|
467
707
|
# Exact phrase to match.
|
|
468
708
|
exact_phrase: nil,
|
|
709
|
+
# Exclude a source application.
|
|
710
|
+
exclude_source: nil,
|
|
469
711
|
# Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
|
|
470
712
|
exclude_words: nil,
|
|
471
713
|
# Filter by author username.
|
|
472
714
|
from_user: nil,
|
|
715
|
+
# Match latitude, longitude, and radius.
|
|
716
|
+
geocode: nil,
|
|
473
717
|
# Hashtags separated by spaces, commas, or lines.
|
|
474
718
|
hashtags: nil,
|
|
475
719
|
# Only replies to this tweet ID.
|
|
476
720
|
in_reply_to_tweet_id: nil,
|
|
477
721
|
# Language code filter, e.g. en or tr.
|
|
478
722
|
language: nil,
|
|
479
|
-
#
|
|
480
|
-
#
|
|
481
|
-
# reduce
|
|
482
|
-
# insufficient_credits.
|
|
723
|
+
# Result upper bound. Omit it for the existing 20-row page size. Explicit coverage
|
|
724
|
+
# defaults to 2000 and allows 10000. For paid requests, remaining credits can
|
|
725
|
+
# reduce results. Zero affordable results returns 402.
|
|
483
726
|
limit: nil,
|
|
484
727
|
# Search within a list ID.
|
|
485
728
|
list_id: nil,
|
|
729
|
+
# Maximum likes threshold. maxLikes is also accepted.
|
|
730
|
+
max_faves: nil,
|
|
731
|
+
# Return Tweets older than this Tweet ID.
|
|
732
|
+
max_id: nil,
|
|
733
|
+
# Maximum quotes threshold.
|
|
734
|
+
max_quotes: nil,
|
|
735
|
+
# Maximum replies threshold.
|
|
736
|
+
max_replies: nil,
|
|
737
|
+
# Maximum retweets threshold.
|
|
738
|
+
max_retweets: nil,
|
|
486
739
|
# Filter by media type.
|
|
487
740
|
media_type: nil,
|
|
488
741
|
# Filter tweets mentioning a username.
|
|
489
742
|
mentioning: nil,
|
|
743
|
+
# Minimum bookmark count threshold.
|
|
744
|
+
min_bookmarks: nil,
|
|
490
745
|
# Minimum likes threshold.
|
|
491
746
|
min_faves: nil,
|
|
492
747
|
# Minimum quote count threshold.
|
|
@@ -495,6 +750,17 @@ module XTwitterScraper
|
|
|
495
750
|
min_replies: nil,
|
|
496
751
|
# Minimum retweets threshold.
|
|
497
752
|
min_retweets: nil,
|
|
753
|
+
# Minimum view count threshold.
|
|
754
|
+
min_views: nil,
|
|
755
|
+
# Omit mode for resumable maximum coverage. Standard keeps legacy pagination.
|
|
756
|
+
# Coverage returns diagnostics once and rejects cursors.
|
|
757
|
+
mode: nil,
|
|
758
|
+
# Only return native reposts.
|
|
759
|
+
native_retweets: nil,
|
|
760
|
+
# Match a place name.
|
|
761
|
+
near: nil,
|
|
762
|
+
# Only return news results.
|
|
763
|
+
news: nil,
|
|
498
764
|
# Search within a place ID.
|
|
499
765
|
place: nil,
|
|
500
766
|
# Search within a country code.
|
|
@@ -513,20 +779,30 @@ module XTwitterScraper
|
|
|
513
779
|
retweets: nil,
|
|
514
780
|
# Only retweets of this tweet ID.
|
|
515
781
|
retweets_of_tweet_id: nil,
|
|
782
|
+
# Enable the safe-search filter.
|
|
783
|
+
safe: nil,
|
|
516
784
|
# Start date in YYYY-MM-DD format.
|
|
517
785
|
since_date: nil,
|
|
518
|
-
#
|
|
786
|
+
# Return Tweets newer than this Tweet ID.
|
|
787
|
+
since_id: nil,
|
|
788
|
+
# Inclusive ISO bound.
|
|
519
789
|
since_time: nil,
|
|
790
|
+
# Match the source application.
|
|
791
|
+
source: nil,
|
|
520
792
|
# Filter replies sent to a username.
|
|
521
793
|
to_user: nil,
|
|
522
794
|
# End date in YYYY-MM-DD format.
|
|
523
795
|
until_date: nil,
|
|
524
|
-
# ISO
|
|
796
|
+
# Exclusive ISO bound.
|
|
525
797
|
until_time: nil,
|
|
526
798
|
# URL substring or domain filter.
|
|
527
799
|
url: nil,
|
|
528
800
|
# Only return tweets from verified authors.
|
|
529
801
|
verified_only: nil,
|
|
802
|
+
# Set the radius for the near filter.
|
|
803
|
+
within: nil,
|
|
804
|
+
# Match Tweets inside a recent time window.
|
|
805
|
+
within_time: nil,
|
|
530
806
|
request_options: {}
|
|
531
807
|
)
|
|
532
808
|
end
|