x-twitter-scraper 0.8.4 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +1 -3
  3. package/package.json +1 -1
  4. package/resources/credits.d.mts +5 -5
  5. package/resources/credits.d.ts +5 -5
  6. package/resources/credits.js +2 -2
  7. package/resources/credits.mjs +2 -2
  8. package/resources/draws.d.mts +3 -2
  9. package/resources/draws.d.mts.map +1 -1
  10. package/resources/draws.d.ts +3 -2
  11. package/resources/draws.d.ts.map +1 -1
  12. package/resources/events.d.mts +6 -2
  13. package/resources/events.d.mts.map +1 -1
  14. package/resources/events.d.ts +6 -2
  15. package/resources/events.d.ts.map +1 -1
  16. package/resources/extractions.d.mts +672 -91
  17. package/resources/extractions.d.mts.map +1 -1
  18. package/resources/extractions.d.ts +672 -91
  19. package/resources/extractions.d.ts.map +1 -1
  20. package/resources/extractions.js +3 -2
  21. package/resources/extractions.js.map +1 -1
  22. package/resources/extractions.mjs +3 -2
  23. package/resources/extractions.mjs.map +1 -1
  24. package/resources/guest-wallets.d.mts +20 -18
  25. package/resources/guest-wallets.d.mts.map +1 -1
  26. package/resources/guest-wallets.d.ts +20 -18
  27. package/resources/guest-wallets.d.ts.map +1 -1
  28. package/resources/guest-wallets.js +9 -13
  29. package/resources/guest-wallets.js.map +1 -1
  30. package/resources/guest-wallets.mjs +9 -13
  31. package/resources/guest-wallets.mjs.map +1 -1
  32. package/resources/monitors/monitors.d.mts +8 -0
  33. package/resources/monitors/monitors.d.mts.map +1 -1
  34. package/resources/monitors/monitors.d.ts +8 -0
  35. package/resources/monitors/monitors.d.ts.map +1 -1
  36. package/resources/monitors/monitors.js.map +1 -1
  37. package/resources/monitors/monitors.mjs.map +1 -1
  38. package/resources/shared.d.mts +11 -11
  39. package/resources/shared.d.mts.map +1 -1
  40. package/resources/shared.d.ts +11 -11
  41. package/resources/shared.d.ts.map +1 -1
  42. package/resources/support/attachments.d.mts +33 -0
  43. package/resources/support/attachments.d.mts.map +1 -0
  44. package/resources/support/attachments.d.ts +33 -0
  45. package/resources/support/attachments.d.ts.map +1 -0
  46. package/resources/support/attachments.js +42 -0
  47. package/resources/support/attachments.js.map +1 -0
  48. package/resources/support/attachments.mjs +38 -0
  49. package/resources/support/attachments.mjs.map +1 -0
  50. package/resources/support/index.d.mts +1 -0
  51. package/resources/support/index.d.mts.map +1 -1
  52. package/resources/support/index.d.ts +1 -0
  53. package/resources/support/index.d.ts.map +1 -1
  54. package/resources/support/index.js +3 -1
  55. package/resources/support/index.js.map +1 -1
  56. package/resources/support/index.mjs +1 -0
  57. package/resources/support/index.mjs.map +1 -1
  58. package/resources/support/support.d.mts +4 -0
  59. package/resources/support/support.d.mts.map +1 -1
  60. package/resources/support/support.d.ts +4 -0
  61. package/resources/support/support.d.ts.map +1 -1
  62. package/resources/support/support.js +4 -0
  63. package/resources/support/support.js.map +1 -1
  64. package/resources/support/support.mjs +4 -0
  65. package/resources/support/support.mjs.map +1 -1
  66. package/resources/x/accounts.d.mts +3 -5
  67. package/resources/x/accounts.d.mts.map +1 -1
  68. package/resources/x/accounts.d.ts +3 -5
  69. package/resources/x/accounts.d.ts.map +1 -1
  70. package/resources/x/communities/communities.d.mts +112 -0
  71. package/resources/x/communities/communities.d.mts.map +1 -1
  72. package/resources/x/communities/communities.d.ts +112 -0
  73. package/resources/x/communities/communities.d.ts.map +1 -1
  74. package/resources/x/communities/communities.js.map +1 -1
  75. package/resources/x/communities/communities.mjs.map +1 -1
  76. package/resources/x/index.d.mts +2 -2
  77. package/resources/x/index.d.mts.map +1 -1
  78. package/resources/x/index.d.ts +2 -2
  79. package/resources/x/index.d.ts.map +1 -1
  80. package/resources/x/index.js.map +1 -1
  81. package/resources/x/index.mjs.map +1 -1
  82. package/resources/x/lists.d.mts +115 -4
  83. package/resources/x/lists.d.mts.map +1 -1
  84. package/resources/x/lists.d.ts +115 -4
  85. package/resources/x/lists.d.ts.map +1 -1
  86. package/resources/x/tweets/index.d.mts +1 -1
  87. package/resources/x/tweets/index.d.mts.map +1 -1
  88. package/resources/x/tweets/index.d.ts +1 -1
  89. package/resources/x/tweets/index.d.ts.map +1 -1
  90. package/resources/x/tweets/index.js.map +1 -1
  91. package/resources/x/tweets/index.mjs.map +1 -1
  92. package/resources/x/tweets/tweets.d.mts +482 -38
  93. package/resources/x/tweets/tweets.d.mts.map +1 -1
  94. package/resources/x/tweets/tweets.d.ts +482 -38
  95. package/resources/x/tweets/tweets.d.ts.map +1 -1
  96. package/resources/x/tweets/tweets.js +5 -8
  97. package/resources/x/tweets/tweets.js.map +1 -1
  98. package/resources/x/tweets/tweets.mjs +5 -8
  99. package/resources/x/tweets/tweets.mjs.map +1 -1
  100. package/resources/x/users/index.d.mts +1 -1
  101. package/resources/x/users/index.d.mts.map +1 -1
  102. package/resources/x/users/index.d.ts +1 -1
  103. package/resources/x/users/index.d.ts.map +1 -1
  104. package/resources/x/users/index.js.map +1 -1
  105. package/resources/x/users/index.mjs.map +1 -1
  106. package/resources/x/users/users.d.mts +910 -40
  107. package/resources/x/users/users.d.mts.map +1 -1
  108. package/resources/x/users/users.d.ts +910 -40
  109. package/resources/x/users/users.d.ts.map +1 -1
  110. package/resources/x/users/users.js +12 -7
  111. package/resources/x/users/users.js.map +1 -1
  112. package/resources/x/users/users.mjs +12 -7
  113. package/resources/x/users/users.mjs.map +1 -1
  114. package/resources/x/x.d.mts +4 -4
  115. package/resources/x/x.d.mts.map +1 -1
  116. package/resources/x/x.d.ts +4 -4
  117. package/resources/x/x.d.ts.map +1 -1
  118. package/resources/x/x.js.map +1 -1
  119. package/resources/x/x.mjs.map +1 -1
  120. package/src/resources/credits.ts +5 -5
  121. package/src/resources/draws.ts +3 -2
  122. package/src/resources/events.ts +7 -2
  123. package/src/resources/extractions.ts +929 -185
  124. package/src/resources/guest-wallets.ts +20 -18
  125. package/src/resources/monitors/monitors.ts +10 -0
  126. package/src/resources/shared.ts +17 -9
  127. package/src/resources/support/attachments.ts +57 -0
  128. package/src/resources/support/index.ts +1 -0
  129. package/src/resources/support/support.ts +6 -0
  130. package/src/resources/x/accounts.ts +3 -5
  131. package/src/resources/x/communities/communities.ts +140 -0
  132. package/src/resources/x/index.ts +4 -0
  133. package/src/resources/x/lists.ts +143 -4
  134. package/src/resources/x/tweets/index.ts +1 -0
  135. package/src/resources/x/tweets/tweets.ts +610 -37
  136. package/src/resources/x/users/index.ts +3 -0
  137. package/src/resources/x/users/users.ts +1363 -221
  138. package/src/resources/x/x.ts +8 -0
  139. package/src/version.ts +1 -1
  140. package/version.d.mts +1 -1
  141. package/version.d.mts.map +1 -1
  142. package/version.d.ts +1 -1
  143. package/version.d.ts.map +1 -1
  144. package/version.js +1 -1
  145. package/version.js.map +1 -1
  146. package/version.mjs +1 -1
  147. package/version.mjs.map +1 -1
@@ -79,10 +79,9 @@ export declare class Tweets extends APIResource {
79
79
  */
80
80
  getQuotes(id: string, query?: TweetGetQuotesParams | null | undefined, options?: RequestOptions): APIPromise<Shared.PaginatedTweets>;
81
81
  /**
82
- * Returns direct replies. Complete mode merges available timeline views, supported
83
- * rankings, every forward cursor module, labeled hidden-content branches,
84
- * exact-parent time partitions scaled to the reported reply count, and search. It
85
- * separates nested replies and returns 424 below 80% coverage.
82
+ * Returns direct replies. Omit mode for automatic maximum coverage with resumable
83
+ * pagination. Complete mode returns nested replies, diagnostics, and 424 when
84
+ * direct coverage stays below 80%.
86
85
  *
87
86
  * @example
88
87
  * ```ts
@@ -113,16 +112,14 @@ export declare class Tweets extends APIResource {
113
112
  */
114
113
  getThread(id: string, query?: TweetGetThreadParams | null | undefined, options?: RequestOptions): APIPromise<Shared.PaginatedTweets>;
115
114
  /**
116
- * Search tweets by query, Tweet ID, X status URL, or account date window
115
+ * No-mode search maximizes coverage.
117
116
  *
118
117
  * @example
119
118
  * ```ts
120
- * const paginatedTweets = await client.x.tweets.search({
121
- * q: 'q',
122
- * });
119
+ * const response = await client.x.tweets.search({ q: 'q' });
123
120
  * ```
124
121
  */
125
- search(query: TweetSearchParams, options?: RequestOptions): APIPromise<Shared.PaginatedTweets>;
122
+ search(query: TweetSearchParams, options?: RequestOptions): APIPromise<TweetSearchResponse>;
126
123
  }
127
124
  /**
128
125
  * Tweet author profile. The lookup route always includes follower count and
@@ -702,8 +699,9 @@ export declare namespace TweetDeleteResponse {
702
699
  }
703
700
  }
704
701
  /**
705
- * Reply rows. Complete mode also returns nested replies and coverage diagnostics.
706
- * Keep nested replies separate from direct coverage.
702
+ * Direct reply rows. No-mode requests use resumable automatic coverage. Complete
703
+ * mode also returns nested replies and coverage diagnostics. Keep nested replies
704
+ * separate from direct coverage.
707
705
  */
708
706
  export interface TweetGetRepliesResponse extends Shared.PaginatedTweets {
709
707
  /**
@@ -860,6 +858,83 @@ export declare namespace TweetGetRepliesResponse {
860
858
  }
861
859
  }
862
860
  }
861
+ /**
862
+ * No-mode search, user Tweet, user reply, and direct reply reads use automatic
863
+ * coverage. Shape, filters, aliases, and billing stay compatible. Unprefixed
864
+ * cursors remain legacy. Follow next_cursor while has_next_page is true. An empty
865
+ * filtered page can still have has_next_page true.
866
+ */
867
+ export type TweetSearchResponse = Shared.PaginatedTweets | TweetSearchResponse.TweetSearchCoverageResponse;
868
+ export declare namespace TweetSearchResponse {
869
+ /**
870
+ * No-mode search, user Tweet, user reply, and direct reply reads use automatic
871
+ * coverage. Shape, filters, aliases, and billing stay compatible. Unprefixed
872
+ * cursors remain legacy. Follow next_cursor while has_next_page is true. An empty
873
+ * filtered page can still have has_next_page true.
874
+ */
875
+ interface TweetSearchCoverageResponse extends Omit<Shared.PaginatedTweets, 'has_next_page' | 'next_cursor'> {
876
+ /**
877
+ * Coverage evidence across parallel search strategies.
878
+ */
879
+ diagnostic: TweetSearchCoverageResponse.Diagnostic;
880
+ has_next_page?: false;
881
+ next_cursor?: '';
882
+ }
883
+ namespace TweetSearchCoverageResponse {
884
+ /**
885
+ * Coverage evidence across parallel search strategies.
886
+ */
887
+ interface Diagnostic {
888
+ /**
889
+ * True when every strategy exhausted its source.
890
+ */
891
+ complete: boolean;
892
+ cursorFailureCount: number;
893
+ deadlineReached: boolean;
894
+ duplicateCount: number;
895
+ failedStrategyCount: number;
896
+ malformedCount: number;
897
+ pagesFetched: number;
898
+ /**
899
+ * Whether bounded time windows ran in parallel.
900
+ */
901
+ partitioned: boolean;
902
+ /**
903
+ * Whether credits or the requested limit reduced output.
904
+ */
905
+ responseTruncated: boolean;
906
+ resultLimitReached: boolean;
907
+ returnedTweets: number;
908
+ stalledStrategyCount: number;
909
+ strategies: Array<Diagnostic.Strategy>;
910
+ strategyCount: number;
911
+ uniqueTweets: number;
912
+ }
913
+ namespace Diagnostic {
914
+ interface Strategy {
915
+ duplicateCount: number;
916
+ pagesFetched: number;
917
+ queryType: 'Latest' | 'Top';
918
+ stopReason: 'cursor_failure' | 'deadline' | 'exhausted' | 'failed' | 'page_limit' | 'result_limit' | 'stalled';
919
+ strategy: number;
920
+ uniqueAdded: number;
921
+ /**
922
+ * Non-overlapping time partition used by one strategy.
923
+ */
924
+ window?: Strategy.Window;
925
+ }
926
+ namespace Strategy {
927
+ /**
928
+ * Non-overlapping time partition used by one strategy.
929
+ */
930
+ interface Window {
931
+ sinceTime: string;
932
+ untilTime: string;
933
+ }
934
+ }
935
+ }
936
+ }
937
+ }
863
938
  export interface TweetCreateParams {
864
939
  /**
865
940
  * Body param: X account (@username or account ID)
@@ -915,17 +990,72 @@ export interface TweetDeleteParams {
915
990
  'Idempotency-Key': string;
916
991
  }
917
992
  export interface TweetGetFavoritersParams {
993
+ /**
994
+ * Match any comma-separated or line-separated bio term, ignoring case.
995
+ */
996
+ bioContains?: string;
918
997
  /**
919
998
  * Pagination cursor for favoriters
920
999
  */
921
1000
  cursor?: string;
922
1001
  /**
923
- * Maximum user profiles requested from this page (20-200, default 200). The
924
- * response can contain fewer profiles because the source returned fewer or
925
- * the available usage balance covers fewer results. Keep requesting next_cursor while
926
- * has_next_page is true. The deprecated limit and count aliases remain accepted.
1002
+ * Only return profiles with a location.
1003
+ */
1004
+ hasLocation?: boolean;
1005
+ /**
1006
+ * Only return profiles with a website.
1007
+ */
1008
+ hasWebsite?: boolean;
1009
+ /**
1010
+ * Match a location substring, ignoring case.
1011
+ */
1012
+ locationContains?: string;
1013
+ /**
1014
+ * Maximum follower count. Missing counts pass this maximum.
1015
+ */
1016
+ maxFollowers?: number;
1017
+ /**
1018
+ * Maximum following count.
1019
+ */
1020
+ maxFollowing?: number;
1021
+ /**
1022
+ * Maximum post count. maxPosts is also accepted.
1023
+ */
1024
+ maxStatuses?: number;
1025
+ /**
1026
+ * Minimum account age in whole days.
1027
+ */
1028
+ minAccountAgeDays?: number;
1029
+ /**
1030
+ * Minimum follower count. Filtering happens before billing.
1031
+ */
1032
+ minFollowers?: number;
1033
+ /**
1034
+ * Minimum following count.
1035
+ */
1036
+ minFollowing?: number;
1037
+ /**
1038
+ * Minimum post count. minPosts is also accepted.
1039
+ */
1040
+ minStatuses?: number;
1041
+ /**
1042
+ * Maximum user profiles requested from this page (20-200, default 200). Source,
1043
+ * filters, or credits can return fewer profiles. Keep requesting next_cursor while
1044
+ * has_next_page is true. Deprecated aliases remain accepted.
927
1045
  */
928
1046
  pageSize?: number;
1047
+ /**
1048
+ * Match a username substring, ignoring case.
1049
+ */
1050
+ usernameContains?: string;
1051
+ /**
1052
+ * Only return verified profiles.
1053
+ */
1054
+ verifiedOnly?: boolean;
1055
+ /**
1056
+ * Match the verification type exactly, ignoring case.
1057
+ */
1058
+ verifiedType?: string;
929
1059
  }
930
1060
  export interface TweetGetQuotesParams {
931
1061
  /**
@@ -933,6 +1063,14 @@ export interface TweetGetQuotesParams {
933
1063
  * or lines.
934
1064
  */
935
1065
  anyWords?: string;
1066
+ /**
1067
+ * Only return tweets from Blue-verified authors.
1068
+ */
1069
+ blueVerifiedOnly?: boolean;
1070
+ /**
1071
+ * Match the Tweet card name.
1072
+ */
1073
+ cardName?: string;
936
1074
  /**
937
1075
  * Cashtags separated by spaces, commas, or lines.
938
1076
  */
@@ -949,6 +1087,10 @@ export interface TweetGetQuotesParams {
949
1087
  * Exact phrase to match.
950
1088
  */
951
1089
  exactPhrase?: string;
1090
+ /**
1091
+ * Exclude a source application.
1092
+ */
1093
+ excludeSource?: string;
952
1094
  /**
953
1095
  * Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
954
1096
  */
@@ -957,6 +1099,10 @@ export interface TweetGetQuotesParams {
957
1099
  * Filter by author username.
958
1100
  */
959
1101
  fromUser?: string;
1102
+ /**
1103
+ * Match latitude, longitude, and radius.
1104
+ */
1105
+ geocode?: string;
960
1106
  /**
961
1107
  * Hashtags separated by spaces, commas, or lines.
962
1108
  */
@@ -973,6 +1119,26 @@ export interface TweetGetQuotesParams {
973
1119
  * Language code filter, e.g. en or tr.
974
1120
  */
975
1121
  language?: string;
1122
+ /**
1123
+ * Maximum likes threshold. maxLikes is also accepted.
1124
+ */
1125
+ maxFaves?: number;
1126
+ /**
1127
+ * Return Tweets older than this Tweet ID.
1128
+ */
1129
+ maxId?: string;
1130
+ /**
1131
+ * Maximum quotes threshold.
1132
+ */
1133
+ maxQuotes?: number;
1134
+ /**
1135
+ * Maximum replies threshold.
1136
+ */
1137
+ maxReplies?: number;
1138
+ /**
1139
+ * Maximum retweets threshold.
1140
+ */
1141
+ maxRetweets?: number;
976
1142
  /**
977
1143
  * Filter by media type.
978
1144
  */
@@ -981,6 +1147,10 @@ export interface TweetGetQuotesParams {
981
1147
  * Filter tweets mentioning a username.
982
1148
  */
983
1149
  mentioning?: string;
1150
+ /**
1151
+ * Minimum bookmark count threshold.
1152
+ */
1153
+ minBookmarks?: number;
984
1154
  /**
985
1155
  * Minimum likes threshold.
986
1156
  */
@@ -997,6 +1167,22 @@ export interface TweetGetQuotesParams {
997
1167
  * Minimum retweets threshold.
998
1168
  */
999
1169
  minRetweets?: number;
1170
+ /**
1171
+ * Minimum view count threshold.
1172
+ */
1173
+ minViews?: number;
1174
+ /**
1175
+ * Only return native reposts.
1176
+ */
1177
+ nativeRetweets?: boolean;
1178
+ /**
1179
+ * Match a place name.
1180
+ */
1181
+ near?: string;
1182
+ /**
1183
+ * Only return news results.
1184
+ */
1185
+ news?: boolean;
1000
1186
  /**
1001
1187
  * Maximum page items (1-100, default 20). Source, filters, or credits can reduce
1002
1188
  * results. Continue while has_next_page is true. Deprecated limit and count
@@ -1023,14 +1209,26 @@ export interface TweetGetQuotesParams {
1023
1209
  * Only retweets of this tweet ID.
1024
1210
  */
1025
1211
  retweetsOfTweetId?: string;
1212
+ /**
1213
+ * Enable the safe-search filter.
1214
+ */
1215
+ safe?: boolean;
1026
1216
  /**
1027
1217
  * Start date in YYYY-MM-DD format.
1028
1218
  */
1029
1219
  sinceDate?: string;
1220
+ /**
1221
+ * Return Tweets newer than this Tweet ID.
1222
+ */
1223
+ sinceId?: string;
1030
1224
  /**
1031
1225
  * Unix timestamp - return quotes posted after this time
1032
1226
  */
1033
1227
  sinceTime?: string;
1228
+ /**
1229
+ * Match the source application.
1230
+ */
1231
+ source?: string;
1034
1232
  /**
1035
1233
  * Filter replies sent to a username.
1036
1234
  */
@@ -1051,6 +1249,14 @@ export interface TweetGetQuotesParams {
1051
1249
  * Only return tweets from verified authors.
1052
1250
  */
1053
1251
  verifiedOnly?: boolean;
1252
+ /**
1253
+ * Set the radius for the near filter.
1254
+ */
1255
+ within?: string;
1256
+ /**
1257
+ * Match Tweets inside a recent time window.
1258
+ */
1259
+ withinTime?: string;
1054
1260
  }
1055
1261
  export interface TweetGetRepliesParams {
1056
1262
  /**
@@ -1058,6 +1264,14 @@ export interface TweetGetRepliesParams {
1058
1264
  * or lines.
1059
1265
  */
1060
1266
  anyWords?: string;
1267
+ /**
1268
+ * Only return tweets from Blue-verified authors.
1269
+ */
1270
+ blueVerifiedOnly?: boolean;
1271
+ /**
1272
+ * Match the Tweet card name.
1273
+ */
1274
+ cardName?: string;
1061
1275
  /**
1062
1276
  * Cashtags separated by spaces, commas, or lines.
1063
1277
  */
@@ -1067,13 +1281,22 @@ export interface TweetGetRepliesParams {
1067
1281
  */
1068
1282
  conversationId?: string;
1069
1283
  /**
1070
- * Pagination cursor for tweet replies
1284
+ * Cursor from the previous response. Xquik cursors resume automatic coverage.
1285
+ * Existing unprefixed cursors keep legacy standard behavior.
1071
1286
  */
1072
1287
  cursor?: string;
1073
1288
  /**
1074
1289
  * Exact phrase to match.
1075
1290
  */
1076
1291
  exactPhrase?: string;
1292
+ /**
1293
+ * Exclude replies written by the source-post author.
1294
+ */
1295
+ excludeOriginalAuthor?: boolean;
1296
+ /**
1297
+ * Exclude a source application.
1298
+ */
1299
+ excludeSource?: string;
1077
1300
  /**
1078
1301
  * Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
1079
1302
  */
@@ -1082,10 +1305,22 @@ export interface TweetGetRepliesParams {
1082
1305
  * Filter by author username.
1083
1306
  */
1084
1307
  fromUser?: string;
1308
+ /**
1309
+ * Match latitude, longitude, and radius.
1310
+ */
1311
+ geocode?: string;
1085
1312
  /**
1086
1313
  * Hashtags separated by spaces, commas, or lines.
1087
1314
  */
1088
1315
  hashtags?: string;
1316
+ /**
1317
+ * Only return replies containing media.
1318
+ */
1319
+ hasMediaOnly?: boolean;
1320
+ /**
1321
+ * Include the source post and count it toward limit.
1322
+ */
1323
+ includeOriginalPost?: boolean;
1089
1324
  /**
1090
1325
  * Only replies to this tweet ID.
1091
1326
  */
@@ -1095,11 +1330,35 @@ export interface TweetGetRepliesParams {
1095
1330
  */
1096
1331
  language?: string;
1097
1332
  /**
1098
- * With mode=complete, maximum combined direct and nested reply rows (1-25000).
1099
- * Without complete mode, this is the deprecated pageSize alias and uses the normal
1100
- * 1-100 page range.
1333
+ * With mode=complete, maximum combined direct and nested reply rows (1-25000,
1334
+ * default 25000). Automatic pages accept 1-300. Standard pages accept 1-100.
1335
+ * Prefer pageSize outside complete mode.
1101
1336
  */
1102
1337
  limit?: number;
1338
+ /**
1339
+ * Maximum reply depth from the source post.
1340
+ */
1341
+ maxDepth?: number;
1342
+ /**
1343
+ * Maximum likes threshold. maxLikes is also accepted.
1344
+ */
1345
+ maxFaves?: number;
1346
+ /**
1347
+ * Return Tweets older than this Tweet ID.
1348
+ */
1349
+ maxId?: string;
1350
+ /**
1351
+ * Maximum quotes threshold.
1352
+ */
1353
+ maxQuotes?: number;
1354
+ /**
1355
+ * Maximum replies threshold.
1356
+ */
1357
+ maxReplies?: number;
1358
+ /**
1359
+ * Maximum retweets threshold.
1360
+ */
1361
+ maxRetweets?: number;
1103
1362
  /**
1104
1363
  * Filter by media type.
1105
1364
  */
@@ -1108,6 +1367,10 @@ export interface TweetGetRepliesParams {
1108
1367
  * Filter tweets mentioning a username.
1109
1368
  */
1110
1369
  mentioning?: string;
1370
+ /**
1371
+ * Minimum bookmark count threshold.
1372
+ */
1373
+ minBookmarks?: number;
1111
1374
  /**
1112
1375
  * Minimum likes threshold.
1113
1376
  */
@@ -1125,14 +1388,31 @@ export interface TweetGetRepliesParams {
1125
1388
  */
1126
1389
  minRetweets?: number;
1127
1390
  /**
1128
- * Set complete for maximum-coverage collection. Complete mode accepts only limit.
1129
- * Remove cursor, pageSize, count, time ranges, and tweet filters.
1391
+ * Minimum view count threshold.
1130
1392
  */
1131
- mode?: 'complete';
1393
+ minViews?: number;
1132
1394
  /**
1133
- * Maximum page items (1-100, default 20). Source, filters, or credits can reduce
1134
- * results. Continue while has_next_page is true. Deprecated limit and count
1135
- * aliases remain accepted.
1395
+ * Optional advanced override. Omit mode for automatic maximum direct reply
1396
+ * coverage with pagination. Standard keeps legacy pagination. Complete returns
1397
+ * direct and nested replies with diagnostics, scope, depth, sorting, and
1398
+ * original-post controls.
1399
+ */
1400
+ mode?: 'standard' | 'complete';
1401
+ /**
1402
+ * Only return native reposts.
1403
+ */
1404
+ nativeRetweets?: boolean;
1405
+ /**
1406
+ * Match a place name.
1407
+ */
1408
+ near?: string;
1409
+ /**
1410
+ * Only return news results.
1411
+ */
1412
+ news?: boolean;
1413
+ /**
1414
+ * Automatic pages accept 1-300 Tweets. Standard pages keep 1-100. Default 20.
1415
+ * Continue while has_next_page is true. Deprecated aliases remain accepted.
1136
1416
  */
1137
1417
  pageSize?: number;
1138
1418
  /**
@@ -1155,14 +1435,34 @@ export interface TweetGetRepliesParams {
1155
1435
  * Only retweets of this tweet ID.
1156
1436
  */
1157
1437
  retweetsOfTweetId?: string;
1438
+ /**
1439
+ * Enable the safe-search filter.
1440
+ */
1441
+ safe?: boolean;
1442
+ /**
1443
+ * Select all replies, direct replies, or nested replies.
1444
+ */
1445
+ scope?: 'all' | 'direct' | 'nested';
1158
1446
  /**
1159
1447
  * Start date in YYYY-MM-DD format.
1160
1448
  */
1161
1449
  sinceDate?: string;
1450
+ /**
1451
+ * Return Tweets newer than this Tweet ID.
1452
+ */
1453
+ sinceId?: string;
1162
1454
  /**
1163
1455
  * Unix timestamp - return replies posted after this time
1164
1456
  */
1165
1457
  sinceTime?: string;
1458
+ /**
1459
+ * Sort the selected replies before applying limit.
1460
+ */
1461
+ sort?: 'relevance' | 'latest' | 'oldest' | 'likes';
1462
+ /**
1463
+ * Match the source application.
1464
+ */
1465
+ source?: string;
1166
1466
  /**
1167
1467
  * Filter replies sent to a username.
1168
1468
  */
@@ -1183,19 +1483,82 @@ export interface TweetGetRepliesParams {
1183
1483
  * Only return tweets from verified authors.
1184
1484
  */
1185
1485
  verifiedOnly?: boolean;
1486
+ /**
1487
+ * Set the radius for the near filter.
1488
+ */
1489
+ within?: string;
1490
+ /**
1491
+ * Match Tweets inside a recent time window.
1492
+ */
1493
+ withinTime?: string;
1186
1494
  }
1187
1495
  export interface TweetGetRetweetersParams {
1496
+ /**
1497
+ * Match any comma-separated or line-separated bio term, ignoring case.
1498
+ */
1499
+ bioContains?: string;
1188
1500
  /**
1189
1501
  * Pagination cursor for retweeters
1190
1502
  */
1191
1503
  cursor?: string;
1192
1504
  /**
1193
- * Maximum user profiles requested from this page (20-200, default 200). The
1194
- * response can contain fewer profiles because the source returned fewer or
1195
- * the available usage balance covers fewer results. Keep requesting next_cursor while
1196
- * has_next_page is true. The deprecated limit and count aliases remain accepted.
1505
+ * Only return profiles with a location.
1506
+ */
1507
+ hasLocation?: boolean;
1508
+ /**
1509
+ * Only return profiles with a website.
1510
+ */
1511
+ hasWebsite?: boolean;
1512
+ /**
1513
+ * Match a location substring, ignoring case.
1514
+ */
1515
+ locationContains?: string;
1516
+ /**
1517
+ * Maximum follower count. Missing counts pass this maximum.
1518
+ */
1519
+ maxFollowers?: number;
1520
+ /**
1521
+ * Maximum following count.
1522
+ */
1523
+ maxFollowing?: number;
1524
+ /**
1525
+ * Maximum post count. maxPosts is also accepted.
1526
+ */
1527
+ maxStatuses?: number;
1528
+ /**
1529
+ * Minimum account age in whole days.
1530
+ */
1531
+ minAccountAgeDays?: number;
1532
+ /**
1533
+ * Minimum follower count. Filtering happens before billing.
1534
+ */
1535
+ minFollowers?: number;
1536
+ /**
1537
+ * Minimum following count.
1538
+ */
1539
+ minFollowing?: number;
1540
+ /**
1541
+ * Minimum post count. minPosts is also accepted.
1542
+ */
1543
+ minStatuses?: number;
1544
+ /**
1545
+ * Maximum user profiles requested from this page (20-200, default 200). Source,
1546
+ * filters, or credits can return fewer profiles. Keep requesting next_cursor while
1547
+ * has_next_page is true. Deprecated aliases remain accepted.
1197
1548
  */
1198
1549
  pageSize?: number;
1550
+ /**
1551
+ * Match a username substring, ignoring case.
1552
+ */
1553
+ usernameContains?: string;
1554
+ /**
1555
+ * Only return verified profiles.
1556
+ */
1557
+ verifiedOnly?: boolean;
1558
+ /**
1559
+ * Match the verification type exactly, ignoring case.
1560
+ */
1561
+ verifiedType?: string;
1199
1562
  }
1200
1563
  export interface TweetGetThreadParams {
1201
1564
  /**
@@ -1211,7 +1574,7 @@ export interface TweetGetThreadParams {
1211
1574
  }
1212
1575
  export interface TweetSearchParams {
1213
1576
  /**
1214
- * Search query (keywords,
1577
+ * Query, Tweet ID, or status URL. Valid inline bounds apply per page.
1215
1578
  */
1216
1579
  q: string;
1217
1580
  /**
@@ -1223,10 +1586,18 @@ export interface TweetSearchParams {
1223
1586
  * or lines.
1224
1587
  */
1225
1588
  anyWords?: string;
1589
+ /**
1590
+ * Only return tweets from Blue-verified authors.
1591
+ */
1592
+ blueVerifiedOnly?: boolean;
1226
1593
  /**
1227
1594
  * Geo bounding box, e.g. -74.1 40.6 -73.9 40.8.
1228
1595
  */
1229
1596
  boundingBox?: string;
1597
+ /**
1598
+ * Match the Tweet card name.
1599
+ */
1600
+ cardName?: string;
1230
1601
  /**
1231
1602
  * Cashtags separated by spaces, commas, or lines.
1232
1603
  */
@@ -1236,13 +1607,18 @@ export interface TweetSearchParams {
1236
1607
  */
1237
1608
  conversationId?: string;
1238
1609
  /**
1239
- * Pagination cursor from previous response
1610
+ * Cursor from the previous response. Xquik cursors resume automatic coverage.
1611
+ * Existing unprefixed cursors keep legacy standard behavior.
1240
1612
  */
1241
1613
  cursor?: string;
1242
1614
  /**
1243
1615
  * Exact phrase to match.
1244
1616
  */
1245
1617
  exactPhrase?: string;
1618
+ /**
1619
+ * Exclude a source application.
1620
+ */
1621
+ excludeSource?: string;
1246
1622
  /**
1247
1623
  * Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
1248
1624
  */
@@ -1251,6 +1627,10 @@ export interface TweetSearchParams {
1251
1627
  * Filter by author username.
1252
1628
  */
1253
1629
  fromUser?: string;
1630
+ /**
1631
+ * Match latitude, longitude, and radius.
1632
+ */
1633
+ geocode?: string;
1254
1634
  /**
1255
1635
  * Hashtags separated by spaces, commas, or lines.
1256
1636
  */
@@ -1264,16 +1644,35 @@ export interface TweetSearchParams {
1264
1644
  */
1265
1645
  language?: string;
1266
1646
  /**
1267
- * Max tweets to return (server paginates internally). Omit for single page (~20).
1268
- * This is an upper bound for paid authenticated calls: available usage balance can
1269
- * reduce the returned page size, and zero affordable results returns 402
1270
- * insufficient_credits.
1647
+ * Result upper bound. Omit it for the existing 20-row page size. Explicit coverage
1648
+ * defaults to 2000 and allows 10000. For paid requests, remaining credits can
1649
+ * reduce results. Zero affordable results returns 402.
1271
1650
  */
1272
1651
  limit?: number;
1273
1652
  /**
1274
1653
  * Search within a list ID.
1275
1654
  */
1276
1655
  listId?: string;
1656
+ /**
1657
+ * Maximum likes threshold. maxLikes is also accepted.
1658
+ */
1659
+ maxFaves?: number;
1660
+ /**
1661
+ * Return Tweets older than this Tweet ID.
1662
+ */
1663
+ maxId?: string;
1664
+ /**
1665
+ * Maximum quotes threshold.
1666
+ */
1667
+ maxQuotes?: number;
1668
+ /**
1669
+ * Maximum replies threshold.
1670
+ */
1671
+ maxReplies?: number;
1672
+ /**
1673
+ * Maximum retweets threshold.
1674
+ */
1675
+ maxRetweets?: number;
1277
1676
  /**
1278
1677
  * Filter by media type.
1279
1678
  */
@@ -1282,6 +1681,10 @@ export interface TweetSearchParams {
1282
1681
  * Filter tweets mentioning a username.
1283
1682
  */
1284
1683
  mentioning?: string;
1684
+ /**
1685
+ * Minimum bookmark count threshold.
1686
+ */
1687
+ minBookmarks?: number;
1285
1688
  /**
1286
1689
  * Minimum likes threshold.
1287
1690
  */
@@ -1298,6 +1701,27 @@ export interface TweetSearchParams {
1298
1701
  * Minimum retweets threshold.
1299
1702
  */
1300
1703
  minRetweets?: number;
1704
+ /**
1705
+ * Minimum view count threshold.
1706
+ */
1707
+ minViews?: number;
1708
+ /**
1709
+ * Omit mode for resumable maximum coverage. Standard keeps legacy pagination.
1710
+ * Coverage returns diagnostics once and rejects cursors.
1711
+ */
1712
+ mode?: 'standard' | 'coverage';
1713
+ /**
1714
+ * Only return native reposts.
1715
+ */
1716
+ nativeRetweets?: boolean;
1717
+ /**
1718
+ * Match a place name.
1719
+ */
1720
+ near?: string;
1721
+ /**
1722
+ * Only return news results.
1723
+ */
1724
+ news?: boolean;
1301
1725
  /**
1302
1726
  * Search within a place ID.
1303
1727
  */
@@ -1334,14 +1758,26 @@ export interface TweetSearchParams {
1334
1758
  * Only retweets of this tweet ID.
1335
1759
  */
1336
1760
  retweetsOfTweetId?: string;
1761
+ /**
1762
+ * Enable the safe-search filter.
1763
+ */
1764
+ safe?: boolean;
1337
1765
  /**
1338
1766
  * Start date in YYYY-MM-DD format.
1339
1767
  */
1340
1768
  sinceDate?: string;
1341
1769
  /**
1342
- * ISO 8601 timestamp - only return tweets after this time
1770
+ * Return Tweets newer than this Tweet ID.
1771
+ */
1772
+ sinceId?: string;
1773
+ /**
1774
+ * Inclusive ISO bound.
1343
1775
  */
1344
1776
  sinceTime?: string;
1777
+ /**
1778
+ * Match the source application.
1779
+ */
1780
+ source?: string;
1345
1781
  /**
1346
1782
  * Filter replies sent to a username.
1347
1783
  */
@@ -1351,7 +1787,7 @@ export interface TweetSearchParams {
1351
1787
  */
1352
1788
  untilDate?: string;
1353
1789
  /**
1354
- * ISO 8601 timestamp - only return tweets before this time
1790
+ * Exclusive ISO bound.
1355
1791
  */
1356
1792
  untilTime?: string;
1357
1793
  /**
@@ -1362,9 +1798,17 @@ export interface TweetSearchParams {
1362
1798
  * Only return tweets from verified authors.
1363
1799
  */
1364
1800
  verifiedOnly?: boolean;
1801
+ /**
1802
+ * Set the radius for the near filter.
1803
+ */
1804
+ within?: string;
1805
+ /**
1806
+ * Match Tweets inside a recent time window.
1807
+ */
1808
+ withinTime?: string;
1365
1809
  }
1366
1810
  export declare namespace Tweets {
1367
- export { type TweetAuthor as TweetAuthor, type TweetDetail as TweetDetail, type TweetCreateResponse as TweetCreateResponse, type TweetRetrieveResponse as TweetRetrieveResponse, type TweetDeleteResponse as TweetDeleteResponse, type TweetGetRepliesResponse as TweetGetRepliesResponse, type TweetCreateParams as TweetCreateParams, type TweetListParams as TweetListParams, type TweetDeleteParams as TweetDeleteParams, type TweetGetFavoritersParams as TweetGetFavoritersParams, type TweetGetQuotesParams as TweetGetQuotesParams, type TweetGetRepliesParams as TweetGetRepliesParams, type TweetGetRetweetersParams as TweetGetRetweetersParams, type TweetGetThreadParams as TweetGetThreadParams, type TweetSearchParams as TweetSearchParams, };
1811
+ export { type TweetAuthor as TweetAuthor, type TweetDetail as TweetDetail, type TweetCreateResponse as TweetCreateResponse, type TweetRetrieveResponse as TweetRetrieveResponse, type TweetDeleteResponse as TweetDeleteResponse, type TweetGetRepliesResponse as TweetGetRepliesResponse, type TweetSearchResponse as TweetSearchResponse, type TweetCreateParams as TweetCreateParams, type TweetListParams as TweetListParams, type TweetDeleteParams as TweetDeleteParams, type TweetGetFavoritersParams as TweetGetFavoritersParams, type TweetGetQuotesParams as TweetGetQuotesParams, type TweetGetRepliesParams as TweetGetRepliesParams, type TweetGetRetweetersParams as TweetGetRetweetersParams, type TweetGetThreadParams as TweetGetThreadParams, type TweetSearchParams as TweetSearchParams, };
1368
1812
  export { Like as Like, type LikeCreateResponse as LikeCreateResponse, type LikeDeleteResponse as LikeDeleteResponse, type LikeCreateParams as LikeCreateParams, type LikeDeleteParams as LikeDeleteParams, };
1369
1813
  export { Retweet as Retweet, type RetweetCreateResponse as RetweetCreateResponse, type RetweetDeleteResponse as RetweetDeleteResponse, type RetweetCreateParams as RetweetCreateParams, type RetweetDeleteParams as RetweetDeleteParams, };
1370
1814
  }