x-twitter-scraper 0.12.4 → 0.13.1

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 (671) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +56 -29
  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 +4 -4
  8. package/client.js.map +1 -1
  9. package/client.mjs +5 -5
  10. package/client.mjs.map +1 -1
  11. package/core/api-promise.d.mts.map +1 -1
  12. package/core/api-promise.d.ts.map +1 -1
  13. package/core/api-promise.js.map +1 -1
  14. package/core/api-promise.mjs.map +1 -1
  15. package/core/error.d.mts.map +1 -1
  16. package/core/error.d.ts.map +1 -1
  17. package/core/error.js +0 -1
  18. package/core/error.js.map +1 -1
  19. package/core/error.mjs +0 -1
  20. package/core/error.mjs.map +1 -1
  21. package/core/resource.d.mts.map +1 -1
  22. package/core/resource.d.ts.map +1 -1
  23. package/core/resource.js.map +1 -1
  24. package/core/resource.mjs.map +1 -1
  25. package/core/streaming.d.mts +33 -0
  26. package/core/streaming.d.mts.map +1 -0
  27. package/core/streaming.d.ts +33 -0
  28. package/core/streaming.d.ts.map +1 -0
  29. package/core/streaming.js +269 -0
  30. package/core/streaming.js.map +1 -0
  31. package/core/streaming.mjs +264 -0
  32. package/core/streaming.mjs.map +1 -0
  33. package/index.d.mts.map +1 -1
  34. package/index.d.ts.map +1 -1
  35. package/index.js +0 -1
  36. package/index.js.map +1 -1
  37. package/index.mjs +0 -1
  38. package/index.mjs.map +1 -1
  39. package/internal/builtin-types.d.mts.map +1 -1
  40. package/internal/builtin-types.d.ts.map +1 -1
  41. package/internal/decoders/line.d.mts +17 -0
  42. package/internal/decoders/line.d.mts.map +1 -0
  43. package/internal/decoders/line.d.ts +17 -0
  44. package/internal/decoders/line.d.ts.map +1 -0
  45. package/internal/decoders/line.js +115 -0
  46. package/internal/decoders/line.js.map +1 -0
  47. package/internal/decoders/line.mjs +110 -0
  48. package/internal/decoders/line.mjs.map +1 -0
  49. package/internal/detect-platform.d.mts.map +1 -1
  50. package/internal/detect-platform.d.ts.map +1 -1
  51. package/internal/detect-platform.js +0 -1
  52. package/internal/detect-platform.js.map +1 -1
  53. package/internal/detect-platform.mjs +0 -1
  54. package/internal/detect-platform.mjs.map +1 -1
  55. package/internal/errors.d.mts.map +1 -1
  56. package/internal/errors.d.ts.map +1 -1
  57. package/internal/errors.js +0 -1
  58. package/internal/errors.js.map +1 -1
  59. package/internal/errors.mjs +0 -1
  60. package/internal/errors.mjs.map +1 -1
  61. package/internal/headers.d.mts.map +1 -1
  62. package/internal/headers.d.ts.map +1 -1
  63. package/internal/headers.js +0 -1
  64. package/internal/headers.js.map +1 -1
  65. package/internal/headers.mjs +0 -1
  66. package/internal/headers.mjs.map +1 -1
  67. package/internal/parse.d.mts.map +1 -1
  68. package/internal/parse.d.ts.map +1 -1
  69. package/internal/parse.js +7 -0
  70. package/internal/parse.js.map +1 -1
  71. package/internal/parse.mjs +7 -0
  72. package/internal/parse.mjs.map +1 -1
  73. package/internal/request-options.d.mts.map +1 -1
  74. package/internal/request-options.d.ts.map +1 -1
  75. package/internal/request-options.js.map +1 -1
  76. package/internal/request-options.mjs.map +1 -1
  77. package/internal/shim-types.d.mts.map +1 -1
  78. package/internal/shim-types.d.ts.map +1 -1
  79. package/internal/shims.d.mts.map +1 -1
  80. package/internal/shims.d.ts.map +1 -1
  81. package/internal/shims.js.map +1 -1
  82. package/internal/shims.mjs.map +1 -1
  83. package/internal/tslib.js +18 -18
  84. package/internal/types.d.mts.map +1 -1
  85. package/internal/types.d.ts.map +1 -1
  86. package/internal/utils/base64.d.mts.map +1 -1
  87. package/internal/utils/base64.d.ts.map +1 -1
  88. package/internal/utils/base64.js +0 -1
  89. package/internal/utils/base64.js.map +1 -1
  90. package/internal/utils/base64.mjs +0 -1
  91. package/internal/utils/base64.mjs.map +1 -1
  92. package/internal/utils/env.d.mts.map +1 -1
  93. package/internal/utils/env.d.ts.map +1 -1
  94. package/internal/utils/env.js +0 -1
  95. package/internal/utils/env.js.map +1 -1
  96. package/internal/utils/env.mjs +0 -1
  97. package/internal/utils/env.mjs.map +1 -1
  98. package/internal/utils/log.d.mts.map +1 -1
  99. package/internal/utils/log.d.ts.map +1 -1
  100. package/internal/utils/log.js +0 -1
  101. package/internal/utils/log.js.map +1 -1
  102. package/internal/utils/log.mjs +0 -1
  103. package/internal/utils/log.mjs.map +1 -1
  104. package/internal/utils/query.d.mts.map +1 -1
  105. package/internal/utils/query.d.ts.map +1 -1
  106. package/internal/utils/query.js +0 -1
  107. package/internal/utils/query.js.map +1 -1
  108. package/internal/utils/query.mjs +0 -1
  109. package/internal/utils/query.mjs.map +1 -1
  110. package/internal/utils/sleep.d.mts.map +1 -1
  111. package/internal/utils/sleep.d.ts.map +1 -1
  112. package/internal/utils/sleep.js +0 -1
  113. package/internal/utils/sleep.js.map +1 -1
  114. package/internal/utils/sleep.mjs +0 -1
  115. package/internal/utils/sleep.mjs.map +1 -1
  116. package/internal/utils/uuid.d.mts.map +1 -1
  117. package/internal/utils/uuid.d.ts.map +1 -1
  118. package/internal/utils/uuid.js +0 -1
  119. package/internal/utils/uuid.js.map +1 -1
  120. package/internal/utils/uuid.mjs +0 -1
  121. package/internal/utils/uuid.mjs.map +1 -1
  122. package/internal/utils/values.d.mts.map +1 -1
  123. package/internal/utils/values.d.ts.map +1 -1
  124. package/internal/utils/values.js +0 -1
  125. package/internal/utils/values.js.map +1 -1
  126. package/internal/utils/values.mjs +0 -1
  127. package/internal/utils/values.mjs.map +1 -1
  128. package/internal/utils.d.mts.map +1 -1
  129. package/internal/utils.d.ts.map +1 -1
  130. package/internal/utils.js +0 -1
  131. package/internal/utils.js.map +1 -1
  132. package/internal/utils.mjs +0 -1
  133. package/internal/utils.mjs.map +1 -1
  134. package/package.json +23 -5
  135. package/resources/account.d.mts +35 -12
  136. package/resources/account.d.mts.map +1 -1
  137. package/resources/account.d.ts +35 -12
  138. package/resources/account.d.ts.map +1 -1
  139. package/resources/account.js +4 -4
  140. package/resources/account.js.map +1 -1
  141. package/resources/account.mjs +4 -4
  142. package/resources/account.mjs.map +1 -1
  143. package/resources/compose.d.mts +77 -21
  144. package/resources/compose.d.mts.map +1 -1
  145. package/resources/compose.d.ts +77 -21
  146. package/resources/compose.d.ts.map +1 -1
  147. package/resources/compose.js +3 -5
  148. package/resources/compose.js.map +1 -1
  149. package/resources/compose.mjs +3 -5
  150. package/resources/compose.mjs.map +1 -1
  151. package/resources/credits.d.mts +18 -10
  152. package/resources/credits.d.mts.map +1 -1
  153. package/resources/credits.d.ts +18 -10
  154. package/resources/credits.d.ts.map +1 -1
  155. package/resources/credits.js +5 -5
  156. package/resources/credits.js.map +1 -1
  157. package/resources/credits.mjs +5 -5
  158. package/resources/credits.mjs.map +1 -1
  159. package/resources/drafts.d.mts +13 -17
  160. package/resources/drafts.d.mts.map +1 -1
  161. package/resources/drafts.d.ts +13 -17
  162. package/resources/drafts.d.ts.map +1 -1
  163. package/resources/drafts.js +4 -5
  164. package/resources/drafts.js.map +1 -1
  165. package/resources/drafts.mjs +4 -5
  166. package/resources/drafts.mjs.map +1 -1
  167. package/resources/draws.d.mts +84 -28
  168. package/resources/draws.d.mts.map +1 -1
  169. package/resources/draws.d.ts +84 -28
  170. package/resources/draws.d.ts.map +1 -1
  171. package/resources/draws.js +24 -10
  172. package/resources/draws.js.map +1 -1
  173. package/resources/draws.mjs +24 -10
  174. package/resources/draws.mjs.map +1 -1
  175. package/resources/events.d.mts +2564 -21
  176. package/resources/events.d.mts.map +1 -1
  177. package/resources/events.d.ts +2564 -21
  178. package/resources/events.d.ts.map +1 -1
  179. package/resources/events.js +34 -3
  180. package/resources/events.js.map +1 -1
  181. package/resources/events.mjs +34 -3
  182. package/resources/events.mjs.map +1 -1
  183. package/resources/extractions.d.mts +410 -128
  184. package/resources/extractions.d.mts.map +1 -1
  185. package/resources/extractions.d.ts +410 -128
  186. package/resources/extractions.d.ts.map +1 -1
  187. package/resources/extractions.js +74 -13
  188. package/resources/extractions.js.map +1 -1
  189. package/resources/extractions.mjs +74 -13
  190. package/resources/extractions.mjs.map +1 -1
  191. package/resources/guest-wallets.d.mts +6 -5
  192. package/resources/guest-wallets.d.mts.map +1 -1
  193. package/resources/guest-wallets.d.ts +6 -5
  194. package/resources/guest-wallets.d.ts.map +1 -1
  195. package/resources/guest-wallets.js +2 -2
  196. package/resources/guest-wallets.js.map +1 -1
  197. package/resources/guest-wallets.mjs +2 -2
  198. package/resources/guest-wallets.mjs.map +1 -1
  199. package/resources/index.d.mts +6 -6
  200. package/resources/index.d.mts.map +1 -1
  201. package/resources/index.d.ts +6 -6
  202. package/resources/index.d.ts.map +1 -1
  203. package/resources/index.js +0 -1
  204. package/resources/index.js.map +1 -1
  205. package/resources/index.mjs +1 -2
  206. package/resources/index.mjs.map +1 -1
  207. package/resources/monitors/index.d.mts +2 -2
  208. package/resources/monitors/index.d.mts.map +1 -1
  209. package/resources/monitors/index.d.ts +2 -2
  210. package/resources/monitors/index.d.ts.map +1 -1
  211. package/resources/monitors/index.js +0 -1
  212. package/resources/monitors/index.js.map +1 -1
  213. package/resources/monitors/index.mjs +0 -1
  214. package/resources/monitors/index.mjs.map +1 -1
  215. package/resources/monitors/keywords.d.mts +66 -14
  216. package/resources/monitors/keywords.d.mts.map +1 -1
  217. package/resources/monitors/keywords.d.ts +66 -14
  218. package/resources/monitors/keywords.d.ts.map +1 -1
  219. package/resources/monitors/keywords.js +16 -11
  220. package/resources/monitors/keywords.js.map +1 -1
  221. package/resources/monitors/keywords.mjs +16 -11
  222. package/resources/monitors/keywords.mjs.map +1 -1
  223. package/resources/monitors/monitors.d.mts +53 -16
  224. package/resources/monitors/monitors.d.mts.map +1 -1
  225. package/resources/monitors/monitors.d.ts +53 -16
  226. package/resources/monitors/monitors.d.ts.map +1 -1
  227. package/resources/monitors/monitors.js +12 -11
  228. package/resources/monitors/monitors.js.map +1 -1
  229. package/resources/monitors/monitors.mjs +12 -11
  230. package/resources/monitors/monitors.mjs.map +1 -1
  231. package/resources/monitors.d.mts.map +1 -1
  232. package/resources/monitors.d.ts.map +1 -1
  233. package/resources/monitors.js +0 -1
  234. package/resources/monitors.js.map +1 -1
  235. package/resources/monitors.mjs +0 -1
  236. package/resources/monitors.mjs.map +1 -1
  237. package/resources/radar.d.mts +32 -36
  238. package/resources/radar.d.mts.map +1 -1
  239. package/resources/radar.d.ts +32 -36
  240. package/resources/radar.d.ts.map +1 -1
  241. package/resources/radar.js +1 -2
  242. package/resources/radar.js.map +1 -1
  243. package/resources/radar.mjs +1 -2
  244. package/resources/radar.mjs.map +1 -1
  245. package/resources/shared.d.mts +1726 -233
  246. package/resources/shared.d.mts.map +1 -1
  247. package/resources/shared.d.ts +1726 -233
  248. package/resources/shared.d.ts.map +1 -1
  249. package/resources/styles.d.mts +34 -23
  250. package/resources/styles.d.mts.map +1 -1
  251. package/resources/styles.d.ts +34 -23
  252. package/resources/styles.d.ts.map +1 -1
  253. package/resources/styles.js +11 -14
  254. package/resources/styles.js.map +1 -1
  255. package/resources/styles.mjs +11 -14
  256. package/resources/styles.mjs.map +1 -1
  257. package/resources/subscribe.d.mts +1 -1
  258. package/resources/subscribe.d.mts.map +1 -1
  259. package/resources/subscribe.d.ts +1 -1
  260. package/resources/subscribe.d.ts.map +1 -1
  261. package/resources/subscribe.js +1 -2
  262. package/resources/subscribe.js.map +1 -1
  263. package/resources/subscribe.mjs +1 -2
  264. package/resources/subscribe.mjs.map +1 -1
  265. package/resources/support/attachments.d.mts.map +1 -1
  266. package/resources/support/attachments.d.ts.map +1 -1
  267. package/resources/support/attachments.js +0 -1
  268. package/resources/support/attachments.js.map +1 -1
  269. package/resources/support/attachments.mjs +0 -1
  270. package/resources/support/attachments.mjs.map +1 -1
  271. package/resources/support/index.d.mts +1 -1
  272. package/resources/support/index.d.mts.map +1 -1
  273. package/resources/support/index.d.ts +1 -1
  274. package/resources/support/index.d.ts.map +1 -1
  275. package/resources/support/index.js +0 -1
  276. package/resources/support/index.js.map +1 -1
  277. package/resources/support/index.mjs +0 -1
  278. package/resources/support/index.mjs.map +1 -1
  279. package/resources/support/support.d.mts +2 -2
  280. package/resources/support/support.d.mts.map +1 -1
  281. package/resources/support/support.d.ts +2 -2
  282. package/resources/support/support.d.ts.map +1 -1
  283. package/resources/support/support.js +0 -1
  284. package/resources/support/support.js.map +1 -1
  285. package/resources/support/support.mjs +0 -1
  286. package/resources/support/support.mjs.map +1 -1
  287. package/resources/support/tickets.d.mts +30 -10
  288. package/resources/support/tickets.d.mts.map +1 -1
  289. package/resources/support/tickets.d.ts +30 -10
  290. package/resources/support/tickets.d.ts.map +1 -1
  291. package/resources/support/tickets.js +7 -8
  292. package/resources/support/tickets.js.map +1 -1
  293. package/resources/support/tickets.mjs +7 -8
  294. package/resources/support/tickets.mjs.map +1 -1
  295. package/resources/support.d.mts.map +1 -1
  296. package/resources/support.d.ts.map +1 -1
  297. package/resources/support.js +0 -1
  298. package/resources/support.js.map +1 -1
  299. package/resources/support.mjs +0 -1
  300. package/resources/support.mjs.map +1 -1
  301. package/resources/trends.d.mts +21 -5
  302. package/resources/trends.d.mts.map +1 -1
  303. package/resources/trends.d.ts +21 -5
  304. package/resources/trends.d.ts.map +1 -1
  305. package/resources/trends.js +2 -2
  306. package/resources/trends.js.map +1 -1
  307. package/resources/trends.mjs +2 -2
  308. package/resources/trends.mjs.map +1 -1
  309. package/resources/webhooks.d.mts +80 -14
  310. package/resources/webhooks.d.mts.map +1 -1
  311. package/resources/webhooks.d.ts +80 -14
  312. package/resources/webhooks.d.ts.map +1 -1
  313. package/resources/webhooks.js +30 -12
  314. package/resources/webhooks.js.map +1 -1
  315. package/resources/webhooks.mjs +30 -12
  316. package/resources/webhooks.mjs.map +1 -1
  317. package/resources/x/account-connection-attempts.d.mts +1 -1
  318. package/resources/x/account-connection-attempts.d.mts.map +1 -1
  319. package/resources/x/account-connection-attempts.d.ts +1 -1
  320. package/resources/x/account-connection-attempts.d.ts.map +1 -1
  321. package/resources/x/account-connection-attempts.js +1 -2
  322. package/resources/x/account-connection-attempts.js.map +1 -1
  323. package/resources/x/account-connection-attempts.mjs +1 -2
  324. package/resources/x/account-connection-attempts.mjs.map +1 -1
  325. package/resources/x/account-connection-challenges.d.mts +30 -11
  326. package/resources/x/account-connection-challenges.d.mts.map +1 -1
  327. package/resources/x/account-connection-challenges.d.ts +30 -11
  328. package/resources/x/account-connection-challenges.d.ts.map +1 -1
  329. package/resources/x/account-connection-challenges.js +5 -5
  330. package/resources/x/account-connection-challenges.js.map +1 -1
  331. package/resources/x/account-connection-challenges.mjs +5 -5
  332. package/resources/x/account-connection-challenges.mjs.map +1 -1
  333. package/resources/x/accounts.d.mts +38 -10
  334. package/resources/x/accounts.d.mts.map +1 -1
  335. package/resources/x/accounts.d.ts +38 -10
  336. package/resources/x/accounts.d.ts.map +1 -1
  337. package/resources/x/accounts.js +8 -8
  338. package/resources/x/accounts.js.map +1 -1
  339. package/resources/x/accounts.mjs +8 -8
  340. package/resources/x/accounts.mjs.map +1 -1
  341. package/resources/x/analysis.d.mts +3274 -0
  342. package/resources/x/analysis.d.mts.map +1 -0
  343. package/resources/x/analysis.d.ts +3274 -0
  344. package/resources/x/analysis.d.ts.map +1 -0
  345. package/resources/x/analysis.js +131 -0
  346. package/resources/x/analysis.js.map +1 -0
  347. package/resources/x/analysis.mjs +127 -0
  348. package/resources/x/analysis.mjs.map +1 -0
  349. package/resources/x/bookmarks.d.mts +84 -9
  350. package/resources/x/bookmarks.d.mts.map +1 -1
  351. package/resources/x/bookmarks.d.ts +84 -9
  352. package/resources/x/bookmarks.d.ts.map +1 -1
  353. package/resources/x/bookmarks.js +6 -5
  354. package/resources/x/bookmarks.js.map +1 -1
  355. package/resources/x/bookmarks.mjs +6 -5
  356. package/resources/x/bookmarks.mjs.map +1 -1
  357. package/resources/x/broadcasts.d.mts +176 -0
  358. package/resources/x/broadcasts.d.mts.map +1 -0
  359. package/resources/x/broadcasts.d.ts +176 -0
  360. package/resources/x/broadcasts.d.ts.map +1 -0
  361. package/resources/x/broadcasts.js +28 -0
  362. package/resources/x/broadcasts.js.map +1 -0
  363. package/resources/x/broadcasts.mjs +24 -0
  364. package/resources/x/broadcasts.mjs.map +1 -0
  365. package/resources/x/communities/communities.d.mts +612 -128
  366. package/resources/x/communities/communities.d.mts.map +1 -1
  367. package/resources/x/communities/communities.d.ts +612 -128
  368. package/resources/x/communities/communities.d.ts.map +1 -1
  369. package/resources/x/communities/communities.js +96 -18
  370. package/resources/x/communities/communities.js.map +1 -1
  371. package/resources/x/communities/communities.mjs +96 -18
  372. package/resources/x/communities/communities.mjs.map +1 -1
  373. package/resources/x/communities/index.d.mts +2 -1
  374. package/resources/x/communities/index.d.mts.map +1 -1
  375. package/resources/x/communities/index.d.ts +2 -1
  376. package/resources/x/communities/index.d.ts.map +1 -1
  377. package/resources/x/communities/index.js +3 -2
  378. package/resources/x/communities/index.js.map +1 -1
  379. package/resources/x/communities/index.mjs +1 -1
  380. package/resources/x/communities/index.mjs.map +1 -1
  381. package/resources/x/communities/join.d.mts +46 -25
  382. package/resources/x/communities/join.d.mts.map +1 -1
  383. package/resources/x/communities/join.d.ts +46 -25
  384. package/resources/x/communities/join.d.ts.map +1 -1
  385. package/resources/x/communities/join.js +10 -8
  386. package/resources/x/communities/join.js.map +1 -1
  387. package/resources/x/communities/join.mjs +10 -8
  388. package/resources/x/communities/join.mjs.map +1 -1
  389. package/resources/x/communities/media.d.mts +197 -0
  390. package/resources/x/communities/media.d.mts.map +1 -0
  391. package/resources/x/communities/media.d.ts +197 -0
  392. package/resources/x/communities/media.d.ts.map +1 -0
  393. package/resources/x/communities/media.js +28 -0
  394. package/resources/x/communities/media.js.map +1 -0
  395. package/resources/x/communities/media.mjs +24 -0
  396. package/resources/x/communities/media.mjs.map +1 -0
  397. package/resources/x/communities/tweets.d.mts +350 -20
  398. package/resources/x/communities/tweets.d.mts.map +1 -1
  399. package/resources/x/communities/tweets.d.ts +350 -20
  400. package/resources/x/communities/tweets.d.ts.map +1 -1
  401. package/resources/x/communities/tweets.js +8 -8
  402. package/resources/x/communities/tweets.js.map +1 -1
  403. package/resources/x/communities/tweets.mjs +8 -8
  404. package/resources/x/communities/tweets.mjs.map +1 -1
  405. package/resources/x/communities.d.mts.map +1 -1
  406. package/resources/x/communities.d.ts.map +1 -1
  407. package/resources/x/communities.js +0 -1
  408. package/resources/x/communities.js.map +1 -1
  409. package/resources/x/communities.mjs +0 -1
  410. package/resources/x/communities.mjs.map +1 -1
  411. package/resources/x/dm.d.mts +245 -13
  412. package/resources/x/dm.d.mts.map +1 -1
  413. package/resources/x/dm.d.ts +245 -13
  414. package/resources/x/dm.d.ts.map +1 -1
  415. package/resources/x/dm.js +29 -3
  416. package/resources/x/dm.js.map +1 -1
  417. package/resources/x/dm.mjs +29 -3
  418. package/resources/x/dm.mjs.map +1 -1
  419. package/resources/x/followers.d.mts +31 -3
  420. package/resources/x/followers.d.mts.map +1 -1
  421. package/resources/x/followers.d.ts +31 -3
  422. package/resources/x/followers.d.ts.map +1 -1
  423. package/resources/x/followers.js +2 -2
  424. package/resources/x/followers.js.map +1 -1
  425. package/resources/x/followers.mjs +2 -2
  426. package/resources/x/followers.mjs.map +1 -1
  427. package/resources/x/index.d.mts +12 -8
  428. package/resources/x/index.d.mts.map +1 -1
  429. package/resources/x/index.d.ts +12 -8
  430. package/resources/x/index.d.ts.map +1 -1
  431. package/resources/x/index.js +9 -2
  432. package/resources/x/index.js.map +1 -1
  433. package/resources/x/index.mjs +5 -2
  434. package/resources/x/index.mjs.map +1 -1
  435. package/resources/x/jobs.d.mts +506 -0
  436. package/resources/x/jobs.d.mts.map +1 -0
  437. package/resources/x/jobs.d.ts +506 -0
  438. package/resources/x/jobs.d.ts.map +1 -0
  439. package/resources/x/jobs.js +59 -0
  440. package/resources/x/jobs.js.map +1 -0
  441. package/resources/x/jobs.mjs +55 -0
  442. package/resources/x/jobs.mjs.map +1 -0
  443. package/resources/x/lists.d.mts +1058 -27
  444. package/resources/x/lists.d.mts.map +1 -1
  445. package/resources/x/lists.d.ts +1058 -27
  446. package/resources/x/lists.d.ts.map +1 -1
  447. package/resources/x/lists.js +39 -10
  448. package/resources/x/lists.js.map +1 -1
  449. package/resources/x/lists.mjs +39 -10
  450. package/resources/x/lists.mjs.map +1 -1
  451. package/resources/x/media.d.mts +24 -13
  452. package/resources/x/media.d.mts.map +1 -1
  453. package/resources/x/media.d.ts +24 -13
  454. package/resources/x/media.d.ts.map +1 -1
  455. package/resources/x/media.js +2 -3
  456. package/resources/x/media.js.map +1 -1
  457. package/resources/x/media.mjs +2 -3
  458. package/resources/x/media.mjs.map +1 -1
  459. package/resources/x/profile.d.mts +60 -33
  460. package/resources/x/profile.d.mts.map +1 -1
  461. package/resources/x/profile.d.ts +60 -33
  462. package/resources/x/profile.d.ts.map +1 -1
  463. package/resources/x/profile.js +3 -4
  464. package/resources/x/profile.js.map +1 -1
  465. package/resources/x/profile.mjs +3 -4
  466. package/resources/x/profile.mjs.map +1 -1
  467. package/resources/x/spaces.d.mts +857 -0
  468. package/resources/x/spaces.d.mts.map +1 -0
  469. package/resources/x/spaces.d.ts +857 -0
  470. package/resources/x/spaces.d.ts.map +1 -0
  471. package/resources/x/spaces.js +57 -0
  472. package/resources/x/spaces.js.map +1 -0
  473. package/resources/x/spaces.mjs +53 -0
  474. package/resources/x/spaces.mjs.map +1 -0
  475. package/resources/x/tweets/index.d.mts +1 -1
  476. package/resources/x/tweets/index.d.mts.map +1 -1
  477. package/resources/x/tweets/index.d.ts +1 -1
  478. package/resources/x/tweets/index.d.ts.map +1 -1
  479. package/resources/x/tweets/index.js +0 -1
  480. package/resources/x/tweets/index.js.map +1 -1
  481. package/resources/x/tweets/index.mjs +0 -1
  482. package/resources/x/tweets/index.mjs.map +1 -1
  483. package/resources/x/tweets/like.d.mts +38 -20
  484. package/resources/x/tweets/like.d.mts.map +1 -1
  485. package/resources/x/tweets/like.d.ts +38 -20
  486. package/resources/x/tweets/like.d.ts.map +1 -1
  487. package/resources/x/tweets/like.js +2 -3
  488. package/resources/x/tweets/like.js.map +1 -1
  489. package/resources/x/tweets/like.mjs +2 -3
  490. package/resources/x/tweets/like.mjs.map +1 -1
  491. package/resources/x/tweets/retweet.d.mts +38 -20
  492. package/resources/x/tweets/retweet.d.mts.map +1 -1
  493. package/resources/x/tweets/retweet.d.ts +38 -20
  494. package/resources/x/tweets/retweet.d.ts.map +1 -1
  495. package/resources/x/tweets/retweet.js +2 -3
  496. package/resources/x/tweets/retweet.js.map +1 -1
  497. package/resources/x/tweets/retweet.mjs +2 -3
  498. package/resources/x/tweets/retweet.mjs.map +1 -1
  499. package/resources/x/tweets/tweets.d.mts +2639 -326
  500. package/resources/x/tweets/tweets.d.mts.map +1 -1
  501. package/resources/x/tweets/tweets.d.ts +2639 -326
  502. package/resources/x/tweets/tweets.d.ts.map +1 -1
  503. package/resources/x/tweets/tweets.js +147 -22
  504. package/resources/x/tweets/tweets.js.map +1 -1
  505. package/resources/x/tweets/tweets.mjs +147 -22
  506. package/resources/x/tweets/tweets.mjs.map +1 -1
  507. package/resources/x/tweets.d.mts.map +1 -1
  508. package/resources/x/tweets.d.ts.map +1 -1
  509. package/resources/x/tweets.js +0 -1
  510. package/resources/x/tweets.js.map +1 -1
  511. package/resources/x/tweets.mjs +0 -1
  512. package/resources/x/tweets.mjs.map +1 -1
  513. package/resources/x/users/follow.d.mts +38 -20
  514. package/resources/x/users/follow.d.mts.map +1 -1
  515. package/resources/x/users/follow.d.ts +38 -20
  516. package/resources/x/users/follow.d.ts.map +1 -1
  517. package/resources/x/users/follow.js +2 -3
  518. package/resources/x/users/follow.js.map +1 -1
  519. package/resources/x/users/follow.mjs +2 -3
  520. package/resources/x/users/follow.mjs.map +1 -1
  521. package/resources/x/users/index.d.mts +1 -1
  522. package/resources/x/users/index.d.mts.map +1 -1
  523. package/resources/x/users/index.d.ts +1 -1
  524. package/resources/x/users/index.d.ts.map +1 -1
  525. package/resources/x/users/index.js +0 -1
  526. package/resources/x/users/index.js.map +1 -1
  527. package/resources/x/users/index.mjs +0 -1
  528. package/resources/x/users/index.mjs.map +1 -1
  529. package/resources/x/users/users.d.mts +3068 -457
  530. package/resources/x/users/users.d.mts.map +1 -1
  531. package/resources/x/users/users.d.ts +3068 -457
  532. package/resources/x/users/users.d.ts.map +1 -1
  533. package/resources/x/users/users.js +205 -23
  534. package/resources/x/users/users.js.map +1 -1
  535. package/resources/x/users/users.mjs +205 -23
  536. package/resources/x/users/users.mjs.map +1 -1
  537. package/resources/x/users.d.mts.map +1 -1
  538. package/resources/x/users.d.ts.map +1 -1
  539. package/resources/x/users.js +0 -1
  540. package/resources/x/users.js.map +1 -1
  541. package/resources/x/users.mjs +0 -1
  542. package/resources/x/users.mjs.map +1 -1
  543. package/resources/x/write-actions.d.mts +13 -6
  544. package/resources/x/write-actions.d.mts.map +1 -1
  545. package/resources/x/write-actions.d.ts +13 -6
  546. package/resources/x/write-actions.d.ts.map +1 -1
  547. package/resources/x/write-actions.js +1 -2
  548. package/resources/x/write-actions.js.map +1 -1
  549. package/resources/x/write-actions.mjs +1 -2
  550. package/resources/x/write-actions.mjs.map +1 -1
  551. package/resources/x/x.d.mts +864 -27
  552. package/resources/x/x.d.mts.map +1 -1
  553. package/resources/x/x.d.ts +864 -27
  554. package/resources/x/x.d.ts.map +1 -1
  555. package/resources/x/x.js +78 -6
  556. package/resources/x/x.js.map +1 -1
  557. package/resources/x/x.mjs +80 -8
  558. package/resources/x/x.mjs.map +1 -1
  559. package/resources/x.d.mts.map +1 -1
  560. package/resources/x.d.ts.map +1 -1
  561. package/resources/x.js +0 -1
  562. package/resources/x.js.map +1 -1
  563. package/resources/x.mjs +0 -1
  564. package/resources/x.mjs.map +1 -1
  565. package/skills/x-twitter-scraper/SKILL.md +99 -344
  566. package/skills/x-twitter-scraper/metadata.json +2 -2
  567. package/skills/x-twitter-scraper/references/mcp-setup.md +12 -15
  568. package/skills/x-twitter-scraper/references/mcp-tools.md +105 -166
  569. package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +4 -4
  570. package/skills/x-twitter-scraper/references/types.md +0 -1
  571. package/skills/x-twitter-scraper/skill-card.md +5 -6
  572. package/skills/x-twitter-scraper/skillspector-report.md +6 -3
  573. package/skills/xquik-account-automation/LICENSE +21 -0
  574. package/skills/xquik-account-automation/SKILL.md +91 -0
  575. package/skills/xquik-social-research/SKILL.md +48 -55
  576. package/src/client.ts +48 -7
  577. package/src/core/api-promise.ts +0 -2
  578. package/src/core/error.ts +0 -2
  579. package/src/core/resource.ts +0 -2
  580. package/src/core/streaming.ts +326 -0
  581. package/src/index.ts +0 -2
  582. package/src/internal/builtin-types.ts +0 -2
  583. package/src/internal/decoders/line.ts +138 -0
  584. package/src/internal/detect-platform.ts +0 -2
  585. package/src/internal/errors.ts +0 -2
  586. package/src/internal/headers.ts +0 -2
  587. package/src/internal/parse.ts +9 -2
  588. package/src/internal/request-options.ts +0 -2
  589. package/src/internal/shim-types.ts +0 -2
  590. package/src/internal/shims.ts +0 -2
  591. package/src/internal/types.ts +0 -2
  592. package/src/internal/utils/base64.ts +0 -2
  593. package/src/internal/utils/env.ts +0 -2
  594. package/src/internal/utils/log.ts +0 -2
  595. package/src/internal/utils/query.ts +0 -2
  596. package/src/internal/utils/sleep.ts +0 -2
  597. package/src/internal/utils/uuid.ts +0 -2
  598. package/src/internal/utils/values.ts +0 -2
  599. package/src/internal/utils.ts +0 -2
  600. package/src/lib/.keep +2 -4
  601. package/src/resources/account.ts +41 -14
  602. package/src/resources/compose.ts +77 -23
  603. package/src/resources/credits.ts +19 -12
  604. package/src/resources/drafts.ts +13 -24
  605. package/src/resources/draws.ts +94 -38
  606. package/src/resources/events.ts +3225 -70
  607. package/src/resources/extractions.ts +512 -127
  608. package/src/resources/guest-wallets.ts +6 -7
  609. package/src/resources/index.ts +24 -3
  610. package/src/resources/monitors/index.ts +2 -2
  611. package/src/resources/monitors/keywords.ts +82 -16
  612. package/src/resources/monitors/monitors.ts +66 -16
  613. package/src/resources/monitors.ts +0 -2
  614. package/src/resources/radar.ts +32 -38
  615. package/src/resources/shared.ts +2226 -352
  616. package/src/resources/styles.ts +43 -29
  617. package/src/resources/subscribe.ts +1 -3
  618. package/src/resources/support/attachments.ts +0 -2
  619. package/src/resources/support/index.ts +1 -2
  620. package/src/resources/support/support.ts +2 -2
  621. package/src/resources/support/tickets.ts +38 -12
  622. package/src/resources/support.ts +0 -2
  623. package/src/resources/trends.ts +23 -7
  624. package/src/resources/webhooks.ts +109 -17
  625. package/src/resources/x/account-connection-attempts.ts +1 -3
  626. package/src/resources/x/account-connection-challenges.ts +39 -13
  627. package/src/resources/x/accounts.ts +46 -12
  628. package/src/resources/x/analysis.ts +3945 -0
  629. package/src/resources/x/bookmarks.ts +103 -11
  630. package/src/resources/x/broadcasts.ts +223 -0
  631. package/src/resources/x/communities/communities.ts +743 -143
  632. package/src/resources/x/communities/index.ts +9 -2
  633. package/src/resources/x/communities/join.ts +46 -25
  634. package/src/resources/x/communities/media.ts +249 -0
  635. package/src/resources/x/communities/tweets.ts +427 -22
  636. package/src/resources/x/communities.ts +0 -2
  637. package/src/resources/x/dm.ts +334 -13
  638. package/src/resources/x/followers.ts +35 -5
  639. package/src/resources/x/index.ts +106 -3
  640. package/src/resources/x/jobs.ts +625 -0
  641. package/src/resources/x/lists.ts +1307 -30
  642. package/src/resources/x/media.ts +24 -14
  643. package/src/resources/x/profile.ts +60 -32
  644. package/src/resources/x/spaces.ts +1074 -0
  645. package/src/resources/x/tweets/index.ts +18 -2
  646. package/src/resources/x/tweets/like.ts +38 -20
  647. package/src/resources/x/tweets/retweet.ts +38 -20
  648. package/src/resources/x/tweets/tweets.ts +3693 -843
  649. package/src/resources/x/tweets.ts +0 -2
  650. package/src/resources/x/users/follow.ts +38 -20
  651. package/src/resources/x/users/index.ts +22 -2
  652. package/src/resources/x/users/users.ts +3687 -467
  653. package/src/resources/x/users.ts +0 -2
  654. package/src/resources/x/write-actions.ts +13 -7
  655. package/src/resources/x/x.ts +1234 -24
  656. package/src/resources/x.ts +0 -2
  657. package/src/streaming.ts +6 -0
  658. package/src/version.ts +1 -1
  659. package/streaming.d.mts +3 -0
  660. package/streaming.d.mts.map +1 -0
  661. package/streaming.d.ts +3 -0
  662. package/streaming.d.ts.map +1 -0
  663. package/streaming.js +9 -0
  664. package/streaming.js.map +1 -0
  665. package/streaming.mjs +6 -0
  666. package/streaming.mjs.map +1 -0
  667. package/version.d.mts +1 -1
  668. package/version.d.ts +1 -1
  669. package/version.js +1 -1
  670. package/version.mjs +1 -1
  671. package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +0 -15
@@ -2,24 +2,25 @@
2
2
  //
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
 
5
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
6
-
7
5
  import { APIResource } from '../core/resource';
6
+ import * as Shared from './shared';
8
7
  import { APIPromise } from '../core/api-promise';
9
8
  import { buildHeaders } from '../internal/headers';
10
9
  import { RequestOptions } from '../internal/request-options';
11
10
  import { path } from '../internal/utils/path';
12
11
 
13
12
  /**
14
- * Bulk data extraction (23 tool types)
13
+ * Saved or bulk data extraction (23 tool types)
15
14
  */
16
15
  export class Extractions extends APIResource {
17
16
  /**
18
- * Get extraction results
17
+ * Returns status and up to 1,000 results. Follow nextCursor when hasMore is true.
19
18
  *
20
19
  * @example
21
20
  * ```ts
22
- * const extraction = await client.extractions.retrieve('id');
21
+ * const extraction = await client.extractions.retrieve(
22
+ * 'L3NjAbCdEfGh',
23
+ * );
23
24
  * ```
24
25
  */
25
26
  retrieve(
@@ -31,7 +32,7 @@ export class Extractions extends APIResource {
31
32
  }
32
33
 
33
34
  /**
34
- * List extraction jobs
35
+ * Returns extraction jobs with status and result counts.
35
36
  *
36
37
  * @example
37
38
  * ```ts
@@ -46,13 +47,45 @@ export class Extractions extends APIResource {
46
47
  }
47
48
 
48
49
  /**
49
- * Estimate extraction cost
50
+ * Cancels an active extraction without charging or saving rows.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * const response = await client.extractions.cancel(
55
+ * 'L3NjAbCdEfGh',
56
+ * );
57
+ * ```
58
+ */
59
+ cancel(id: string, options?: RequestOptions): APIPromise<ExtractionCancelResponse> {
60
+ return this._client.delete(path`/extractions/${id}`, options);
61
+ }
62
+
63
+ /**
64
+ * Estimates extraction cost without creating a job.
50
65
  *
51
66
  * @example
52
67
  * ```ts
53
68
  * const response = await client.extractions.estimateCost({
54
69
  * toolType: 'follower_explorer',
55
- * targetUsername: 'elonmusk',
70
+ * bioContains: 'space, astronomy',
71
+ * businessEmailOnly: true,
72
+ * emailDomains: 'nasa.gov',
73
+ * enrichProfiles: true,
74
+ * hasEmail: true,
75
+ * hasLocation: true,
76
+ * hasWebsite: true,
77
+ * locationContains: 'Houston',
78
+ * maxFollowers: 1000000,
79
+ * maxFollowing: 5000,
80
+ * maxPosts: 100000,
81
+ * minAccountAgeDays: 365,
82
+ * minFollowers: 1000,
83
+ * minFollowing: 10,
84
+ * minPosts: 100,
85
+ * resultsLimit: 500,
86
+ * targetUsername: 'NASA',
87
+ * usernameContains: 'space',
88
+ * verifiedType: 'Business',
56
89
  * });
57
90
  * ```
58
91
  */
@@ -64,12 +97,14 @@ export class Extractions extends APIResource {
64
97
  }
65
98
 
66
99
  /**
67
- * Export extraction results
100
+ * Downloads completed extraction results in the requested format. JSON rows also
101
+ * keep each result's nested `enrichmentData`, as `GET /extractions/{id}` returns
102
+ * it.
68
103
  *
69
104
  * @example
70
105
  * ```ts
71
106
  * const response = await client.extractions.exportResults(
72
- * 'id',
107
+ * 'L3NjAbCdEfGh',
73
108
  * { format: 'csv' },
74
109
  * );
75
110
  *
@@ -91,19 +126,46 @@ export class Extractions extends APIResource {
91
126
  }
92
127
 
93
128
  /**
94
- * Run extraction
129
+ * Starts one single-target or multi-target extraction. Follow waitUrl, then page
130
+ * statusUrl after completion.
95
131
  *
96
132
  * @example
97
133
  * ```ts
98
134
  * const response = await client.extractions.run({
99
135
  * toolType: 'follower_explorer',
100
- * targetUsername: 'elonmusk',
136
+ * bioContains: 'space, astronomy',
137
+ * businessEmailOnly: true,
138
+ * emailDomains: 'nasa.gov',
139
+ * enrichProfiles: true,
140
+ * hasEmail: true,
141
+ * hasLocation: true,
142
+ * hasWebsite: true,
143
+ * locationContains: 'Houston',
144
+ * maxFollowers: 1000000,
145
+ * maxFollowing: 5000,
146
+ * maxPosts: 100000,
147
+ * minAccountAgeDays: 365,
148
+ * minFollowers: 1000,
149
+ * minFollowing: 10,
150
+ * minPosts: 100,
151
+ * resultsLimit: 500,
152
+ * targetUsername: 'NASA',
153
+ * usernameContains: 'space',
154
+ * verifiedType: 'Business',
101
155
  * });
102
156
  * ```
103
157
  */
104
158
  run(params: ExtractionRunParams, options?: RequestOptions): APIPromise<ExtractionRunResponse> {
105
- const { dry_run, ...body } = params;
106
- return this._client.post('/extractions', { query: { dry_run }, body, ...options });
159
+ const { dry_run, 'Idempotency-Key': idempotencyKey, ...body } = params;
160
+ return this._client.post('/extractions', {
161
+ query: { dry_run },
162
+ body,
163
+ ...options,
164
+ headers: buildHeaders([
165
+ { ...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined) },
166
+ options?.headers,
167
+ ]),
168
+ });
107
169
  }
108
170
  }
109
171
 
@@ -115,7 +177,7 @@ export interface ExtractionJob {
115
177
 
116
178
  createdAt: string;
117
179
 
118
- status: 'running' | 'completed' | 'failed';
180
+ status: 'pending' | 'running' | 'canceled' | 'completed' | 'failed';
119
181
 
120
182
  /**
121
183
  * Identifier for the extraction tool used to run a job.
@@ -145,24 +207,144 @@ export interface ExtractionJob {
145
207
  | 'user_media'
146
208
  | 'verified_follower_explorer';
147
209
 
210
+ /**
211
+ * Whole number from 0.
212
+ */
148
213
  totalResults: number;
149
214
 
150
215
  completedAt?: string;
216
+
217
+ /**
218
+ * Why a terminal job stopped.
219
+ */
220
+ completionReason?:
221
+ | 'budget_limited'
222
+ | 'canceled'
223
+ | 'deadline_reached'
224
+ | 'failed'
225
+ | 'pagination_safety_limit'
226
+ | 'partial_failure'
227
+ | 'requested_limit_reached'
228
+ | 'source_exhausted';
229
+
230
+ /**
231
+ * Result limit after affordability checks.
232
+ */
233
+ effectiveResultsLimit?: number;
234
+
235
+ /**
236
+ * Safe error code for a failed job.
237
+ */
238
+ errorMessage?: string;
239
+
240
+ /**
241
+ * Requested result limit.
242
+ */
243
+ resultsLimit?: number;
151
244
  }
152
245
 
153
246
  export interface ExtractionRetrieveResponse {
154
247
  hasMore: boolean;
155
248
 
156
249
  /**
157
- * Extraction job metadata - shape varies by tool type (JSON)
250
+ * Extraction job tracking status, tool type, and result count.
158
251
  */
159
- job: { [key: string]: unknown };
252
+ job: ExtractionJob;
253
+
254
+ pollAfterMs: number;
160
255
 
161
- results: Array<{ [key: string]: unknown }>;
256
+ results: Array<ExtractionRetrieveResponse.Result>;
257
+
258
+ waitUrl: string;
162
259
 
163
260
  nextCursor?: string;
164
261
  }
165
262
 
263
+ export namespace ExtractionRetrieveResponse {
264
+ /**
265
+ * Represents a public row across supported extraction modes.
266
+ */
267
+ export interface Result {
268
+ id: string;
269
+
270
+ createdAt: string;
271
+
272
+ xUserId: string;
273
+
274
+ /**
275
+ * Whole number from 0.
276
+ */
277
+ bookmarkCount?: number;
278
+
279
+ /**
280
+ * First email the account publishes on its profile, with outputPreset=flat.
281
+ * Default nested output uses enrichmentData.user.email, beside
282
+ * enrichmentData.user.contactInfo. Absent when the profile publishes none.
283
+ */
284
+ email?: string;
285
+
286
+ /**
287
+ * Public metadata whose fields are defined by X.
288
+ */
289
+ enrichmentData?: { [key: string]: unknown };
290
+
291
+ /**
292
+ * Whole number from 0.
293
+ */
294
+ likeCount?: number;
295
+
296
+ /**
297
+ * Attached media with outputPreset=flat. Default nested output uses
298
+ * enrichmentData.tweet.media.
299
+ */
300
+ media?: Array<Shared.TweetMedia>;
301
+
302
+ /**
303
+ * Whole number from 0.
304
+ */
305
+ quoteCount?: number;
306
+
307
+ /**
308
+ * Whole number from 0.
309
+ */
310
+ replyCount?: number;
311
+
312
+ /**
313
+ * Whole number from 0.
314
+ */
315
+ retweetCount?: number;
316
+
317
+ tweetCreatedAt?: string;
318
+
319
+ tweetId?: string;
320
+
321
+ tweetText?: string;
322
+
323
+ tweetUrl?: string;
324
+
325
+ /**
326
+ * Whole number from 0.
327
+ */
328
+ viewCount?: number;
329
+
330
+ xDisplayName?: string;
331
+
332
+ /**
333
+ * Followers of the account. Absent when X sends no count, as for the hosts &
334
+ * speakers of a Space, and never 0 in its place.
335
+ */
336
+ xFollowersCount?: number;
337
+
338
+ xProfileImageUrl?: string;
339
+
340
+ xUsername?: string;
341
+
342
+ xVerified?: boolean;
343
+
344
+ [k: string]: unknown;
345
+ }
346
+ }
347
+
166
348
  export interface ExtractionListResponse {
167
349
  extractions: Array<ExtractionJob>;
168
350
 
@@ -171,47 +353,138 @@ export interface ExtractionListResponse {
171
353
  nextCursor?: string;
172
354
  }
173
355
 
356
+ export interface ExtractionCancelResponse {
357
+ id: string;
358
+
359
+ status: 'canceled';
360
+ }
361
+
362
+ /**
363
+ * Free conservative cost estimate. Post estimates use the supported cap & refuse a
364
+ * protected profile. It never creates a job or charges.
365
+ */
174
366
  export interface ExtractionEstimateCostResponse {
367
+ /**
368
+ * Whether the balance covers the full estimate.
369
+ */
175
370
  allowed: boolean;
176
371
 
177
372
  creditsAvailable: string;
178
373
 
179
374
  creditsRequired: string;
180
375
 
376
+ /**
377
+ * Credit calculation row count, not source availability.
378
+ */
181
379
  estimatedResults: number;
182
380
 
183
381
  source:
184
382
  | 'followers'
185
383
  | 'following'
186
384
  | 'collection'
385
+ | 'likeCount'
187
386
  | 'paginationCap'
188
- | 'posts'
189
387
  | 'quoteCount'
190
388
  | 'replyCount'
191
389
  | 'resultsLimit'
192
390
  | 'retweetCount'
193
391
  | 'unknown';
194
392
 
393
+ /**
394
+ * Resolved X user ID from count-based profile estimates.
395
+ */
195
396
  resolvedXUserId?: string;
196
397
  }
197
398
 
198
- export interface ExtractionRunResponse {
199
- allowed: boolean;
399
+ /**
400
+ * Free conservative cost estimate. Post estimates use the supported cap & refuse a
401
+ * protected profile. It never creates a job or charges.
402
+ */
403
+ export type ExtractionRunResponse = ExtractionRunResponse.ExtractionEstimate | ExtractionRunResponse.Accepted;
200
404
 
201
- creditsAvailable: string;
405
+ export namespace ExtractionRunResponse {
406
+ /**
407
+ * Free conservative cost estimate. Post estimates use the supported cap & refuse a
408
+ * protected profile. It never creates a job or charges.
409
+ */
410
+ export interface ExtractionEstimate {
411
+ /**
412
+ * Whether the balance covers the full estimate.
413
+ */
414
+ allowed: boolean;
202
415
 
203
- creditsRequired: string;
416
+ creditsAvailable: string;
204
417
 
205
- estimatedResults: number;
418
+ creditsRequired: string;
206
419
 
207
- source: string;
420
+ /**
421
+ * Credit calculation row count, not source availability.
422
+ */
423
+ estimatedResults: number;
208
424
 
209
- resolvedXUserId?: string;
425
+ source:
426
+ | 'followers'
427
+ | 'following'
428
+ | 'collection'
429
+ | 'likeCount'
430
+ | 'paginationCap'
431
+ | 'quoteCount'
432
+ | 'replyCount'
433
+ | 'resultsLimit'
434
+ | 'retweetCount'
435
+ | 'unknown';
436
+
437
+ /**
438
+ * Resolved X user ID from count-based profile estimates.
439
+ */
440
+ resolvedXUserId?: string;
441
+ }
442
+
443
+ export interface Accepted {
444
+ id: string;
445
+
446
+ pollAfterMs: number;
447
+
448
+ status: 'pending' | 'running' | 'canceled' | 'completed' | 'failed';
449
+
450
+ statusUrl: string;
451
+
452
+ /**
453
+ * Identifier for the extraction tool used to run a job.
454
+ */
455
+ toolType:
456
+ | 'article_extractor'
457
+ | 'community_extractor'
458
+ | 'community_moderator_explorer'
459
+ | 'community_post_extractor'
460
+ | 'community_search'
461
+ | 'favoriters'
462
+ | 'follower_explorer'
463
+ | 'following_explorer'
464
+ | 'list_follower_explorer'
465
+ | 'list_member_extractor'
466
+ | 'list_post_extractor'
467
+ | 'mention_extractor'
468
+ | 'people_search'
469
+ | 'post_extractor'
470
+ | 'quote_extractor'
471
+ | 'reply_extractor'
472
+ | 'repost_extractor'
473
+ | 'space_explorer'
474
+ | 'thread_extractor'
475
+ | 'tweet_search_extractor'
476
+ | 'user_likes'
477
+ | 'user_media'
478
+ | 'verified_follower_explorer';
479
+
480
+ waitUrl: string;
481
+ }
210
482
  }
211
483
 
212
484
  export interface ExtractionRetrieveParams {
213
485
  /**
214
- * Previous nextCursor.
486
+ * Previous nextCursor. The after alias also works. Offset pagination is not
487
+ * supported.
215
488
  */
216
489
  cursor?: string;
217
490
 
@@ -226,12 +499,13 @@ export interface ExtractionRetrieveParams {
226
499
  includeRaw?: boolean;
227
500
 
228
501
  /**
229
- * Maximum number of results to return (1-1000, default 100)
502
+ * Maximum results per page (1-1000, default 100).
230
503
  */
231
504
  limit?: number;
232
505
 
233
506
  /**
234
- * Select compact, full, or raw-compatible result fields.
507
+ * Use compact for core fields and tweet counts, full for nested enrichment, or raw
508
+ * for a source copy.
235
509
  */
236
510
  outputMode?: 'compact' | 'full' | 'raw';
237
511
 
@@ -239,26 +513,30 @@ export interface ExtractionRetrieveParams {
239
513
  * Keep enrichment nested or merge it into each result.
240
514
  */
241
515
  outputPreset?: 'nested' | 'flat';
516
+
517
+ /**
518
+ * Wait up to this many seconds when the job is active.
519
+ */
520
+ wait?: number;
242
521
  }
243
522
 
244
523
  export interface ExtractionListParams {
245
524
  /**
246
- * Previous nextCursor.
525
+ * Previous nextCursor. The after alias also works. Offset pagination is not
526
+ * supported.
247
527
  */
248
528
  cursor?: string;
249
529
 
250
530
  /**
251
- * Maximum number of items to return (1-100, default 50). For paid per-result
252
- * endpoints, the returned count may be lower when available usage balance cannot cover
253
- * the requested page. If zero paid results are affordable, the endpoint returns
254
- * 402 insufficient_credits.
531
+ * Maximum items per page: 1 to 100, default 50. Credits can reduce paid results.
532
+ * With none affordable, it returns 402 insufficient_credits.
255
533
  */
256
534
  limit?: number;
257
535
 
258
536
  /**
259
537
  * Filter by job status
260
538
  */
261
- status?: 'running' | 'completed' | 'failed';
539
+ status?: 'pending' | 'running' | 'canceled' | 'completed' | 'failed';
262
540
 
263
541
  /**
264
542
  * Filter by extraction tool type
@@ -324,18 +602,18 @@ export interface ExtractionEstimateCostParams {
324
602
  advancedQuery?: string;
325
603
 
326
604
  /**
327
- * Words or quoted phrases where any one can match. Separate with spaces, commas,
328
- * or lines. (tweet_search_extractor)
605
+ * Any matching term or phrase (tweet_search_extractor).
329
606
  */
330
607
  anyWords?: string;
331
608
 
332
609
  /**
333
- * Bio terms separated by commas or lines.
610
+ * Match any bio term, ignoring case. Separate terms with commas or lines.
334
611
  */
335
612
  bioContains?: string;
336
613
 
337
614
  /**
338
- * Return only Blue-verified Tweet authors.
615
+ * Return only Blue-verified Tweet authors. On a tool that returns users, return
616
+ * only profiles X marks as blue verified.
339
617
  */
340
618
  blueVerifiedOnly?: boolean;
341
619
 
@@ -345,12 +623,17 @@ export interface ExtractionEstimateCostParams {
345
623
  boundingBox?: string;
346
624
 
347
625
  /**
348
- * Match the Tweet card name.
626
+ * Require an email the profile publishes outside free webmail, such as Gmail.
627
+ */
628
+ businessEmailOnly?: boolean;
629
+
630
+ /**
631
+ * Require Tweet cards whose name matches this value.
349
632
  */
350
633
  cardName?: string;
351
634
 
352
635
  /**
353
- * Cashtags separated by spaces, commas, or lines. (tweet_search_extractor)
636
+ * Matching cashtags (tweet_search_extractor).
354
637
  */
355
638
  cashtags?: string;
356
639
 
@@ -374,6 +657,19 @@ export interface ExtractionEstimateCostParams {
374
657
  */
375
658
  dedupeMode?: 'none' | 'first' | 'merge';
376
659
 
660
+ /**
661
+ * Require an email at one of these domains. Separate domains with commas.
662
+ * Subdomains match.
663
+ */
664
+ emailDomains?: string;
665
+
666
+ /**
667
+ * Add each user's full profile to follower_explorer, following_explorer,
668
+ * verified_follower_explorer, people_search & repost_extractor rows. Jobs take
669
+ * longer.
670
+ */
671
+ enrichProfiles?: boolean;
672
+
377
673
  /**
378
674
  * Exact phrase to match (tweet_search_extractor)
379
675
  */
@@ -385,13 +681,14 @@ export interface ExtractionEstimateCostParams {
385
681
  excludeOriginalAuthor?: boolean;
386
682
 
387
683
  /**
388
- * Exclude a source application.
684
+ * X search ignores excludeSource, so an extraction with it returns unfiltered
685
+ * rows. Its answers carry `Deprecation` & `Sunset` headers. From 2027-01-15 an
686
+ * extraction with it answers 424 `search_unavailable` & charges nothing.
389
687
  */
390
688
  excludeSource?: string;
391
689
 
392
690
  /**
393
- * Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
394
- * (tweet_search_extractor)
691
+ * Excluded terms or phrases (tweet_search_extractor).
395
692
  */
396
693
  excludeWords?: string;
397
694
 
@@ -401,12 +698,18 @@ export interface ExtractionEstimateCostParams {
401
698
  fromUser?: string;
402
699
 
403
700
  /**
404
- * Match latitude, longitude, and radius.
701
+ * X search no longer supports geocode. An extraction with it answers 424
702
+ * `search_unavailable` & charges nothing.
405
703
  */
406
704
  geocode?: string;
407
705
 
408
706
  /**
409
- * Hashtags separated by spaces, commas, or lines. (tweet_search_extractor)
707
+ * Require an email the profile publishes.
708
+ */
709
+ hasEmail?: boolean;
710
+
711
+ /**
712
+ * Matching hashtags (tweet_search_extractor).
410
713
  */
411
714
  hashtags?: string;
412
715
 
@@ -446,7 +749,7 @@ export interface ExtractionEstimateCostParams {
446
749
  inReplyToTweetId?: string;
447
750
 
448
751
  /**
449
- * Language code filter (tweet_search_extractor)
752
+ * Tweet or Community search language.
450
753
  */
451
754
  language?: string;
452
755
 
@@ -476,7 +779,7 @@ export interface ExtractionEstimateCostParams {
476
779
  maxFollowing?: number;
477
780
 
478
781
  /**
479
- * Return Tweets older than this Tweet ID.
782
+ * Require Tweet IDs at or below this ID.
480
783
  */
481
784
  maxId?: string;
482
785
 
@@ -516,12 +819,12 @@ export interface ExtractionEstimateCostParams {
516
819
  maxRetweets?: number;
517
820
 
518
821
  /**
519
- * Media type filter (tweet_search_extractor)
822
+ * Tweet or Community search media.
520
823
  */
521
824
  mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
522
825
 
523
826
  /**
524
- * Filter tweets mentioning a username (tweet_search_extractor)
827
+ * Mentions this username (tweet_search_extractor).
525
828
  */
526
829
  mentioning?: string;
527
830
 
@@ -536,7 +839,7 @@ export interface ExtractionEstimateCostParams {
536
839
  minBookmarks?: number;
537
840
 
538
841
  /**
539
- * Minimum likes threshold (tweet_search_extractor)
842
+ * Tweet or Community search minimum likes.
540
843
  */
541
844
  minFaves?: number;
542
845
 
@@ -561,32 +864,33 @@ export interface ExtractionEstimateCostParams {
561
864
  minQuotes?: number;
562
865
 
563
866
  /**
564
- * Minimum replies threshold (tweet_search_extractor)
867
+ * Tweet or Community search minimum replies.
565
868
  */
566
869
  minReplies?: number;
567
870
 
568
871
  /**
569
- * Minimum retweets threshold (tweet_search_extractor)
872
+ * Tweet or Community search minimum reposts.
570
873
  */
571
874
  minRetweets?: number;
572
875
 
573
876
  /**
574
- * Minimum Tweet view count.
877
+ * Tweet or Community search minimum views.
575
878
  */
576
879
  minViews?: number;
577
880
 
578
881
  /**
579
- * Only return native reposts.
882
+ * Tweet or Community search native reposts.
580
883
  */
581
884
  nativeRetweets?: boolean;
582
885
 
583
886
  /**
584
- * Match a place name.
887
+ * Restrict Tweet search to this place name.
585
888
  */
586
889
  near?: string;
587
890
 
588
891
  /**
589
- * Only return news results.
892
+ * X search no longer supports filter:news. An extraction with news true answers
893
+ * 424 `search_unavailable` & charges nothing.
590
894
  */
591
895
  news?: boolean;
592
896
 
@@ -611,12 +915,12 @@ export interface ExtractionEstimateCostParams {
611
915
  pointRadius?: string;
612
916
 
613
917
  /**
614
- * Search ranking applied to every query.
918
+ * Use Top for engagement. The relevance alias maps to Top.
615
919
  */
616
- queryType?: 'Latest' | 'Top' | 'Both';
920
+ queryType?: 'Latest' | 'Top' | 'Both' | 'relevance';
617
921
 
618
922
  /**
619
- * Quote mode (tweet_search_extractor)
923
+ * Choose whether tweet search includes, excludes, or isolates quotes.
620
924
  */
621
925
  quotes?: 'include' | 'exclude' | 'only';
622
926
 
@@ -626,23 +930,24 @@ export interface ExtractionEstimateCostParams {
626
930
  quotesOfTweetId?: string;
627
931
 
628
932
  /**
629
- * Profile relations processed within one job.
933
+ * Profile relations processed within one job. Protected profiles are skipped & the
934
+ * job ends with partial_failure.
630
935
  */
631
936
  relationTargets?: Array<ExtractionEstimateCostParams.RelationTarget>;
632
937
 
633
938
  /**
634
- * Reply mode (tweet_search_extractor)
939
+ * Choose whether tweet search includes, excludes, or isolates replies.
635
940
  */
636
941
  replies?: 'include' | 'exclude' | 'only';
637
942
 
638
943
  /**
639
- * Maximum number of results to extract. When set, the extraction stops after
640
- * reaching this limit.
944
+ * Maximum unique results to emit. Billing follows emitted results, not this upper
945
+ * bound.
641
946
  */
642
947
  resultsLimit?: number;
643
948
 
644
949
  /**
645
- * Retweet mode (tweet_search_extractor)
950
+ * Choose whether tweet search includes, excludes, or isolates reposts.
646
951
  */
647
952
  retweets?: 'include' | 'exclude' | 'only';
648
953
 
@@ -652,7 +957,7 @@ export interface ExtractionEstimateCostParams {
652
957
  retweetsOfTweetId?: string;
653
958
 
654
959
  /**
655
- * Enable the safe-search filter.
960
+ * Apply safe-search filtering to Tweet results.
656
961
  */
657
962
  safe?: boolean;
658
963
 
@@ -662,22 +967,26 @@ export interface ExtractionEstimateCostParams {
662
967
  scope?: 'all' | 'direct' | 'nested';
663
968
 
664
969
  /**
665
- * Search queries processed as one collection job.
970
+ * Search queries processed as one collection job. Each follows the rules of
971
+ * searchQuery, its structured fields & 512-character limit included.
666
972
  */
667
973
  searchQueries?: Array<string>;
668
974
 
669
975
  /**
670
- * Required for tweet_search_extractor & community_search.
976
+ * Required for tweet_search_extractor, people_search & community_search.
977
+ * tweet_search_extractor adds the structured search fields, such as fromUser &
978
+ * minFaves, to this query. X searches up to 512 characters. A longer tweet or
979
+ * people search answers 400, counted with the added fields.
671
980
  */
672
981
  searchQuery?: string;
673
982
 
674
983
  /**
675
- * Start date YYYY-MM-DD (tweet_search_extractor)
984
+ * Tweet or Community search start date.
676
985
  */
677
986
  sinceDate?: string;
678
987
 
679
988
  /**
680
- * Return Tweets newer than this Tweet ID.
989
+ * Require Tweet IDs above this ID.
681
990
  */
682
991
  sinceId?: string;
683
992
 
@@ -692,7 +1001,8 @@ export interface ExtractionEstimateCostParams {
692
1001
  sort?: 'relevance' | 'latest' | 'oldest' | 'likes';
693
1002
 
694
1003
  /**
695
- * Match the source application.
1004
+ * X search no longer supports source. An extraction with it answers 424
1005
+ * `search_unavailable` & charges nothing.
696
1006
  */
697
1007
  source?: string;
698
1008
 
@@ -723,12 +1033,16 @@ export interface ExtractionEstimateCostParams {
723
1033
  targetListIds?: Array<string>;
724
1034
 
725
1035
  /**
726
- * Mixed targets auto-routed within one job.
1036
+ * Mixed targets auto-routed within one job. Use tweet, replies, quotes, thread, or
1037
+ * profile_media kinds to collect attached media. Protected profiles are skipped &
1038
+ * the job ends with partial_failure.
727
1039
  */
728
1040
  targets?: Array<string | ExtractionEstimateCostParams.UnionMember1>;
729
1041
 
730
1042
  /**
731
- * Required for space_explorer.
1043
+ * Required for space_explorer. X names a Space's hosts & speakers without counts
1044
+ * or bio, so Xquik reads each one's profile. Rows carry it, & profile filters such
1045
+ * as minFollowers check it.
732
1046
  */
733
1047
  targetSpaceId?: string;
734
1048
 
@@ -742,17 +1056,19 @@ export interface ExtractionEstimateCostParams {
742
1056
  targetUsername?: string;
743
1057
 
744
1058
  /**
745
- * Usernames processed as one collection job.
1059
+ * Usernames processed concurrently in one job. With tweet_search_extractor, each
1060
+ * username collects posts. Post & media jobs skip a protected profile & end with
1061
+ * partial_failure.
746
1062
  */
747
1063
  targetUsernames?: Array<string>;
748
1064
 
749
1065
  /**
750
- * Filter replies sent to a username (tweet_search_extractor)
1066
+ * Replies to this username (tweet_search_extractor).
751
1067
  */
752
1068
  toUser?: string;
753
1069
 
754
1070
  /**
755
- * End date YYYY-MM-DD (tweet_search_extractor)
1071
+ * Tweet or Community search end date.
756
1072
  */
757
1073
  untilDate?: string;
758
1074
 
@@ -772,7 +1088,7 @@ export interface ExtractionEstimateCostParams {
772
1088
  usernameContains?: string;
773
1089
 
774
1090
  /**
775
- * Only verified authors (tweet_search_extractor)
1091
+ * Tweet or Community search verified authors.
776
1092
  */
777
1093
  verifiedOnly?: boolean;
778
1094
 
@@ -782,12 +1098,13 @@ export interface ExtractionEstimateCostParams {
782
1098
  verifiedType?: string;
783
1099
 
784
1100
  /**
785
- * Set the radius for the near filter.
1101
+ * X search no longer supports within. An extraction with it answers 424
1102
+ * `search_unavailable` & charges nothing. Use near alone.
786
1103
  */
787
1104
  within?: string;
788
1105
 
789
1106
  /**
790
- * Match Tweets inside a recent time window.
1107
+ * Restrict Tweets to this recent time window.
791
1108
  */
792
1109
  withinTime?: string;
793
1110
  }
@@ -833,11 +1150,27 @@ export interface ExtractionExportResultsParams {
833
1150
  */
834
1151
  format: 'csv' | 'json' | 'md' | 'md-document' | 'pdf' | 'txt' | 'xlsx';
835
1152
 
1153
+ /**
1154
+ * Require an email outside free webmail, such as Gmail, in the row's Email column.
1155
+ */
1156
+ businessEmailOnly?: boolean;
1157
+
1158
+ /**
1159
+ * Require the row's email at one of these domains. Separate domains with commas.
1160
+ * Subdomains match.
1161
+ */
1162
+ emailDomains?: string;
1163
+
836
1164
  /**
837
1165
  * Require a non-empty description.
838
1166
  */
839
1167
  hasDescription?: boolean;
840
1168
 
1169
+ /**
1170
+ * Require an email in the row's Email column.
1171
+ */
1172
+ hasEmail?: boolean;
1173
+
841
1174
  /**
842
1175
  * Require a non-empty location.
843
1176
  */
@@ -909,12 +1242,16 @@ export interface ExtractionExportResultsParams {
909
1242
  search?: string;
910
1243
 
911
1244
  /**
912
- * Include results on or after this date.
1245
+ * Include results on or after this date, from 00:00 UTC. An ISO 8601 time starts
1246
+ * at that instant. Results without a post date are left out. An empty value sets
1247
+ * no filter.
913
1248
  */
914
1249
  sinceDate?: string;
915
1250
 
916
1251
  /**
917
- * Include results on or before this date.
1252
+ * Include results on or before this date, inclusive, through 23:59:59 UTC. An ISO
1253
+ * 8601 time ends at that instant. Results without a post date are left out. An
1254
+ * empty value sets no filter.
918
1255
  */
919
1256
  untilDate?: string;
920
1257
 
@@ -964,18 +1301,19 @@ export interface ExtractionRunParams {
964
1301
  advancedQuery?: string;
965
1302
 
966
1303
  /**
967
- * Body param: Words or quoted phrases where any one can match. Separate with
968
- * spaces, commas, or lines. (tweet_search_extractor)
1304
+ * Body param: Any matching term or phrase (tweet_search_extractor).
969
1305
  */
970
1306
  anyWords?: string;
971
1307
 
972
1308
  /**
973
- * Body param: Bio terms separated by commas or lines.
1309
+ * Body param: Match any bio term, ignoring case. Separate terms with commas or
1310
+ * lines.
974
1311
  */
975
1312
  bioContains?: string;
976
1313
 
977
1314
  /**
978
- * Body param: Return only Blue-verified Tweet authors.
1315
+ * Body param: Return only Blue-verified Tweet authors. On a tool that returns
1316
+ * users, return only profiles X marks as blue verified.
979
1317
  */
980
1318
  blueVerifiedOnly?: boolean;
981
1319
 
@@ -986,13 +1324,18 @@ export interface ExtractionRunParams {
986
1324
  boundingBox?: string;
987
1325
 
988
1326
  /**
989
- * Body param: Match the Tweet card name.
1327
+ * Body param: Require an email the profile publishes outside free webmail, such as
1328
+ * Gmail.
1329
+ */
1330
+ businessEmailOnly?: boolean;
1331
+
1332
+ /**
1333
+ * Body param: Require Tweet cards whose name matches this value.
990
1334
  */
991
1335
  cardName?: string;
992
1336
 
993
1337
  /**
994
- * Body param: Cashtags separated by spaces, commas, or lines.
995
- * (tweet_search_extractor)
1338
+ * Body param: Matching cashtags (tweet_search_extractor).
996
1339
  */
997
1340
  cashtags?: string;
998
1341
 
@@ -1016,6 +1359,19 @@ export interface ExtractionRunParams {
1016
1359
  */
1017
1360
  dedupeMode?: 'none' | 'first' | 'merge';
1018
1361
 
1362
+ /**
1363
+ * Body param: Require an email at one of these domains. Separate domains with
1364
+ * commas. Subdomains match.
1365
+ */
1366
+ emailDomains?: string;
1367
+
1368
+ /**
1369
+ * Body param: Add each user's full profile to follower_explorer,
1370
+ * following_explorer, verified_follower_explorer, people_search & repost_extractor
1371
+ * rows. Jobs take longer.
1372
+ */
1373
+ enrichProfiles?: boolean;
1374
+
1019
1375
  /**
1020
1376
  * Body param: Exact phrase to match (tweet_search_extractor)
1021
1377
  */
@@ -1027,13 +1383,15 @@ export interface ExtractionRunParams {
1027
1383
  excludeOriginalAuthor?: boolean;
1028
1384
 
1029
1385
  /**
1030
- * Body param: Exclude a source application.
1386
+ * Body param: X search ignores excludeSource, so an extraction with it returns
1387
+ * unfiltered rows. Its answers carry `Deprecation` & `Sunset` headers. From
1388
+ * 2027-01-15 an extraction with it answers 424 `search_unavailable` & charges
1389
+ * nothing.
1031
1390
  */
1032
1391
  excludeSource?: string;
1033
1392
 
1034
1393
  /**
1035
- * Body param: Words or quoted phrases to exclude. Separate with spaces, commas, or
1036
- * lines. (tweet_search_extractor)
1394
+ * Body param: Excluded terms or phrases (tweet_search_extractor).
1037
1395
  */
1038
1396
  excludeWords?: string;
1039
1397
 
@@ -1043,13 +1401,18 @@ export interface ExtractionRunParams {
1043
1401
  fromUser?: string;
1044
1402
 
1045
1403
  /**
1046
- * Body param: Match latitude, longitude, and radius.
1404
+ * Body param: X search no longer supports geocode. An extraction with it answers
1405
+ * 424 `search_unavailable` & charges nothing.
1047
1406
  */
1048
1407
  geocode?: string;
1049
1408
 
1050
1409
  /**
1051
- * Body param: Hashtags separated by spaces, commas, or lines.
1052
- * (tweet_search_extractor)
1410
+ * Body param: Require an email the profile publishes.
1411
+ */
1412
+ hasEmail?: boolean;
1413
+
1414
+ /**
1415
+ * Body param: Matching hashtags (tweet_search_extractor).
1053
1416
  */
1054
1417
  hashtags?: string;
1055
1418
 
@@ -1089,7 +1452,7 @@ export interface ExtractionRunParams {
1089
1452
  inReplyToTweetId?: string;
1090
1453
 
1091
1454
  /**
1092
- * Body param: Language code filter (tweet_search_extractor)
1455
+ * Body param: Tweet or Community search language.
1093
1456
  */
1094
1457
  language?: string;
1095
1458
 
@@ -1119,7 +1482,7 @@ export interface ExtractionRunParams {
1119
1482
  maxFollowing?: number;
1120
1483
 
1121
1484
  /**
1122
- * Body param: Return Tweets older than this Tweet ID.
1485
+ * Body param: Require Tweet IDs at or below this ID.
1123
1486
  */
1124
1487
  maxId?: string;
1125
1488
 
@@ -1159,12 +1522,12 @@ export interface ExtractionRunParams {
1159
1522
  maxRetweets?: number;
1160
1523
 
1161
1524
  /**
1162
- * Body param: Media type filter (tweet_search_extractor)
1525
+ * Body param: Tweet or Community search media.
1163
1526
  */
1164
1527
  mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
1165
1528
 
1166
1529
  /**
1167
- * Body param: Filter tweets mentioning a username (tweet_search_extractor)
1530
+ * Body param: Mentions this username (tweet_search_extractor).
1168
1531
  */
1169
1532
  mentioning?: string;
1170
1533
 
@@ -1179,7 +1542,7 @@ export interface ExtractionRunParams {
1179
1542
  minBookmarks?: number;
1180
1543
 
1181
1544
  /**
1182
- * Body param: Minimum likes threshold (tweet_search_extractor)
1545
+ * Body param: Tweet or Community search minimum likes.
1183
1546
  */
1184
1547
  minFaves?: number;
1185
1548
 
@@ -1204,32 +1567,33 @@ export interface ExtractionRunParams {
1204
1567
  minQuotes?: number;
1205
1568
 
1206
1569
  /**
1207
- * Body param: Minimum replies threshold (tweet_search_extractor)
1570
+ * Body param: Tweet or Community search minimum replies.
1208
1571
  */
1209
1572
  minReplies?: number;
1210
1573
 
1211
1574
  /**
1212
- * Body param: Minimum retweets threshold (tweet_search_extractor)
1575
+ * Body param: Tweet or Community search minimum reposts.
1213
1576
  */
1214
1577
  minRetweets?: number;
1215
1578
 
1216
1579
  /**
1217
- * Body param: Minimum Tweet view count.
1580
+ * Body param: Tweet or Community search minimum views.
1218
1581
  */
1219
1582
  minViews?: number;
1220
1583
 
1221
1584
  /**
1222
- * Body param: Only return native reposts.
1585
+ * Body param: Tweet or Community search native reposts.
1223
1586
  */
1224
1587
  nativeRetweets?: boolean;
1225
1588
 
1226
1589
  /**
1227
- * Body param: Match a place name.
1590
+ * Body param: Restrict Tweet search to this place name.
1228
1591
  */
1229
1592
  near?: string;
1230
1593
 
1231
1594
  /**
1232
- * Body param: Only return news results.
1595
+ * Body param: X search no longer supports filter:news. An extraction with news
1596
+ * true answers 424 `search_unavailable` & charges nothing.
1233
1597
  */
1234
1598
  news?: boolean;
1235
1599
 
@@ -1254,12 +1618,12 @@ export interface ExtractionRunParams {
1254
1618
  pointRadius?: string;
1255
1619
 
1256
1620
  /**
1257
- * Body param: Search ranking applied to every query.
1621
+ * Body param: Use Top for engagement. The relevance alias maps to Top.
1258
1622
  */
1259
- queryType?: 'Latest' | 'Top' | 'Both';
1623
+ queryType?: 'Latest' | 'Top' | 'Both' | 'relevance';
1260
1624
 
1261
1625
  /**
1262
- * Body param: Quote mode (tweet_search_extractor)
1626
+ * Body param: Choose whether tweet search includes, excludes, or isolates quotes.
1263
1627
  */
1264
1628
  quotes?: 'include' | 'exclude' | 'only';
1265
1629
 
@@ -1269,23 +1633,24 @@ export interface ExtractionRunParams {
1269
1633
  quotesOfTweetId?: string;
1270
1634
 
1271
1635
  /**
1272
- * Body param: Profile relations processed within one job.
1636
+ * Body param: Profile relations processed within one job. Protected profiles are
1637
+ * skipped & the job ends with partial_failure.
1273
1638
  */
1274
1639
  relationTargets?: Array<ExtractionRunParams.RelationTarget>;
1275
1640
 
1276
1641
  /**
1277
- * Body param: Reply mode (tweet_search_extractor)
1642
+ * Body param: Choose whether tweet search includes, excludes, or isolates replies.
1278
1643
  */
1279
1644
  replies?: 'include' | 'exclude' | 'only';
1280
1645
 
1281
1646
  /**
1282
- * Body param: Maximum number of results to extract. When set, the extraction stops
1283
- * after reaching this limit.
1647
+ * Body param: Maximum unique results to emit. Billing follows emitted results, not
1648
+ * this upper bound.
1284
1649
  */
1285
1650
  resultsLimit?: number;
1286
1651
 
1287
1652
  /**
1288
- * Body param: Retweet mode (tweet_search_extractor)
1653
+ * Body param: Choose whether tweet search includes, excludes, or isolates reposts.
1289
1654
  */
1290
1655
  retweets?: 'include' | 'exclude' | 'only';
1291
1656
 
@@ -1295,7 +1660,7 @@ export interface ExtractionRunParams {
1295
1660
  retweetsOfTweetId?: string;
1296
1661
 
1297
1662
  /**
1298
- * Body param: Enable the safe-search filter.
1663
+ * Body param: Apply safe-search filtering to Tweet results.
1299
1664
  */
1300
1665
  safe?: boolean;
1301
1666
 
@@ -1305,22 +1670,26 @@ export interface ExtractionRunParams {
1305
1670
  scope?: 'all' | 'direct' | 'nested';
1306
1671
 
1307
1672
  /**
1308
- * Body param: Search queries processed as one collection job.
1673
+ * Body param: Search queries processed as one collection job. Each follows the
1674
+ * rules of searchQuery, its structured fields & 512-character limit included.
1309
1675
  */
1310
1676
  searchQueries?: Array<string>;
1311
1677
 
1312
1678
  /**
1313
- * Body param: Required for tweet_search_extractor & community_search.
1679
+ * Body param: Required for tweet_search_extractor, people_search &
1680
+ * community_search. tweet_search_extractor adds the structured search fields, such
1681
+ * as fromUser & minFaves, to this query. X searches up to 512 characters. A longer
1682
+ * tweet or people search answers 400, counted with the added fields.
1314
1683
  */
1315
1684
  searchQuery?: string;
1316
1685
 
1317
1686
  /**
1318
- * Body param: Start date YYYY-MM-DD (tweet_search_extractor)
1687
+ * Body param: Tweet or Community search start date.
1319
1688
  */
1320
1689
  sinceDate?: string;
1321
1690
 
1322
1691
  /**
1323
- * Body param: Return Tweets newer than this Tweet ID.
1692
+ * Body param: Require Tweet IDs above this ID.
1324
1693
  */
1325
1694
  sinceId?: string;
1326
1695
 
@@ -1335,7 +1704,8 @@ export interface ExtractionRunParams {
1335
1704
  sort?: 'relevance' | 'latest' | 'oldest' | 'likes';
1336
1705
 
1337
1706
  /**
1338
- * Body param: Match the source application.
1707
+ * Body param: X search no longer supports source. An extraction with it answers
1708
+ * 424 `search_unavailable` & charges nothing.
1339
1709
  */
1340
1710
  source?: string;
1341
1711
 
@@ -1366,12 +1736,16 @@ export interface ExtractionRunParams {
1366
1736
  targetListIds?: Array<string>;
1367
1737
 
1368
1738
  /**
1369
- * Body param: Mixed targets auto-routed within one job.
1739
+ * Body param: Mixed targets auto-routed within one job. Use tweet, replies,
1740
+ * quotes, thread, or profile_media kinds to collect attached media. Protected
1741
+ * profiles are skipped & the job ends with partial_failure.
1370
1742
  */
1371
1743
  targets?: Array<string | ExtractionRunParams.UnionMember1>;
1372
1744
 
1373
1745
  /**
1374
- * Body param: Required for space_explorer.
1746
+ * Body param: Required for space_explorer. X names a Space's hosts & speakers
1747
+ * without counts or bio, so Xquik reads each one's profile. Rows carry it, &
1748
+ * profile filters such as minFollowers check it.
1375
1749
  */
1376
1750
  targetSpaceId?: string;
1377
1751
 
@@ -1391,17 +1765,19 @@ export interface ExtractionRunParams {
1391
1765
  targetUsername?: string;
1392
1766
 
1393
1767
  /**
1394
- * Body param: Usernames processed as one collection job.
1768
+ * Body param: Usernames processed concurrently in one job. With
1769
+ * tweet_search_extractor, each username collects posts. Post & media jobs skip a
1770
+ * protected profile & end with partial_failure.
1395
1771
  */
1396
1772
  targetUsernames?: Array<string>;
1397
1773
 
1398
1774
  /**
1399
- * Body param: Filter replies sent to a username (tweet_search_extractor)
1775
+ * Body param: Replies to this username (tweet_search_extractor).
1400
1776
  */
1401
1777
  toUser?: string;
1402
1778
 
1403
1779
  /**
1404
- * Body param: End date YYYY-MM-DD (tweet_search_extractor)
1780
+ * Body param: Tweet or Community search end date.
1405
1781
  */
1406
1782
  untilDate?: string;
1407
1783
 
@@ -1421,7 +1797,7 @@ export interface ExtractionRunParams {
1421
1797
  usernameContains?: string;
1422
1798
 
1423
1799
  /**
1424
- * Body param: Only verified authors (tweet_search_extractor)
1800
+ * Body param: Tweet or Community search verified authors.
1425
1801
  */
1426
1802
  verifiedOnly?: boolean;
1427
1803
 
@@ -1431,14 +1807,22 @@ export interface ExtractionRunParams {
1431
1807
  verifiedType?: string;
1432
1808
 
1433
1809
  /**
1434
- * Body param: Set the radius for the near filter.
1810
+ * Body param: X search no longer supports within. An extraction with it answers
1811
+ * 424 `search_unavailable` & charges nothing. Use near alone.
1435
1812
  */
1436
1813
  within?: string;
1437
1814
 
1438
1815
  /**
1439
- * Body param: Match Tweets inside a recent time window.
1816
+ * Body param: Restrict Tweets to this recent time window.
1440
1817
  */
1441
1818
  withinTime?: string;
1819
+
1820
+ /**
1821
+ * Header param: Generate 1 unique value per intended request. Reuse it only to
1822
+ * retry the same request. Exact retries return the original result & charge
1823
+ * nothing.
1824
+ */
1825
+ 'Idempotency-Key'?: string;
1442
1826
  }
1443
1827
 
1444
1828
  export namespace ExtractionRunParams {
@@ -1481,6 +1865,7 @@ export declare namespace Extractions {
1481
1865
  type ExtractionJob as ExtractionJob,
1482
1866
  type ExtractionRetrieveResponse as ExtractionRetrieveResponse,
1483
1867
  type ExtractionListResponse as ExtractionListResponse,
1868
+ type ExtractionCancelResponse as ExtractionCancelResponse,
1484
1869
  type ExtractionEstimateCostResponse as ExtractionEstimateCostResponse,
1485
1870
  type ExtractionRunResponse as ExtractionRunResponse,
1486
1871
  type ExtractionRetrieveParams as ExtractionRetrieveParams,