x-twitter-scraper 0.12.3 → 0.13.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 (473) hide show
  1. package/CHANGELOG.md +73 -2
  2. package/README.md +66 -51
  3. package/client.d.mts +18 -15
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +18 -15
  6. package/client.d.ts.map +1 -1
  7. package/client.js +3 -3
  8. package/client.js.map +1 -1
  9. package/client.mjs +4 -4
  10. package/client.mjs.map +1 -1
  11. package/core/streaming.d.mts +33 -0
  12. package/core/streaming.d.mts.map +1 -0
  13. package/core/streaming.d.ts +33 -0
  14. package/core/streaming.d.ts.map +1 -0
  15. package/core/streaming.js +270 -0
  16. package/core/streaming.js.map +1 -0
  17. package/core/streaming.mjs +265 -0
  18. package/core/streaming.mjs.map +1 -0
  19. package/internal/decoders/line.d.mts +17 -0
  20. package/internal/decoders/line.d.mts.map +1 -0
  21. package/internal/decoders/line.d.ts +17 -0
  22. package/internal/decoders/line.d.ts.map +1 -0
  23. package/internal/decoders/line.js +116 -0
  24. package/internal/decoders/line.js.map +1 -0
  25. package/internal/decoders/line.mjs +111 -0
  26. package/internal/decoders/line.mjs.map +1 -0
  27. package/internal/parse.d.mts.map +1 -1
  28. package/internal/parse.d.ts.map +1 -1
  29. package/internal/parse.js +7 -0
  30. package/internal/parse.js.map +1 -1
  31. package/internal/parse.mjs +7 -0
  32. package/internal/parse.mjs.map +1 -1
  33. package/internal/tslib.js +18 -18
  34. package/package.json +23 -5
  35. package/resources/account.d.mts +35 -12
  36. package/resources/account.d.mts.map +1 -1
  37. package/resources/account.d.ts +35 -12
  38. package/resources/account.d.ts.map +1 -1
  39. package/resources/account.js +4 -3
  40. package/resources/account.js.map +1 -1
  41. package/resources/account.mjs +4 -3
  42. package/resources/account.mjs.map +1 -1
  43. package/resources/compose.d.mts +77 -21
  44. package/resources/compose.d.mts.map +1 -1
  45. package/resources/compose.d.ts +77 -21
  46. package/resources/compose.d.ts.map +1 -1
  47. package/resources/compose.js +3 -4
  48. package/resources/compose.js.map +1 -1
  49. package/resources/compose.mjs +3 -4
  50. package/resources/compose.mjs.map +1 -1
  51. package/resources/credits.d.mts +18 -10
  52. package/resources/credits.d.mts.map +1 -1
  53. package/resources/credits.d.ts +18 -10
  54. package/resources/credits.d.ts.map +1 -1
  55. package/resources/credits.js +5 -4
  56. package/resources/credits.js.map +1 -1
  57. package/resources/credits.mjs +5 -4
  58. package/resources/credits.mjs.map +1 -1
  59. package/resources/drafts.d.mts +13 -17
  60. package/resources/drafts.d.mts.map +1 -1
  61. package/resources/drafts.d.ts +13 -17
  62. package/resources/drafts.d.ts.map +1 -1
  63. package/resources/drafts.js +4 -4
  64. package/resources/drafts.mjs +4 -4
  65. package/resources/draws.d.mts +84 -28
  66. package/resources/draws.d.mts.map +1 -1
  67. package/resources/draws.d.ts +84 -28
  68. package/resources/draws.d.ts.map +1 -1
  69. package/resources/draws.js +24 -9
  70. package/resources/draws.js.map +1 -1
  71. package/resources/draws.mjs +24 -9
  72. package/resources/draws.mjs.map +1 -1
  73. package/resources/events.d.mts +2564 -21
  74. package/resources/events.d.mts.map +1 -1
  75. package/resources/events.d.ts +2564 -21
  76. package/resources/events.d.ts.map +1 -1
  77. package/resources/events.js +34 -2
  78. package/resources/events.js.map +1 -1
  79. package/resources/events.mjs +34 -2
  80. package/resources/events.mjs.map +1 -1
  81. package/resources/extractions.d.mts +410 -128
  82. package/resources/extractions.d.mts.map +1 -1
  83. package/resources/extractions.d.ts +410 -128
  84. package/resources/extractions.d.ts.map +1 -1
  85. package/resources/extractions.js +74 -12
  86. package/resources/extractions.js.map +1 -1
  87. package/resources/extractions.mjs +74 -12
  88. package/resources/extractions.mjs.map +1 -1
  89. package/resources/guest-wallets.d.mts +6 -5
  90. package/resources/guest-wallets.d.mts.map +1 -1
  91. package/resources/guest-wallets.d.ts +6 -5
  92. package/resources/guest-wallets.d.ts.map +1 -1
  93. package/resources/guest-wallets.js +2 -1
  94. package/resources/guest-wallets.js.map +1 -1
  95. package/resources/guest-wallets.mjs +2 -1
  96. package/resources/guest-wallets.mjs.map +1 -1
  97. package/resources/index.d.mts +6 -6
  98. package/resources/index.d.mts.map +1 -1
  99. package/resources/index.d.ts +6 -6
  100. package/resources/index.d.ts.map +1 -1
  101. package/resources/index.js.map +1 -1
  102. package/resources/index.mjs +1 -1
  103. package/resources/index.mjs.map +1 -1
  104. package/resources/monitors/index.d.mts +2 -2
  105. package/resources/monitors/index.d.mts.map +1 -1
  106. package/resources/monitors/index.d.ts +2 -2
  107. package/resources/monitors/index.d.ts.map +1 -1
  108. package/resources/monitors/index.js.map +1 -1
  109. package/resources/monitors/index.mjs.map +1 -1
  110. package/resources/monitors/keywords.d.mts +66 -14
  111. package/resources/monitors/keywords.d.mts.map +1 -1
  112. package/resources/monitors/keywords.d.ts +66 -14
  113. package/resources/monitors/keywords.d.ts.map +1 -1
  114. package/resources/monitors/keywords.js +16 -10
  115. package/resources/monitors/keywords.js.map +1 -1
  116. package/resources/monitors/keywords.mjs +16 -10
  117. package/resources/monitors/keywords.mjs.map +1 -1
  118. package/resources/monitors/monitors.d.mts +53 -16
  119. package/resources/monitors/monitors.d.mts.map +1 -1
  120. package/resources/monitors/monitors.d.ts +53 -16
  121. package/resources/monitors/monitors.d.ts.map +1 -1
  122. package/resources/monitors/monitors.js +12 -10
  123. package/resources/monitors/monitors.js.map +1 -1
  124. package/resources/monitors/monitors.mjs +12 -10
  125. package/resources/monitors/monitors.mjs.map +1 -1
  126. package/resources/radar.d.mts +32 -36
  127. package/resources/radar.d.mts.map +1 -1
  128. package/resources/radar.d.ts +32 -36
  129. package/resources/radar.d.ts.map +1 -1
  130. package/resources/radar.js +1 -1
  131. package/resources/radar.mjs +1 -1
  132. package/resources/shared.d.mts +1726 -233
  133. package/resources/shared.d.mts.map +1 -1
  134. package/resources/shared.d.ts +1726 -233
  135. package/resources/shared.d.ts.map +1 -1
  136. package/resources/styles.d.mts +34 -23
  137. package/resources/styles.d.mts.map +1 -1
  138. package/resources/styles.d.ts +34 -23
  139. package/resources/styles.d.ts.map +1 -1
  140. package/resources/styles.js +11 -13
  141. package/resources/styles.js.map +1 -1
  142. package/resources/styles.mjs +11 -13
  143. package/resources/styles.mjs.map +1 -1
  144. package/resources/subscribe.d.mts +1 -1
  145. package/resources/subscribe.d.ts +1 -1
  146. package/resources/subscribe.js +1 -1
  147. package/resources/subscribe.mjs +1 -1
  148. package/resources/support/index.d.mts +1 -1
  149. package/resources/support/index.d.mts.map +1 -1
  150. package/resources/support/index.d.ts +1 -1
  151. package/resources/support/index.d.ts.map +1 -1
  152. package/resources/support/index.js.map +1 -1
  153. package/resources/support/index.mjs.map +1 -1
  154. package/resources/support/support.d.mts +2 -2
  155. package/resources/support/support.d.mts.map +1 -1
  156. package/resources/support/support.d.ts +2 -2
  157. package/resources/support/support.d.ts.map +1 -1
  158. package/resources/support/support.js.map +1 -1
  159. package/resources/support/support.mjs.map +1 -1
  160. package/resources/support/tickets.d.mts +30 -10
  161. package/resources/support/tickets.d.mts.map +1 -1
  162. package/resources/support/tickets.d.ts +30 -10
  163. package/resources/support/tickets.d.ts.map +1 -1
  164. package/resources/support/tickets.js +7 -7
  165. package/resources/support/tickets.js.map +1 -1
  166. package/resources/support/tickets.mjs +7 -7
  167. package/resources/support/tickets.mjs.map +1 -1
  168. package/resources/trends.d.mts +21 -5
  169. package/resources/trends.d.mts.map +1 -1
  170. package/resources/trends.d.ts +21 -5
  171. package/resources/trends.d.ts.map +1 -1
  172. package/resources/trends.js +2 -1
  173. package/resources/trends.js.map +1 -1
  174. package/resources/trends.mjs +2 -1
  175. package/resources/trends.mjs.map +1 -1
  176. package/resources/webhooks.d.mts +80 -14
  177. package/resources/webhooks.d.mts.map +1 -1
  178. package/resources/webhooks.d.ts +80 -14
  179. package/resources/webhooks.d.ts.map +1 -1
  180. package/resources/webhooks.js +30 -11
  181. package/resources/webhooks.js.map +1 -1
  182. package/resources/webhooks.mjs +30 -11
  183. package/resources/webhooks.mjs.map +1 -1
  184. package/resources/x/account-connection-attempts.d.mts +1 -1
  185. package/resources/x/account-connection-attempts.d.ts +1 -1
  186. package/resources/x/account-connection-attempts.js +1 -1
  187. package/resources/x/account-connection-attempts.mjs +1 -1
  188. package/resources/x/account-connection-challenges.d.mts +30 -11
  189. package/resources/x/account-connection-challenges.d.mts.map +1 -1
  190. package/resources/x/account-connection-challenges.d.ts +30 -11
  191. package/resources/x/account-connection-challenges.d.ts.map +1 -1
  192. package/resources/x/account-connection-challenges.js +5 -4
  193. package/resources/x/account-connection-challenges.js.map +1 -1
  194. package/resources/x/account-connection-challenges.mjs +5 -4
  195. package/resources/x/account-connection-challenges.mjs.map +1 -1
  196. package/resources/x/accounts.d.mts +38 -10
  197. package/resources/x/accounts.d.mts.map +1 -1
  198. package/resources/x/accounts.d.ts +38 -10
  199. package/resources/x/accounts.d.ts.map +1 -1
  200. package/resources/x/accounts.js +8 -7
  201. package/resources/x/accounts.js.map +1 -1
  202. package/resources/x/accounts.mjs +8 -7
  203. package/resources/x/accounts.mjs.map +1 -1
  204. package/resources/x/analysis.d.mts +3274 -0
  205. package/resources/x/analysis.d.mts.map +1 -0
  206. package/resources/x/analysis.d.ts +3274 -0
  207. package/resources/x/analysis.d.ts.map +1 -0
  208. package/resources/x/analysis.js +132 -0
  209. package/resources/x/analysis.js.map +1 -0
  210. package/resources/x/analysis.mjs +128 -0
  211. package/resources/x/analysis.mjs.map +1 -0
  212. package/resources/x/bookmarks.d.mts +84 -9
  213. package/resources/x/bookmarks.d.mts.map +1 -1
  214. package/resources/x/bookmarks.d.ts +84 -9
  215. package/resources/x/bookmarks.d.ts.map +1 -1
  216. package/resources/x/bookmarks.js +6 -4
  217. package/resources/x/bookmarks.js.map +1 -1
  218. package/resources/x/bookmarks.mjs +6 -4
  219. package/resources/x/bookmarks.mjs.map +1 -1
  220. package/resources/x/broadcasts.d.mts +176 -0
  221. package/resources/x/broadcasts.d.mts.map +1 -0
  222. package/resources/x/broadcasts.d.ts +176 -0
  223. package/resources/x/broadcasts.d.ts.map +1 -0
  224. package/resources/x/broadcasts.js +29 -0
  225. package/resources/x/broadcasts.js.map +1 -0
  226. package/resources/x/broadcasts.mjs +25 -0
  227. package/resources/x/broadcasts.mjs.map +1 -0
  228. package/resources/x/communities/communities.d.mts +612 -128
  229. package/resources/x/communities/communities.d.mts.map +1 -1
  230. package/resources/x/communities/communities.d.ts +612 -128
  231. package/resources/x/communities/communities.d.ts.map +1 -1
  232. package/resources/x/communities/communities.js +96 -17
  233. package/resources/x/communities/communities.js.map +1 -1
  234. package/resources/x/communities/communities.mjs +96 -17
  235. package/resources/x/communities/communities.mjs.map +1 -1
  236. package/resources/x/communities/index.d.mts +2 -1
  237. package/resources/x/communities/index.d.mts.map +1 -1
  238. package/resources/x/communities/index.d.ts +2 -1
  239. package/resources/x/communities/index.d.ts.map +1 -1
  240. package/resources/x/communities/index.js +3 -1
  241. package/resources/x/communities/index.js.map +1 -1
  242. package/resources/x/communities/index.mjs +1 -0
  243. package/resources/x/communities/index.mjs.map +1 -1
  244. package/resources/x/communities/join.d.mts +46 -25
  245. package/resources/x/communities/join.d.mts.map +1 -1
  246. package/resources/x/communities/join.d.ts +46 -25
  247. package/resources/x/communities/join.d.ts.map +1 -1
  248. package/resources/x/communities/join.js +10 -7
  249. package/resources/x/communities/join.js.map +1 -1
  250. package/resources/x/communities/join.mjs +10 -7
  251. package/resources/x/communities/join.mjs.map +1 -1
  252. package/resources/x/communities/media.d.mts +197 -0
  253. package/resources/x/communities/media.d.mts.map +1 -0
  254. package/resources/x/communities/media.d.ts +197 -0
  255. package/resources/x/communities/media.d.ts.map +1 -0
  256. package/resources/x/communities/media.js +29 -0
  257. package/resources/x/communities/media.js.map +1 -0
  258. package/resources/x/communities/media.mjs +25 -0
  259. package/resources/x/communities/media.mjs.map +1 -0
  260. package/resources/x/communities/tweets.d.mts +350 -20
  261. package/resources/x/communities/tweets.d.mts.map +1 -1
  262. package/resources/x/communities/tweets.d.ts +350 -20
  263. package/resources/x/communities/tweets.d.ts.map +1 -1
  264. package/resources/x/communities/tweets.js +8 -7
  265. package/resources/x/communities/tweets.js.map +1 -1
  266. package/resources/x/communities/tweets.mjs +8 -7
  267. package/resources/x/communities/tweets.mjs.map +1 -1
  268. package/resources/x/dm.d.mts +245 -13
  269. package/resources/x/dm.d.mts.map +1 -1
  270. package/resources/x/dm.d.ts +245 -13
  271. package/resources/x/dm.d.ts.map +1 -1
  272. package/resources/x/dm.js +29 -2
  273. package/resources/x/dm.js.map +1 -1
  274. package/resources/x/dm.mjs +29 -2
  275. package/resources/x/dm.mjs.map +1 -1
  276. package/resources/x/followers.d.mts +31 -3
  277. package/resources/x/followers.d.mts.map +1 -1
  278. package/resources/x/followers.d.ts +31 -3
  279. package/resources/x/followers.d.ts.map +1 -1
  280. package/resources/x/followers.js +2 -1
  281. package/resources/x/followers.js.map +1 -1
  282. package/resources/x/followers.mjs +2 -1
  283. package/resources/x/followers.mjs.map +1 -1
  284. package/resources/x/index.d.mts +12 -8
  285. package/resources/x/index.d.mts.map +1 -1
  286. package/resources/x/index.d.ts +12 -8
  287. package/resources/x/index.d.ts.map +1 -1
  288. package/resources/x/index.js +9 -1
  289. package/resources/x/index.js.map +1 -1
  290. package/resources/x/index.mjs +5 -1
  291. package/resources/x/index.mjs.map +1 -1
  292. package/resources/x/jobs.d.mts +506 -0
  293. package/resources/x/jobs.d.mts.map +1 -0
  294. package/resources/x/jobs.d.ts +506 -0
  295. package/resources/x/jobs.d.ts.map +1 -0
  296. package/resources/x/jobs.js +60 -0
  297. package/resources/x/jobs.js.map +1 -0
  298. package/resources/x/jobs.mjs +56 -0
  299. package/resources/x/jobs.mjs.map +1 -0
  300. package/resources/x/lists.d.mts +1058 -27
  301. package/resources/x/lists.d.mts.map +1 -1
  302. package/resources/x/lists.d.ts +1058 -27
  303. package/resources/x/lists.d.ts.map +1 -1
  304. package/resources/x/lists.js +39 -9
  305. package/resources/x/lists.js.map +1 -1
  306. package/resources/x/lists.mjs +39 -9
  307. package/resources/x/lists.mjs.map +1 -1
  308. package/resources/x/media.d.mts +24 -13
  309. package/resources/x/media.d.mts.map +1 -1
  310. package/resources/x/media.d.ts +24 -13
  311. package/resources/x/media.d.ts.map +1 -1
  312. package/resources/x/media.js +2 -2
  313. package/resources/x/media.mjs +2 -2
  314. package/resources/x/profile.d.mts +60 -33
  315. package/resources/x/profile.d.mts.map +1 -1
  316. package/resources/x/profile.d.ts +60 -33
  317. package/resources/x/profile.d.ts.map +1 -1
  318. package/resources/x/profile.js +3 -3
  319. package/resources/x/profile.mjs +3 -3
  320. package/resources/x/spaces.d.mts +857 -0
  321. package/resources/x/spaces.d.mts.map +1 -0
  322. package/resources/x/spaces.d.ts +857 -0
  323. package/resources/x/spaces.d.ts.map +1 -0
  324. package/resources/x/spaces.js +58 -0
  325. package/resources/x/spaces.js.map +1 -0
  326. package/resources/x/spaces.mjs +54 -0
  327. package/resources/x/spaces.mjs.map +1 -0
  328. package/resources/x/tweets/index.d.mts +1 -1
  329. package/resources/x/tweets/index.d.mts.map +1 -1
  330. package/resources/x/tweets/index.d.ts +1 -1
  331. package/resources/x/tweets/index.d.ts.map +1 -1
  332. package/resources/x/tweets/index.js.map +1 -1
  333. package/resources/x/tweets/index.mjs.map +1 -1
  334. package/resources/x/tweets/like.d.mts +38 -20
  335. package/resources/x/tweets/like.d.mts.map +1 -1
  336. package/resources/x/tweets/like.d.ts +38 -20
  337. package/resources/x/tweets/like.d.ts.map +1 -1
  338. package/resources/x/tweets/like.js +2 -2
  339. package/resources/x/tweets/like.mjs +2 -2
  340. package/resources/x/tweets/retweet.d.mts +38 -20
  341. package/resources/x/tweets/retweet.d.mts.map +1 -1
  342. package/resources/x/tweets/retweet.d.ts +38 -20
  343. package/resources/x/tweets/retweet.d.ts.map +1 -1
  344. package/resources/x/tweets/retweet.js +2 -2
  345. package/resources/x/tweets/retweet.mjs +2 -2
  346. package/resources/x/tweets/tweets.d.mts +2639 -326
  347. package/resources/x/tweets/tweets.d.mts.map +1 -1
  348. package/resources/x/tweets/tweets.d.ts +2639 -326
  349. package/resources/x/tweets/tweets.d.ts.map +1 -1
  350. package/resources/x/tweets/tweets.js +147 -21
  351. package/resources/x/tweets/tweets.js.map +1 -1
  352. package/resources/x/tweets/tweets.mjs +147 -21
  353. package/resources/x/tweets/tweets.mjs.map +1 -1
  354. package/resources/x/users/follow.d.mts +38 -20
  355. package/resources/x/users/follow.d.mts.map +1 -1
  356. package/resources/x/users/follow.d.ts +38 -20
  357. package/resources/x/users/follow.d.ts.map +1 -1
  358. package/resources/x/users/follow.js +2 -2
  359. package/resources/x/users/follow.mjs +2 -2
  360. package/resources/x/users/index.d.mts +1 -1
  361. package/resources/x/users/index.d.mts.map +1 -1
  362. package/resources/x/users/index.d.ts +1 -1
  363. package/resources/x/users/index.d.ts.map +1 -1
  364. package/resources/x/users/index.js.map +1 -1
  365. package/resources/x/users/index.mjs.map +1 -1
  366. package/resources/x/users/users.d.mts +3068 -457
  367. package/resources/x/users/users.d.mts.map +1 -1
  368. package/resources/x/users/users.d.ts +3068 -457
  369. package/resources/x/users/users.d.ts.map +1 -1
  370. package/resources/x/users/users.js +205 -22
  371. package/resources/x/users/users.js.map +1 -1
  372. package/resources/x/users/users.mjs +205 -22
  373. package/resources/x/users/users.mjs.map +1 -1
  374. package/resources/x/write-actions.d.mts +13 -6
  375. package/resources/x/write-actions.d.mts.map +1 -1
  376. package/resources/x/write-actions.d.ts +13 -6
  377. package/resources/x/write-actions.d.ts.map +1 -1
  378. package/resources/x/write-actions.js +1 -1
  379. package/resources/x/write-actions.mjs +1 -1
  380. package/resources/x/x.d.mts +864 -27
  381. package/resources/x/x.d.mts.map +1 -1
  382. package/resources/x/x.d.ts +864 -27
  383. package/resources/x/x.d.ts.map +1 -1
  384. package/resources/x/x.js +78 -5
  385. package/resources/x/x.js.map +1 -1
  386. package/resources/x/x.mjs +80 -7
  387. package/resources/x/x.mjs.map +1 -1
  388. package/skills/x-twitter-scraper/SKILL.md +97 -350
  389. package/skills/x-twitter-scraper/metadata.json +3 -9
  390. package/skills/x-twitter-scraper/references/draws.md +24 -24
  391. package/skills/x-twitter-scraper/references/extractions.md +71 -62
  392. package/skills/x-twitter-scraper/references/mcp-setup.md +36 -39
  393. package/skills/x-twitter-scraper/references/mcp-tools.md +105 -166
  394. package/skills/x-twitter-scraper/references/python-examples.md +5 -5
  395. package/skills/x-twitter-scraper/references/security.md +8 -8
  396. package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +4 -4
  397. package/skills/x-twitter-scraper/references/types.md +0 -1
  398. package/skills/x-twitter-scraper/references/usage.md +5 -5
  399. package/skills/x-twitter-scraper/references/webhooks.md +28 -31
  400. package/skills/x-twitter-scraper/references/workflows.md +70 -71
  401. package/skills/x-twitter-scraper/skill-card.md +13 -14
  402. package/skills/x-twitter-scraper/skillspector-report.md +8 -5
  403. package/skills/xquik-account-automation/LICENSE +21 -0
  404. package/skills/xquik-account-automation/SKILL.md +91 -0
  405. package/skills/xquik-social-research/SKILL.md +49 -56
  406. package/src/client.ts +47 -4
  407. package/src/core/streaming.ts +328 -0
  408. package/src/internal/decoders/line.ts +140 -0
  409. package/src/internal/parse.ts +9 -0
  410. package/src/resources/account.ts +41 -12
  411. package/src/resources/compose.ts +77 -21
  412. package/src/resources/credits.ts +19 -10
  413. package/src/resources/drafts.ts +13 -22
  414. package/src/resources/draws.ts +94 -36
  415. package/src/resources/events.ts +3225 -68
  416. package/src/resources/extractions.ts +512 -125
  417. package/src/resources/guest-wallets.ts +6 -5
  418. package/src/resources/index.ts +24 -1
  419. package/src/resources/monitors/index.ts +2 -0
  420. package/src/resources/monitors/keywords.ts +82 -14
  421. package/src/resources/monitors/monitors.ts +66 -14
  422. package/src/resources/radar.ts +32 -36
  423. package/src/resources/shared.ts +2227 -351
  424. package/src/resources/styles.ts +43 -27
  425. package/src/resources/subscribe.ts +1 -1
  426. package/src/resources/support/index.ts +1 -0
  427. package/src/resources/support/support.ts +2 -0
  428. package/src/resources/support/tickets.ts +38 -10
  429. package/src/resources/trends.ts +23 -5
  430. package/src/resources/webhooks.ts +109 -15
  431. package/src/resources/x/account-connection-attempts.ts +1 -1
  432. package/src/resources/x/account-connection-challenges.ts +39 -11
  433. package/src/resources/x/accounts.ts +46 -10
  434. package/src/resources/x/analysis.ts +3947 -0
  435. package/src/resources/x/bookmarks.ts +103 -9
  436. package/src/resources/x/broadcasts.ts +225 -0
  437. package/src/resources/x/communities/communities.ts +743 -141
  438. package/src/resources/x/communities/index.ts +9 -0
  439. package/src/resources/x/communities/join.ts +46 -23
  440. package/src/resources/x/communities/media.ts +251 -0
  441. package/src/resources/x/communities/tweets.ts +427 -20
  442. package/src/resources/x/dm.ts +334 -11
  443. package/src/resources/x/followers.ts +35 -3
  444. package/src/resources/x/index.ts +106 -1
  445. package/src/resources/x/jobs.ts +627 -0
  446. package/src/resources/x/lists.ts +1307 -28
  447. package/src/resources/x/media.ts +24 -12
  448. package/src/resources/x/profile.ts +60 -30
  449. package/src/resources/x/spaces.ts +1076 -0
  450. package/src/resources/x/tweets/index.ts +18 -0
  451. package/src/resources/x/tweets/like.ts +38 -18
  452. package/src/resources/x/tweets/retweet.ts +38 -18
  453. package/src/resources/x/tweets/tweets.ts +3695 -843
  454. package/src/resources/x/users/follow.ts +38 -18
  455. package/src/resources/x/users/index.ts +22 -0
  456. package/src/resources/x/users/users.ts +3687 -465
  457. package/src/resources/x/write-actions.ts +13 -5
  458. package/src/resources/x/x.ts +1227 -15
  459. package/src/streaming.ts +6 -0
  460. package/src/version.ts +1 -1
  461. package/streaming.d.mts +3 -0
  462. package/streaming.d.mts.map +1 -0
  463. package/streaming.d.ts +3 -0
  464. package/streaming.d.ts.map +1 -0
  465. package/streaming.js +9 -0
  466. package/streaming.js.map +1 -0
  467. package/streaming.mjs +6 -0
  468. package/streaming.mjs.map +1 -0
  469. package/version.d.mts +1 -1
  470. package/version.d.ts +1 -1
  471. package/version.js +1 -1
  472. package/version.mjs +1 -1
  473. package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +0 -15
@@ -1,21 +1,24 @@
1
1
  import { APIResource } from "../core/resource.mjs";
2
+ import * as Shared from "./shared.mjs";
2
3
  import { APIPromise } from "../core/api-promise.mjs";
3
4
  import { RequestOptions } from "../internal/request-options.mjs";
4
5
  /**
5
- * Bulk data extraction (23 tool types)
6
+ * Saved or bulk data extraction (23 tool types)
6
7
  */
7
8
  export declare class Extractions extends APIResource {
8
9
  /**
9
- * Get extraction results
10
+ * Returns status and up to 1,000 results. Follow nextCursor when hasMore is true.
10
11
  *
11
12
  * @example
12
13
  * ```ts
13
- * const extraction = await client.extractions.retrieve('id');
14
+ * const extraction = await client.extractions.retrieve(
15
+ * 'L3NjAbCdEfGh',
16
+ * );
14
17
  * ```
15
18
  */
16
19
  retrieve(id: string, query?: ExtractionRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<ExtractionRetrieveResponse>;
17
20
  /**
18
- * List extraction jobs
21
+ * Returns extraction jobs with status and result counts.
19
22
  *
20
23
  * @example
21
24
  * ```ts
@@ -24,24 +27,55 @@ export declare class Extractions extends APIResource {
24
27
  */
25
28
  list(query?: ExtractionListParams | null | undefined, options?: RequestOptions): APIPromise<ExtractionListResponse>;
26
29
  /**
27
- * Estimate extraction cost
30
+ * Cancels an active extraction without charging or saving rows.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const response = await client.extractions.cancel(
35
+ * 'L3NjAbCdEfGh',
36
+ * );
37
+ * ```
38
+ */
39
+ cancel(id: string, options?: RequestOptions): APIPromise<ExtractionCancelResponse>;
40
+ /**
41
+ * Estimates extraction cost without creating a job.
28
42
  *
29
43
  * @example
30
44
  * ```ts
31
45
  * const response = await client.extractions.estimateCost({
32
46
  * toolType: 'follower_explorer',
33
- * targetUsername: 'elonmusk',
47
+ * bioContains: 'space, astronomy',
48
+ * businessEmailOnly: true,
49
+ * emailDomains: 'nasa.gov',
50
+ * enrichProfiles: true,
51
+ * hasEmail: true,
52
+ * hasLocation: true,
53
+ * hasWebsite: true,
54
+ * locationContains: 'Houston',
55
+ * maxFollowers: 1000000,
56
+ * maxFollowing: 5000,
57
+ * maxPosts: 100000,
58
+ * minAccountAgeDays: 365,
59
+ * minFollowers: 1000,
60
+ * minFollowing: 10,
61
+ * minPosts: 100,
62
+ * resultsLimit: 500,
63
+ * targetUsername: 'NASA',
64
+ * usernameContains: 'space',
65
+ * verifiedType: 'Business',
34
66
  * });
35
67
  * ```
36
68
  */
37
69
  estimateCost(body: ExtractionEstimateCostParams, options?: RequestOptions): APIPromise<ExtractionEstimateCostResponse>;
38
70
  /**
39
- * Export extraction results
71
+ * Downloads completed extraction results in the requested format. JSON rows also
72
+ * keep each result's nested `enrichmentData`, as `GET /extractions/{id}` returns
73
+ * it.
40
74
  *
41
75
  * @example
42
76
  * ```ts
43
77
  * const response = await client.extractions.exportResults(
44
- * 'id',
78
+ * 'L3NjAbCdEfGh',
45
79
  * { format: 'csv' },
46
80
  * );
47
81
  *
@@ -51,13 +85,32 @@ export declare class Extractions extends APIResource {
51
85
  */
52
86
  exportResults(id: string, query: ExtractionExportResultsParams, options?: RequestOptions): APIPromise<Response>;
53
87
  /**
54
- * Run extraction
88
+ * Starts one single-target or multi-target extraction. Follow waitUrl, then page
89
+ * statusUrl after completion.
55
90
  *
56
91
  * @example
57
92
  * ```ts
58
93
  * const response = await client.extractions.run({
59
94
  * toolType: 'follower_explorer',
60
- * targetUsername: 'elonmusk',
95
+ * bioContains: 'space, astronomy',
96
+ * businessEmailOnly: true,
97
+ * emailDomains: 'nasa.gov',
98
+ * enrichProfiles: true,
99
+ * hasEmail: true,
100
+ * hasLocation: true,
101
+ * hasWebsite: true,
102
+ * locationContains: 'Houston',
103
+ * maxFollowers: 1000000,
104
+ * maxFollowing: 5000,
105
+ * maxPosts: 100000,
106
+ * minAccountAgeDays: 365,
107
+ * minFollowers: 1000,
108
+ * minFollowing: 10,
109
+ * minPosts: 100,
110
+ * resultsLimit: 500,
111
+ * targetUsername: 'NASA',
112
+ * usernameContains: 'space',
113
+ * verifiedType: 'Business',
61
114
  * });
62
115
  * ```
63
116
  */
@@ -69,51 +122,182 @@ export declare class Extractions extends APIResource {
69
122
  export interface ExtractionJob {
70
123
  id: string;
71
124
  createdAt: string;
72
- status: 'running' | 'completed' | 'failed';
125
+ status: 'pending' | 'running' | 'canceled' | 'completed' | 'failed';
73
126
  /**
74
127
  * Identifier for the extraction tool used to run a job.
75
128
  */
76
129
  toolType: 'article_extractor' | 'community_extractor' | 'community_moderator_explorer' | 'community_post_extractor' | 'community_search' | 'favoriters' | 'follower_explorer' | 'following_explorer' | 'list_follower_explorer' | 'list_member_extractor' | 'list_post_extractor' | 'mention_extractor' | 'people_search' | 'post_extractor' | 'quote_extractor' | 'reply_extractor' | 'repost_extractor' | 'space_explorer' | 'thread_extractor' | 'tweet_search_extractor' | 'user_likes' | 'user_media' | 'verified_follower_explorer';
130
+ /**
131
+ * Whole number from 0.
132
+ */
77
133
  totalResults: number;
78
134
  completedAt?: string;
135
+ /**
136
+ * Why a terminal job stopped.
137
+ */
138
+ completionReason?: 'budget_limited' | 'canceled' | 'deadline_reached' | 'failed' | 'pagination_safety_limit' | 'partial_failure' | 'requested_limit_reached' | 'source_exhausted';
139
+ /**
140
+ * Result limit after affordability checks.
141
+ */
142
+ effectiveResultsLimit?: number;
143
+ /**
144
+ * Safe error code for a failed job.
145
+ */
146
+ errorMessage?: string;
147
+ /**
148
+ * Requested result limit.
149
+ */
150
+ resultsLimit?: number;
79
151
  }
80
152
  export interface ExtractionRetrieveResponse {
81
153
  hasMore: boolean;
82
154
  /**
83
- * Extraction job metadata - shape varies by tool type (JSON)
155
+ * Extraction job tracking status, tool type, and result count.
84
156
  */
85
- job: {
86
- [key: string]: unknown;
87
- };
88
- results: Array<{
89
- [key: string]: unknown;
90
- }>;
157
+ job: ExtractionJob;
158
+ pollAfterMs: number;
159
+ results: Array<ExtractionRetrieveResponse.Result>;
160
+ waitUrl: string;
91
161
  nextCursor?: string;
92
162
  }
163
+ export declare namespace ExtractionRetrieveResponse {
164
+ /**
165
+ * Represents a public row across supported extraction modes.
166
+ */
167
+ interface Result {
168
+ id: string;
169
+ createdAt: string;
170
+ xUserId: string;
171
+ /**
172
+ * Whole number from 0.
173
+ */
174
+ bookmarkCount?: number;
175
+ /**
176
+ * First email the account publishes on its profile, with outputPreset=flat.
177
+ * Default nested output uses enrichmentData.user.email, beside
178
+ * enrichmentData.user.contactInfo. Absent when the profile publishes none.
179
+ */
180
+ email?: string;
181
+ /**
182
+ * Public metadata whose fields are defined by X.
183
+ */
184
+ enrichmentData?: {
185
+ [key: string]: unknown;
186
+ };
187
+ /**
188
+ * Whole number from 0.
189
+ */
190
+ likeCount?: number;
191
+ /**
192
+ * Attached media with outputPreset=flat. Default nested output uses
193
+ * enrichmentData.tweet.media.
194
+ */
195
+ media?: Array<Shared.TweetMedia>;
196
+ /**
197
+ * Whole number from 0.
198
+ */
199
+ quoteCount?: number;
200
+ /**
201
+ * Whole number from 0.
202
+ */
203
+ replyCount?: number;
204
+ /**
205
+ * Whole number from 0.
206
+ */
207
+ retweetCount?: number;
208
+ tweetCreatedAt?: string;
209
+ tweetId?: string;
210
+ tweetText?: string;
211
+ tweetUrl?: string;
212
+ /**
213
+ * Whole number from 0.
214
+ */
215
+ viewCount?: number;
216
+ xDisplayName?: string;
217
+ /**
218
+ * Followers of the account. Absent when X sends no count, as for the hosts &
219
+ * speakers of a Space, and never 0 in its place.
220
+ */
221
+ xFollowersCount?: number;
222
+ xProfileImageUrl?: string;
223
+ xUsername?: string;
224
+ xVerified?: boolean;
225
+ [k: string]: unknown;
226
+ }
227
+ }
93
228
  export interface ExtractionListResponse {
94
229
  extractions: Array<ExtractionJob>;
95
230
  hasMore: boolean;
96
231
  nextCursor?: string;
97
232
  }
233
+ export interface ExtractionCancelResponse {
234
+ id: string;
235
+ status: 'canceled';
236
+ }
237
+ /**
238
+ * Free conservative cost estimate. Post estimates use the supported cap & refuse a
239
+ * protected profile. It never creates a job or charges.
240
+ */
98
241
  export interface ExtractionEstimateCostResponse {
242
+ /**
243
+ * Whether the balance covers the full estimate.
244
+ */
99
245
  allowed: boolean;
100
246
  creditsAvailable: string;
101
247
  creditsRequired: string;
248
+ /**
249
+ * Credit calculation row count, not source availability.
250
+ */
102
251
  estimatedResults: number;
103
- source: 'followers' | 'following' | 'collection' | 'paginationCap' | 'posts' | 'quoteCount' | 'replyCount' | 'resultsLimit' | 'retweetCount' | 'unknown';
252
+ source: 'followers' | 'following' | 'collection' | 'likeCount' | 'paginationCap' | 'quoteCount' | 'replyCount' | 'resultsLimit' | 'retweetCount' | 'unknown';
253
+ /**
254
+ * Resolved X user ID from count-based profile estimates.
255
+ */
104
256
  resolvedXUserId?: string;
105
257
  }
106
- export interface ExtractionRunResponse {
107
- allowed: boolean;
108
- creditsAvailable: string;
109
- creditsRequired: string;
110
- estimatedResults: number;
111
- source: string;
112
- resolvedXUserId?: string;
258
+ /**
259
+ * Free conservative cost estimate. Post estimates use the supported cap & refuse a
260
+ * protected profile. It never creates a job or charges.
261
+ */
262
+ export type ExtractionRunResponse = ExtractionRunResponse.ExtractionEstimate | ExtractionRunResponse.Accepted;
263
+ export declare namespace ExtractionRunResponse {
264
+ /**
265
+ * Free conservative cost estimate. Post estimates use the supported cap & refuse a
266
+ * protected profile. It never creates a job or charges.
267
+ */
268
+ interface ExtractionEstimate {
269
+ /**
270
+ * Whether the balance covers the full estimate.
271
+ */
272
+ allowed: boolean;
273
+ creditsAvailable: string;
274
+ creditsRequired: string;
275
+ /**
276
+ * Credit calculation row count, not source availability.
277
+ */
278
+ estimatedResults: number;
279
+ source: 'followers' | 'following' | 'collection' | 'likeCount' | 'paginationCap' | 'quoteCount' | 'replyCount' | 'resultsLimit' | 'retweetCount' | 'unknown';
280
+ /**
281
+ * Resolved X user ID from count-based profile estimates.
282
+ */
283
+ resolvedXUserId?: string;
284
+ }
285
+ interface Accepted {
286
+ id: string;
287
+ pollAfterMs: number;
288
+ status: 'pending' | 'running' | 'canceled' | 'completed' | 'failed';
289
+ statusUrl: string;
290
+ /**
291
+ * Identifier for the extraction tool used to run a job.
292
+ */
293
+ toolType: 'article_extractor' | 'community_extractor' | 'community_moderator_explorer' | 'community_post_extractor' | 'community_search' | 'favoriters' | 'follower_explorer' | 'following_explorer' | 'list_follower_explorer' | 'list_member_extractor' | 'list_post_extractor' | 'mention_extractor' | 'people_search' | 'post_extractor' | 'quote_extractor' | 'reply_extractor' | 'repost_extractor' | 'space_explorer' | 'thread_extractor' | 'tweet_search_extractor' | 'user_likes' | 'user_media' | 'verified_follower_explorer';
294
+ waitUrl: string;
295
+ }
113
296
  }
114
297
  export interface ExtractionRetrieveParams {
115
298
  /**
116
- * Previous nextCursor.
299
+ * Previous nextCursor. The after alias also works. Offset pagination is not
300
+ * supported.
117
301
  */
118
302
  cursor?: string;
119
303
  /**
@@ -125,34 +309,38 @@ export interface ExtractionRetrieveParams {
125
309
  */
126
310
  includeRaw?: boolean;
127
311
  /**
128
- * Maximum number of results to return (1-1000, default 100)
312
+ * Maximum results per page (1-1000, default 100).
129
313
  */
130
314
  limit?: number;
131
315
  /**
132
- * Select compact, full, or raw-compatible result fields.
316
+ * Use compact for core fields and tweet counts, full for nested enrichment, or raw
317
+ * for a source copy.
133
318
  */
134
319
  outputMode?: 'compact' | 'full' | 'raw';
135
320
  /**
136
321
  * Keep enrichment nested or merge it into each result.
137
322
  */
138
323
  outputPreset?: 'nested' | 'flat';
324
+ /**
325
+ * Wait up to this many seconds when the job is active.
326
+ */
327
+ wait?: number;
139
328
  }
140
329
  export interface ExtractionListParams {
141
330
  /**
142
- * Previous nextCursor.
331
+ * Previous nextCursor. The after alias also works. Offset pagination is not
332
+ * supported.
143
333
  */
144
334
  cursor?: string;
145
335
  /**
146
- * Maximum number of items to return (1-100, default 50). For paid per-result
147
- * endpoints, the returned count may be lower when available usage balance cannot cover
148
- * the requested page. If zero paid results are affordable, the endpoint returns
149
- * 402 insufficient_credits.
336
+ * Maximum items per page: 1 to 100, default 50. Credits can reduce paid results.
337
+ * With none affordable, it returns 402 insufficient_credits.
150
338
  */
151
339
  limit?: number;
152
340
  /**
153
341
  * Filter by job status
154
342
  */
155
- status?: 'running' | 'completed' | 'failed';
343
+ status?: 'pending' | 'running' | 'canceled' | 'completed' | 'failed';
156
344
  /**
157
345
  * Filter by extraction tool type
158
346
  */
@@ -168,16 +356,16 @@ export interface ExtractionEstimateCostParams {
168
356
  */
169
357
  advancedQuery?: string;
170
358
  /**
171
- * Words or quoted phrases where any one can match. Separate with spaces, commas,
172
- * or lines. (tweet_search_extractor)
359
+ * Any matching term or phrase (tweet_search_extractor).
173
360
  */
174
361
  anyWords?: string;
175
362
  /**
176
- * Bio terms separated by commas or lines.
363
+ * Match any bio term, ignoring case. Separate terms with commas or lines.
177
364
  */
178
365
  bioContains?: string;
179
366
  /**
180
- * Return only Blue-verified Tweet authors.
367
+ * Return only Blue-verified Tweet authors. On a tool that returns users, return
368
+ * only profiles X marks as blue verified.
181
369
  */
182
370
  blueVerifiedOnly?: boolean;
183
371
  /**
@@ -185,11 +373,15 @@ export interface ExtractionEstimateCostParams {
185
373
  */
186
374
  boundingBox?: string;
187
375
  /**
188
- * Match the Tweet card name.
376
+ * Require an email the profile publishes outside free webmail, such as Gmail.
377
+ */
378
+ businessEmailOnly?: boolean;
379
+ /**
380
+ * Require Tweet cards whose name matches this value.
189
381
  */
190
382
  cardName?: string;
191
383
  /**
192
- * Cashtags separated by spaces, commas, or lines. (tweet_search_extractor)
384
+ * Matching cashtags (tweet_search_extractor).
193
385
  */
194
386
  cashtags?: string;
195
387
  /**
@@ -208,6 +400,17 @@ export interface ExtractionEstimateCostParams {
208
400
  * Keep target duplicates, first rows, or merged overlap.
209
401
  */
210
402
  dedupeMode?: 'none' | 'first' | 'merge';
403
+ /**
404
+ * Require an email at one of these domains. Separate domains with commas.
405
+ * Subdomains match.
406
+ */
407
+ emailDomains?: string;
408
+ /**
409
+ * Add each user's full profile to follower_explorer, following_explorer,
410
+ * verified_follower_explorer, people_search & repost_extractor rows. Jobs take
411
+ * longer.
412
+ */
413
+ enrichProfiles?: boolean;
211
414
  /**
212
415
  * Exact phrase to match (tweet_search_extractor)
213
416
  */
@@ -217,12 +420,13 @@ export interface ExtractionEstimateCostParams {
217
420
  */
218
421
  excludeOriginalAuthor?: boolean;
219
422
  /**
220
- * Exclude a source application.
423
+ * X search ignores excludeSource, so an extraction with it returns unfiltered
424
+ * rows. Its answers carry `Deprecation` & `Sunset` headers. From 2027-01-15 an
425
+ * extraction with it answers 424 `search_unavailable` & charges nothing.
221
426
  */
222
427
  excludeSource?: string;
223
428
  /**
224
- * Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
225
- * (tweet_search_extractor)
429
+ * Excluded terms or phrases (tweet_search_extractor).
226
430
  */
227
431
  excludeWords?: string;
228
432
  /**
@@ -230,11 +434,16 @@ export interface ExtractionEstimateCostParams {
230
434
  */
231
435
  fromUser?: string;
232
436
  /**
233
- * Match latitude, longitude, and radius.
437
+ * X search no longer supports geocode. An extraction with it answers 424
438
+ * `search_unavailable` & charges nothing.
234
439
  */
235
440
  geocode?: string;
236
441
  /**
237
- * Hashtags separated by spaces, commas, or lines. (tweet_search_extractor)
442
+ * Require an email the profile publishes.
443
+ */
444
+ hasEmail?: boolean;
445
+ /**
446
+ * Matching hashtags (tweet_search_extractor).
238
447
  */
239
448
  hashtags?: string;
240
449
  /**
@@ -266,7 +475,7 @@ export interface ExtractionEstimateCostParams {
266
475
  */
267
476
  inReplyToTweetId?: string;
268
477
  /**
269
- * Language code filter (tweet_search_extractor)
478
+ * Tweet or Community search language.
270
479
  */
271
480
  language?: string;
272
481
  /**
@@ -290,7 +499,7 @@ export interface ExtractionEstimateCostParams {
290
499
  */
291
500
  maxFollowing?: number;
292
501
  /**
293
- * Return Tweets older than this Tweet ID.
502
+ * Require Tweet IDs at or below this ID.
294
503
  */
295
504
  maxId?: string;
296
505
  /**
@@ -322,11 +531,11 @@ export interface ExtractionEstimateCostParams {
322
531
  */
323
532
  maxRetweets?: number;
324
533
  /**
325
- * Media type filter (tweet_search_extractor)
534
+ * Tweet or Community search media.
326
535
  */
327
536
  mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
328
537
  /**
329
- * Filter tweets mentioning a username (tweet_search_extractor)
538
+ * Mentions this username (tweet_search_extractor).
330
539
  */
331
540
  mentioning?: string;
332
541
  /**
@@ -338,7 +547,7 @@ export interface ExtractionEstimateCostParams {
338
547
  */
339
548
  minBookmarks?: number;
340
549
  /**
341
- * Minimum likes threshold (tweet_search_extractor)
550
+ * Tweet or Community search minimum likes.
342
551
  */
343
552
  minFaves?: number;
344
553
  /**
@@ -358,27 +567,28 @@ export interface ExtractionEstimateCostParams {
358
567
  */
359
568
  minQuotes?: number;
360
569
  /**
361
- * Minimum replies threshold (tweet_search_extractor)
570
+ * Tweet or Community search minimum replies.
362
571
  */
363
572
  minReplies?: number;
364
573
  /**
365
- * Minimum retweets threshold (tweet_search_extractor)
574
+ * Tweet or Community search minimum reposts.
366
575
  */
367
576
  minRetweets?: number;
368
577
  /**
369
- * Minimum Tweet view count.
578
+ * Tweet or Community search minimum views.
370
579
  */
371
580
  minViews?: number;
372
581
  /**
373
- * Only return native reposts.
582
+ * Tweet or Community search native reposts.
374
583
  */
375
584
  nativeRetweets?: boolean;
376
585
  /**
377
- * Match a place name.
586
+ * Restrict Tweet search to this place name.
378
587
  */
379
588
  near?: string;
380
589
  /**
381
- * Only return news results.
590
+ * X search no longer supports filter:news. An extraction with news true answers
591
+ * 424 `search_unavailable` & charges nothing.
382
592
  */
383
593
  news?: boolean;
384
594
  /**
@@ -398,11 +608,11 @@ export interface ExtractionEstimateCostParams {
398
608
  */
399
609
  pointRadius?: string;
400
610
  /**
401
- * Search ranking applied to every query.
611
+ * Use Top for engagement. The relevance alias maps to Top.
402
612
  */
403
- queryType?: 'Latest' | 'Top' | 'Both';
613
+ queryType?: 'Latest' | 'Top' | 'Both' | 'relevance';
404
614
  /**
405
- * Quote mode (tweet_search_extractor)
615
+ * Choose whether tweet search includes, excludes, or isolates quotes.
406
616
  */
407
617
  quotes?: 'include' | 'exclude' | 'only';
408
618
  /**
@@ -410,20 +620,21 @@ export interface ExtractionEstimateCostParams {
410
620
  */
411
621
  quotesOfTweetId?: string;
412
622
  /**
413
- * Profile relations processed within one job.
623
+ * Profile relations processed within one job. Protected profiles are skipped & the
624
+ * job ends with partial_failure.
414
625
  */
415
626
  relationTargets?: Array<ExtractionEstimateCostParams.RelationTarget>;
416
627
  /**
417
- * Reply mode (tweet_search_extractor)
628
+ * Choose whether tweet search includes, excludes, or isolates replies.
418
629
  */
419
630
  replies?: 'include' | 'exclude' | 'only';
420
631
  /**
421
- * Maximum number of results to extract. When set, the extraction stops after
422
- * reaching this limit.
632
+ * Maximum unique results to emit. Billing follows emitted results, not this upper
633
+ * bound.
423
634
  */
424
635
  resultsLimit?: number;
425
636
  /**
426
- * Retweet mode (tweet_search_extractor)
637
+ * Choose whether tweet search includes, excludes, or isolates reposts.
427
638
  */
428
639
  retweets?: 'include' | 'exclude' | 'only';
429
640
  /**
@@ -431,7 +642,7 @@ export interface ExtractionEstimateCostParams {
431
642
  */
432
643
  retweetsOfTweetId?: string;
433
644
  /**
434
- * Enable the safe-search filter.
645
+ * Apply safe-search filtering to Tweet results.
435
646
  */
436
647
  safe?: boolean;
437
648
  /**
@@ -439,19 +650,23 @@ export interface ExtractionEstimateCostParams {
439
650
  */
440
651
  scope?: 'all' | 'direct' | 'nested';
441
652
  /**
442
- * Search queries processed as one collection job.
653
+ * Search queries processed as one collection job. Each follows the rules of
654
+ * searchQuery, its structured fields & 512-character limit included.
443
655
  */
444
656
  searchQueries?: Array<string>;
445
657
  /**
446
- * Required for tweet_search_extractor & community_search.
658
+ * Required for tweet_search_extractor, people_search & community_search.
659
+ * tweet_search_extractor adds the structured search fields, such as fromUser &
660
+ * minFaves, to this query. X searches up to 512 characters. A longer tweet or
661
+ * people search answers 400, counted with the added fields.
447
662
  */
448
663
  searchQuery?: string;
449
664
  /**
450
- * Start date YYYY-MM-DD (tweet_search_extractor)
665
+ * Tweet or Community search start date.
451
666
  */
452
667
  sinceDate?: string;
453
668
  /**
454
- * Return Tweets newer than this Tweet ID.
669
+ * Require Tweet IDs above this ID.
455
670
  */
456
671
  sinceId?: string;
457
672
  /**
@@ -463,7 +678,8 @@ export interface ExtractionEstimateCostParams {
463
678
  */
464
679
  sort?: 'relevance' | 'latest' | 'oldest' | 'likes';
465
680
  /**
466
- * Match the source application.
681
+ * X search no longer supports source. An extraction with it answers 424
682
+ * `search_unavailable` & charges nothing.
467
683
  */
468
684
  source?: string;
469
685
  /**
@@ -488,11 +704,15 @@ export interface ExtractionEstimateCostParams {
488
704
  */
489
705
  targetListIds?: Array<string>;
490
706
  /**
491
- * Mixed targets auto-routed within one job.
707
+ * Mixed targets auto-routed within one job. Use tweet, replies, quotes, thread, or
708
+ * profile_media kinds to collect attached media. Protected profiles are skipped &
709
+ * the job ends with partial_failure.
492
710
  */
493
711
  targets?: Array<string | ExtractionEstimateCostParams.UnionMember1>;
494
712
  /**
495
- * Required for space_explorer.
713
+ * Required for space_explorer. X names a Space's hosts & speakers without counts
714
+ * or bio, so Xquik reads each one's profile. Rows carry it, & profile filters such
715
+ * as minFollowers check it.
496
716
  */
497
717
  targetSpaceId?: string;
498
718
  targetTweetId?: string;
@@ -502,15 +722,17 @@ export interface ExtractionEstimateCostParams {
502
722
  targetTweetIds?: Array<string>;
503
723
  targetUsername?: string;
504
724
  /**
505
- * Usernames processed as one collection job.
725
+ * Usernames processed concurrently in one job. With tweet_search_extractor, each
726
+ * username collects posts. Post & media jobs skip a protected profile & end with
727
+ * partial_failure.
506
728
  */
507
729
  targetUsernames?: Array<string>;
508
730
  /**
509
- * Filter replies sent to a username (tweet_search_extractor)
731
+ * Replies to this username (tweet_search_extractor).
510
732
  */
511
733
  toUser?: string;
512
734
  /**
513
- * End date YYYY-MM-DD (tweet_search_extractor)
735
+ * Tweet or Community search end date.
514
736
  */
515
737
  untilDate?: string;
516
738
  /**
@@ -526,7 +748,7 @@ export interface ExtractionEstimateCostParams {
526
748
  */
527
749
  usernameContains?: string;
528
750
  /**
529
- * Only verified authors (tweet_search_extractor)
751
+ * Tweet or Community search verified authors.
530
752
  */
531
753
  verifiedOnly?: boolean;
532
754
  /**
@@ -534,11 +756,12 @@ export interface ExtractionEstimateCostParams {
534
756
  */
535
757
  verifiedType?: string;
536
758
  /**
537
- * Set the radius for the near filter.
759
+ * X search no longer supports within. An extraction with it answers 424
760
+ * `search_unavailable` & charges nothing. Use near alone.
538
761
  */
539
762
  within?: string;
540
763
  /**
541
- * Match Tweets inside a recent time window.
764
+ * Restrict Tweets to this recent time window.
542
765
  */
543
766
  withinTime?: string;
544
767
  }
@@ -560,10 +783,23 @@ export interface ExtractionExportResultsParams {
560
783
  * Export file format
561
784
  */
562
785
  format: 'csv' | 'json' | 'md' | 'md-document' | 'pdf' | 'txt' | 'xlsx';
786
+ /**
787
+ * Require an email outside free webmail, such as Gmail, in the row's Email column.
788
+ */
789
+ businessEmailOnly?: boolean;
790
+ /**
791
+ * Require the row's email at one of these domains. Separate domains with commas.
792
+ * Subdomains match.
793
+ */
794
+ emailDomains?: string;
563
795
  /**
564
796
  * Require a non-empty description.
565
797
  */
566
798
  hasDescription?: boolean;
799
+ /**
800
+ * Require an email in the row's Email column.
801
+ */
802
+ hasEmail?: boolean;
567
803
  /**
568
804
  * Require a non-empty location.
569
805
  */
@@ -621,11 +857,15 @@ export interface ExtractionExportResultsParams {
621
857
  */
622
858
  search?: string;
623
859
  /**
624
- * Include results on or after this date.
860
+ * Include results on or after this date, from 00:00 UTC. An ISO 8601 time starts
861
+ * at that instant. Results without a post date are left out. An empty value sets
862
+ * no filter.
625
863
  */
626
864
  sinceDate?: string;
627
865
  /**
628
- * Include results on or before this date.
866
+ * Include results on or before this date, inclusive, through 23:59:59 UTC. An ISO
867
+ * 8601 time ends at that instant. Results without a post date are left out. An
868
+ * empty value sets no filter.
629
869
  */
630
870
  untilDate?: string;
631
871
  /**
@@ -647,16 +887,17 @@ export interface ExtractionRunParams {
647
887
  */
648
888
  advancedQuery?: string;
649
889
  /**
650
- * Body param: Words or quoted phrases where any one can match. Separate with
651
- * spaces, commas, or lines. (tweet_search_extractor)
890
+ * Body param: Any matching term or phrase (tweet_search_extractor).
652
891
  */
653
892
  anyWords?: string;
654
893
  /**
655
- * Body param: Bio terms separated by commas or lines.
894
+ * Body param: Match any bio term, ignoring case. Separate terms with commas or
895
+ * lines.
656
896
  */
657
897
  bioContains?: string;
658
898
  /**
659
- * Body param: Return only Blue-verified Tweet authors.
899
+ * Body param: Return only Blue-verified Tweet authors. On a tool that returns
900
+ * users, return only profiles X marks as blue verified.
660
901
  */
661
902
  blueVerifiedOnly?: boolean;
662
903
  /**
@@ -665,12 +906,16 @@ export interface ExtractionRunParams {
665
906
  */
666
907
  boundingBox?: string;
667
908
  /**
668
- * Body param: Match the Tweet card name.
909
+ * Body param: Require an email the profile publishes outside free webmail, such as
910
+ * Gmail.
911
+ */
912
+ businessEmailOnly?: boolean;
913
+ /**
914
+ * Body param: Require Tweet cards whose name matches this value.
669
915
  */
670
916
  cardName?: string;
671
917
  /**
672
- * Body param: Cashtags separated by spaces, commas, or lines.
673
- * (tweet_search_extractor)
918
+ * Body param: Matching cashtags (tweet_search_extractor).
674
919
  */
675
920
  cashtags?: string;
676
921
  /**
@@ -689,6 +934,17 @@ export interface ExtractionRunParams {
689
934
  * Body param: Keep target duplicates, first rows, or merged overlap.
690
935
  */
691
936
  dedupeMode?: 'none' | 'first' | 'merge';
937
+ /**
938
+ * Body param: Require an email at one of these domains. Separate domains with
939
+ * commas. Subdomains match.
940
+ */
941
+ emailDomains?: string;
942
+ /**
943
+ * Body param: Add each user's full profile to follower_explorer,
944
+ * following_explorer, verified_follower_explorer, people_search & repost_extractor
945
+ * rows. Jobs take longer.
946
+ */
947
+ enrichProfiles?: boolean;
692
948
  /**
693
949
  * Body param: Exact phrase to match (tweet_search_extractor)
694
950
  */
@@ -698,12 +954,14 @@ export interface ExtractionRunParams {
698
954
  */
699
955
  excludeOriginalAuthor?: boolean;
700
956
  /**
701
- * Body param: Exclude a source application.
957
+ * Body param: X search ignores excludeSource, so an extraction with it returns
958
+ * unfiltered rows. Its answers carry `Deprecation` & `Sunset` headers. From
959
+ * 2027-01-15 an extraction with it answers 424 `search_unavailable` & charges
960
+ * nothing.
702
961
  */
703
962
  excludeSource?: string;
704
963
  /**
705
- * Body param: Words or quoted phrases to exclude. Separate with spaces, commas, or
706
- * lines. (tweet_search_extractor)
964
+ * Body param: Excluded terms or phrases (tweet_search_extractor).
707
965
  */
708
966
  excludeWords?: string;
709
967
  /**
@@ -711,12 +969,16 @@ export interface ExtractionRunParams {
711
969
  */
712
970
  fromUser?: string;
713
971
  /**
714
- * Body param: Match latitude, longitude, and radius.
972
+ * Body param: X search no longer supports geocode. An extraction with it answers
973
+ * 424 `search_unavailable` & charges nothing.
715
974
  */
716
975
  geocode?: string;
717
976
  /**
718
- * Body param: Hashtags separated by spaces, commas, or lines.
719
- * (tweet_search_extractor)
977
+ * Body param: Require an email the profile publishes.
978
+ */
979
+ hasEmail?: boolean;
980
+ /**
981
+ * Body param: Matching hashtags (tweet_search_extractor).
720
982
  */
721
983
  hashtags?: string;
722
984
  /**
@@ -748,7 +1010,7 @@ export interface ExtractionRunParams {
748
1010
  */
749
1011
  inReplyToTweetId?: string;
750
1012
  /**
751
- * Body param: Language code filter (tweet_search_extractor)
1013
+ * Body param: Tweet or Community search language.
752
1014
  */
753
1015
  language?: string;
754
1016
  /**
@@ -772,7 +1034,7 @@ export interface ExtractionRunParams {
772
1034
  */
773
1035
  maxFollowing?: number;
774
1036
  /**
775
- * Body param: Return Tweets older than this Tweet ID.
1037
+ * Body param: Require Tweet IDs at or below this ID.
776
1038
  */
777
1039
  maxId?: string;
778
1040
  /**
@@ -804,11 +1066,11 @@ export interface ExtractionRunParams {
804
1066
  */
805
1067
  maxRetweets?: number;
806
1068
  /**
807
- * Body param: Media type filter (tweet_search_extractor)
1069
+ * Body param: Tweet or Community search media.
808
1070
  */
809
1071
  mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
810
1072
  /**
811
- * Body param: Filter tweets mentioning a username (tweet_search_extractor)
1073
+ * Body param: Mentions this username (tweet_search_extractor).
812
1074
  */
813
1075
  mentioning?: string;
814
1076
  /**
@@ -820,7 +1082,7 @@ export interface ExtractionRunParams {
820
1082
  */
821
1083
  minBookmarks?: number;
822
1084
  /**
823
- * Body param: Minimum likes threshold (tweet_search_extractor)
1085
+ * Body param: Tweet or Community search minimum likes.
824
1086
  */
825
1087
  minFaves?: number;
826
1088
  /**
@@ -840,27 +1102,28 @@ export interface ExtractionRunParams {
840
1102
  */
841
1103
  minQuotes?: number;
842
1104
  /**
843
- * Body param: Minimum replies threshold (tweet_search_extractor)
1105
+ * Body param: Tweet or Community search minimum replies.
844
1106
  */
845
1107
  minReplies?: number;
846
1108
  /**
847
- * Body param: Minimum retweets threshold (tweet_search_extractor)
1109
+ * Body param: Tweet or Community search minimum reposts.
848
1110
  */
849
1111
  minRetweets?: number;
850
1112
  /**
851
- * Body param: Minimum Tweet view count.
1113
+ * Body param: Tweet or Community search minimum views.
852
1114
  */
853
1115
  minViews?: number;
854
1116
  /**
855
- * Body param: Only return native reposts.
1117
+ * Body param: Tweet or Community search native reposts.
856
1118
  */
857
1119
  nativeRetweets?: boolean;
858
1120
  /**
859
- * Body param: Match a place name.
1121
+ * Body param: Restrict Tweet search to this place name.
860
1122
  */
861
1123
  near?: string;
862
1124
  /**
863
- * Body param: Only return news results.
1125
+ * Body param: X search no longer supports filter:news. An extraction with news
1126
+ * true answers 424 `search_unavailable` & charges nothing.
864
1127
  */
865
1128
  news?: boolean;
866
1129
  /**
@@ -880,11 +1143,11 @@ export interface ExtractionRunParams {
880
1143
  */
881
1144
  pointRadius?: string;
882
1145
  /**
883
- * Body param: Search ranking applied to every query.
1146
+ * Body param: Use Top for engagement. The relevance alias maps to Top.
884
1147
  */
885
- queryType?: 'Latest' | 'Top' | 'Both';
1148
+ queryType?: 'Latest' | 'Top' | 'Both' | 'relevance';
886
1149
  /**
887
- * Body param: Quote mode (tweet_search_extractor)
1150
+ * Body param: Choose whether tweet search includes, excludes, or isolates quotes.
888
1151
  */
889
1152
  quotes?: 'include' | 'exclude' | 'only';
890
1153
  /**
@@ -892,20 +1155,21 @@ export interface ExtractionRunParams {
892
1155
  */
893
1156
  quotesOfTweetId?: string;
894
1157
  /**
895
- * Body param: Profile relations processed within one job.
1158
+ * Body param: Profile relations processed within one job. Protected profiles are
1159
+ * skipped & the job ends with partial_failure.
896
1160
  */
897
1161
  relationTargets?: Array<ExtractionRunParams.RelationTarget>;
898
1162
  /**
899
- * Body param: Reply mode (tweet_search_extractor)
1163
+ * Body param: Choose whether tweet search includes, excludes, or isolates replies.
900
1164
  */
901
1165
  replies?: 'include' | 'exclude' | 'only';
902
1166
  /**
903
- * Body param: Maximum number of results to extract. When set, the extraction stops
904
- * after reaching this limit.
1167
+ * Body param: Maximum unique results to emit. Billing follows emitted results, not
1168
+ * this upper bound.
905
1169
  */
906
1170
  resultsLimit?: number;
907
1171
  /**
908
- * Body param: Retweet mode (tweet_search_extractor)
1172
+ * Body param: Choose whether tweet search includes, excludes, or isolates reposts.
909
1173
  */
910
1174
  retweets?: 'include' | 'exclude' | 'only';
911
1175
  /**
@@ -913,7 +1177,7 @@ export interface ExtractionRunParams {
913
1177
  */
914
1178
  retweetsOfTweetId?: string;
915
1179
  /**
916
- * Body param: Enable the safe-search filter.
1180
+ * Body param: Apply safe-search filtering to Tweet results.
917
1181
  */
918
1182
  safe?: boolean;
919
1183
  /**
@@ -921,19 +1185,23 @@ export interface ExtractionRunParams {
921
1185
  */
922
1186
  scope?: 'all' | 'direct' | 'nested';
923
1187
  /**
924
- * Body param: Search queries processed as one collection job.
1188
+ * Body param: Search queries processed as one collection job. Each follows the
1189
+ * rules of searchQuery, its structured fields & 512-character limit included.
925
1190
  */
926
1191
  searchQueries?: Array<string>;
927
1192
  /**
928
- * Body param: Required for tweet_search_extractor & community_search.
1193
+ * Body param: Required for tweet_search_extractor, people_search &
1194
+ * community_search. tweet_search_extractor adds the structured search fields, such
1195
+ * as fromUser & minFaves, to this query. X searches up to 512 characters. A longer
1196
+ * tweet or people search answers 400, counted with the added fields.
929
1197
  */
930
1198
  searchQuery?: string;
931
1199
  /**
932
- * Body param: Start date YYYY-MM-DD (tweet_search_extractor)
1200
+ * Body param: Tweet or Community search start date.
933
1201
  */
934
1202
  sinceDate?: string;
935
1203
  /**
936
- * Body param: Return Tweets newer than this Tweet ID.
1204
+ * Body param: Require Tweet IDs above this ID.
937
1205
  */
938
1206
  sinceId?: string;
939
1207
  /**
@@ -945,7 +1213,8 @@ export interface ExtractionRunParams {
945
1213
  */
946
1214
  sort?: 'relevance' | 'latest' | 'oldest' | 'likes';
947
1215
  /**
948
- * Body param: Match the source application.
1216
+ * Body param: X search no longer supports source. An extraction with it answers
1217
+ * 424 `search_unavailable` & charges nothing.
949
1218
  */
950
1219
  source?: string;
951
1220
  /**
@@ -970,11 +1239,15 @@ export interface ExtractionRunParams {
970
1239
  */
971
1240
  targetListIds?: Array<string>;
972
1241
  /**
973
- * Body param: Mixed targets auto-routed within one job.
1242
+ * Body param: Mixed targets auto-routed within one job. Use tweet, replies,
1243
+ * quotes, thread, or profile_media kinds to collect attached media. Protected
1244
+ * profiles are skipped & the job ends with partial_failure.
974
1245
  */
975
1246
  targets?: Array<string | ExtractionRunParams.UnionMember1>;
976
1247
  /**
977
- * Body param: Required for space_explorer.
1248
+ * Body param: Required for space_explorer. X names a Space's hosts & speakers
1249
+ * without counts or bio, so Xquik reads each one's profile. Rows carry it, &
1250
+ * profile filters such as minFollowers check it.
978
1251
  */
979
1252
  targetSpaceId?: string;
980
1253
  /**
@@ -990,15 +1263,17 @@ export interface ExtractionRunParams {
990
1263
  */
991
1264
  targetUsername?: string;
992
1265
  /**
993
- * Body param: Usernames processed as one collection job.
1266
+ * Body param: Usernames processed concurrently in one job. With
1267
+ * tweet_search_extractor, each username collects posts. Post & media jobs skip a
1268
+ * protected profile & end with partial_failure.
994
1269
  */
995
1270
  targetUsernames?: Array<string>;
996
1271
  /**
997
- * Body param: Filter replies sent to a username (tweet_search_extractor)
1272
+ * Body param: Replies to this username (tweet_search_extractor).
998
1273
  */
999
1274
  toUser?: string;
1000
1275
  /**
1001
- * Body param: End date YYYY-MM-DD (tweet_search_extractor)
1276
+ * Body param: Tweet or Community search end date.
1002
1277
  */
1003
1278
  untilDate?: string;
1004
1279
  /**
@@ -1014,7 +1289,7 @@ export interface ExtractionRunParams {
1014
1289
  */
1015
1290
  usernameContains?: string;
1016
1291
  /**
1017
- * Body param: Only verified authors (tweet_search_extractor)
1292
+ * Body param: Tweet or Community search verified authors.
1018
1293
  */
1019
1294
  verifiedOnly?: boolean;
1020
1295
  /**
@@ -1022,13 +1297,20 @@ export interface ExtractionRunParams {
1022
1297
  */
1023
1298
  verifiedType?: string;
1024
1299
  /**
1025
- * Body param: Set the radius for the near filter.
1300
+ * Body param: X search no longer supports within. An extraction with it answers
1301
+ * 424 `search_unavailable` & charges nothing. Use near alone.
1026
1302
  */
1027
1303
  within?: string;
1028
1304
  /**
1029
- * Body param: Match Tweets inside a recent time window.
1305
+ * Body param: Restrict Tweets to this recent time window.
1030
1306
  */
1031
1307
  withinTime?: string;
1308
+ /**
1309
+ * Header param: Generate 1 unique value per intended request. Reuse it only to
1310
+ * retry the same request. Exact retries return the original result & charge
1311
+ * nothing.
1312
+ */
1313
+ 'Idempotency-Key'?: string;
1032
1314
  }
1033
1315
  export declare namespace ExtractionRunParams {
1034
1316
  /**
@@ -1044,6 +1326,6 @@ export declare namespace ExtractionRunParams {
1044
1326
  }
1045
1327
  }
1046
1328
  export declare namespace Extractions {
1047
- export { type ExtractionJob as ExtractionJob, type ExtractionRetrieveResponse as ExtractionRetrieveResponse, type ExtractionListResponse as ExtractionListResponse, type ExtractionEstimateCostResponse as ExtractionEstimateCostResponse, type ExtractionRunResponse as ExtractionRunResponse, type ExtractionRetrieveParams as ExtractionRetrieveParams, type ExtractionListParams as ExtractionListParams, type ExtractionEstimateCostParams as ExtractionEstimateCostParams, type ExtractionExportResultsParams as ExtractionExportResultsParams, type ExtractionRunParams as ExtractionRunParams, };
1329
+ export { type ExtractionJob as ExtractionJob, type ExtractionRetrieveResponse as ExtractionRetrieveResponse, type ExtractionListResponse as ExtractionListResponse, type ExtractionCancelResponse as ExtractionCancelResponse, type ExtractionEstimateCostResponse as ExtractionEstimateCostResponse, type ExtractionRunResponse as ExtractionRunResponse, type ExtractionRetrieveParams as ExtractionRetrieveParams, type ExtractionListParams as ExtractionListParams, type ExtractionEstimateCostParams as ExtractionEstimateCostParams, type ExtractionExportResultsParams as ExtractionExportResultsParams, type ExtractionRunParams as ExtractionRunParams, };
1048
1330
  }
1049
1331
  //# sourceMappingURL=extractions.d.mts.map