influship 0.2.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 (426) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/LICENSE +201 -0
  3. package/README.md +372 -0
  4. package/api-promise.d.mts +2 -0
  5. package/api-promise.d.mts.map +1 -0
  6. package/api-promise.d.ts +2 -0
  7. package/api-promise.d.ts.map +1 -0
  8. package/api-promise.js +6 -0
  9. package/api-promise.js.map +1 -0
  10. package/api-promise.mjs +2 -0
  11. package/api-promise.mjs.map +1 -0
  12. package/client.d.mts +198 -0
  13. package/client.d.mts.map +1 -0
  14. package/client.d.ts +198 -0
  15. package/client.d.ts.map +1 -0
  16. package/client.js +469 -0
  17. package/client.js.map +1 -0
  18. package/client.mjs +465 -0
  19. package/client.mjs.map +1 -0
  20. package/core/api-promise.d.mts +46 -0
  21. package/core/api-promise.d.mts.map +1 -0
  22. package/core/api-promise.d.ts +46 -0
  23. package/core/api-promise.d.ts.map +1 -0
  24. package/core/api-promise.js +74 -0
  25. package/core/api-promise.js.map +1 -0
  26. package/core/api-promise.mjs +70 -0
  27. package/core/api-promise.mjs.map +1 -0
  28. package/core/error.d.mts +46 -0
  29. package/core/error.d.mts.map +1 -0
  30. package/core/error.d.ts +46 -0
  31. package/core/error.d.ts.map +1 -0
  32. package/core/error.js +113 -0
  33. package/core/error.js.map +1 -0
  34. package/core/error.mjs +97 -0
  35. package/core/error.mjs.map +1 -0
  36. package/core/resource.d.mts +6 -0
  37. package/core/resource.d.mts.map +1 -0
  38. package/core/resource.d.ts +6 -0
  39. package/core/resource.d.ts.map +1 -0
  40. package/core/resource.js +11 -0
  41. package/core/resource.js.map +1 -0
  42. package/core/resource.mjs +7 -0
  43. package/core/resource.mjs.map +1 -0
  44. package/core/uploads.d.mts +3 -0
  45. package/core/uploads.d.mts.map +1 -0
  46. package/core/uploads.d.ts +3 -0
  47. package/core/uploads.d.ts.map +1 -0
  48. package/core/uploads.js +6 -0
  49. package/core/uploads.js.map +1 -0
  50. package/core/uploads.mjs +2 -0
  51. package/core/uploads.mjs.map +1 -0
  52. package/error.d.mts +2 -0
  53. package/error.d.mts.map +1 -0
  54. package/error.d.ts +2 -0
  55. package/error.d.ts.map +1 -0
  56. package/error.js +6 -0
  57. package/error.js.map +1 -0
  58. package/error.mjs +2 -0
  59. package/error.mjs.map +1 -0
  60. package/index.d.mts +6 -0
  61. package/index.d.mts.map +1 -0
  62. package/index.d.ts +6 -0
  63. package/index.d.ts.map +1 -0
  64. package/index.js +30 -0
  65. package/index.js.map +1 -0
  66. package/index.mjs +7 -0
  67. package/index.mjs.map +1 -0
  68. package/internal/builtin-types.d.mts +73 -0
  69. package/internal/builtin-types.d.mts.map +1 -0
  70. package/internal/builtin-types.d.ts +73 -0
  71. package/internal/builtin-types.d.ts.map +1 -0
  72. package/internal/builtin-types.js +4 -0
  73. package/internal/builtin-types.js.map +1 -0
  74. package/internal/builtin-types.mjs +3 -0
  75. package/internal/builtin-types.mjs.map +1 -0
  76. package/internal/detect-platform.d.mts +15 -0
  77. package/internal/detect-platform.d.mts.map +1 -0
  78. package/internal/detect-platform.d.ts +15 -0
  79. package/internal/detect-platform.d.ts.map +1 -0
  80. package/internal/detect-platform.js +162 -0
  81. package/internal/detect-platform.js.map +1 -0
  82. package/internal/detect-platform.mjs +157 -0
  83. package/internal/detect-platform.mjs.map +1 -0
  84. package/internal/errors.d.mts +3 -0
  85. package/internal/errors.d.mts.map +1 -0
  86. package/internal/errors.d.ts +3 -0
  87. package/internal/errors.d.ts.map +1 -0
  88. package/internal/errors.js +41 -0
  89. package/internal/errors.js.map +1 -0
  90. package/internal/errors.mjs +36 -0
  91. package/internal/errors.mjs.map +1 -0
  92. package/internal/headers.d.mts +20 -0
  93. package/internal/headers.d.mts.map +1 -0
  94. package/internal/headers.d.ts +20 -0
  95. package/internal/headers.d.ts.map +1 -0
  96. package/internal/headers.js +79 -0
  97. package/internal/headers.js.map +1 -0
  98. package/internal/headers.mjs +74 -0
  99. package/internal/headers.mjs.map +1 -0
  100. package/internal/parse.d.mts +12 -0
  101. package/internal/parse.d.mts.map +1 -0
  102. package/internal/parse.d.ts +12 -0
  103. package/internal/parse.d.ts.map +1 -0
  104. package/internal/parse.js +35 -0
  105. package/internal/parse.js.map +1 -0
  106. package/internal/parse.mjs +32 -0
  107. package/internal/parse.mjs.map +1 -0
  108. package/internal/qs/formats.d.mts +7 -0
  109. package/internal/qs/formats.d.mts.map +1 -0
  110. package/internal/qs/formats.d.ts +7 -0
  111. package/internal/qs/formats.d.ts.map +1 -0
  112. package/internal/qs/formats.js +13 -0
  113. package/internal/qs/formats.js.map +1 -0
  114. package/internal/qs/formats.mjs +9 -0
  115. package/internal/qs/formats.mjs.map +1 -0
  116. package/internal/qs/index.d.mts +10 -0
  117. package/internal/qs/index.d.mts.map +1 -0
  118. package/internal/qs/index.d.ts +10 -0
  119. package/internal/qs/index.d.ts.map +1 -0
  120. package/internal/qs/index.js +14 -0
  121. package/internal/qs/index.js.map +1 -0
  122. package/internal/qs/index.mjs +10 -0
  123. package/internal/qs/index.mjs.map +1 -0
  124. package/internal/qs/stringify.d.mts +3 -0
  125. package/internal/qs/stringify.d.mts.map +1 -0
  126. package/internal/qs/stringify.d.ts +3 -0
  127. package/internal/qs/stringify.d.ts.map +1 -0
  128. package/internal/qs/stringify.js +277 -0
  129. package/internal/qs/stringify.js.map +1 -0
  130. package/internal/qs/stringify.mjs +274 -0
  131. package/internal/qs/stringify.mjs.map +1 -0
  132. package/internal/qs/types.d.mts +57 -0
  133. package/internal/qs/types.d.mts.map +1 -0
  134. package/internal/qs/types.d.ts +57 -0
  135. package/internal/qs/types.d.ts.map +1 -0
  136. package/internal/qs/types.js +3 -0
  137. package/internal/qs/types.js.map +1 -0
  138. package/internal/qs/types.mjs +2 -0
  139. package/internal/qs/types.mjs.map +1 -0
  140. package/internal/qs/utils.d.mts +15 -0
  141. package/internal/qs/utils.d.mts.map +1 -0
  142. package/internal/qs/utils.d.ts +15 -0
  143. package/internal/qs/utils.d.ts.map +1 -0
  144. package/internal/qs/utils.js +230 -0
  145. package/internal/qs/utils.js.map +1 -0
  146. package/internal/qs/utils.mjs +217 -0
  147. package/internal/qs/utils.mjs.map +1 -0
  148. package/internal/request-options.d.mts +75 -0
  149. package/internal/request-options.d.mts.map +1 -0
  150. package/internal/request-options.d.ts +75 -0
  151. package/internal/request-options.d.ts.map +1 -0
  152. package/internal/request-options.js +14 -0
  153. package/internal/request-options.js.map +1 -0
  154. package/internal/request-options.mjs +10 -0
  155. package/internal/request-options.mjs.map +1 -0
  156. package/internal/shim-types.d.mts +17 -0
  157. package/internal/shim-types.d.mts.map +1 -0
  158. package/internal/shim-types.d.ts +17 -0
  159. package/internal/shim-types.d.ts.map +1 -0
  160. package/internal/shim-types.js +4 -0
  161. package/internal/shim-types.js.map +1 -0
  162. package/internal/shim-types.mjs +3 -0
  163. package/internal/shim-types.mjs.map +1 -0
  164. package/internal/shims.d.mts +20 -0
  165. package/internal/shims.d.mts.map +1 -0
  166. package/internal/shims.d.ts +20 -0
  167. package/internal/shims.d.ts.map +1 -0
  168. package/internal/shims.js +92 -0
  169. package/internal/shims.js.map +1 -0
  170. package/internal/shims.mjs +85 -0
  171. package/internal/shims.mjs.map +1 -0
  172. package/internal/to-file.d.mts +45 -0
  173. package/internal/to-file.d.mts.map +1 -0
  174. package/internal/to-file.d.ts +45 -0
  175. package/internal/to-file.d.ts.map +1 -0
  176. package/internal/to-file.js +91 -0
  177. package/internal/to-file.js.map +1 -0
  178. package/internal/to-file.mjs +88 -0
  179. package/internal/to-file.mjs.map +1 -0
  180. package/internal/tslib.js +81 -0
  181. package/internal/tslib.mjs +17 -0
  182. package/internal/types.d.mts +69 -0
  183. package/internal/types.d.mts.map +1 -0
  184. package/internal/types.d.ts +69 -0
  185. package/internal/types.d.ts.map +1 -0
  186. package/internal/types.js +4 -0
  187. package/internal/types.js.map +1 -0
  188. package/internal/types.mjs +3 -0
  189. package/internal/types.mjs.map +1 -0
  190. package/internal/uploads.d.mts +42 -0
  191. package/internal/uploads.d.mts.map +1 -0
  192. package/internal/uploads.d.ts +42 -0
  193. package/internal/uploads.d.ts.map +1 -0
  194. package/internal/uploads.js +141 -0
  195. package/internal/uploads.js.map +1 -0
  196. package/internal/uploads.mjs +131 -0
  197. package/internal/uploads.mjs.map +1 -0
  198. package/internal/utils/base64.d.mts +3 -0
  199. package/internal/utils/base64.d.mts.map +1 -0
  200. package/internal/utils/base64.d.ts +3 -0
  201. package/internal/utils/base64.d.ts.map +1 -0
  202. package/internal/utils/base64.js +38 -0
  203. package/internal/utils/base64.js.map +1 -0
  204. package/internal/utils/base64.mjs +33 -0
  205. package/internal/utils/base64.mjs.map +1 -0
  206. package/internal/utils/bytes.d.mts +4 -0
  207. package/internal/utils/bytes.d.mts.map +1 -0
  208. package/internal/utils/bytes.d.ts +4 -0
  209. package/internal/utils/bytes.d.ts.map +1 -0
  210. package/internal/utils/bytes.js +31 -0
  211. package/internal/utils/bytes.js.map +1 -0
  212. package/internal/utils/bytes.mjs +26 -0
  213. package/internal/utils/bytes.mjs.map +1 -0
  214. package/internal/utils/env.d.mts +9 -0
  215. package/internal/utils/env.d.mts.map +1 -0
  216. package/internal/utils/env.d.ts +9 -0
  217. package/internal/utils/env.d.ts.map +1 -0
  218. package/internal/utils/env.js +22 -0
  219. package/internal/utils/env.js.map +1 -0
  220. package/internal/utils/env.mjs +18 -0
  221. package/internal/utils/env.mjs.map +1 -0
  222. package/internal/utils/log.d.mts +37 -0
  223. package/internal/utils/log.d.mts.map +1 -0
  224. package/internal/utils/log.d.ts +37 -0
  225. package/internal/utils/log.d.ts.map +1 -0
  226. package/internal/utils/log.js +86 -0
  227. package/internal/utils/log.js.map +1 -0
  228. package/internal/utils/log.mjs +80 -0
  229. package/internal/utils/log.mjs.map +1 -0
  230. package/internal/utils/path.d.mts +15 -0
  231. package/internal/utils/path.d.mts.map +1 -0
  232. package/internal/utils/path.d.ts +15 -0
  233. package/internal/utils/path.d.ts.map +1 -0
  234. package/internal/utils/path.js +79 -0
  235. package/internal/utils/path.js.map +1 -0
  236. package/internal/utils/path.mjs +74 -0
  237. package/internal/utils/path.mjs.map +1 -0
  238. package/internal/utils/sleep.d.mts +2 -0
  239. package/internal/utils/sleep.d.mts.map +1 -0
  240. package/internal/utils/sleep.d.ts +2 -0
  241. package/internal/utils/sleep.d.ts.map +1 -0
  242. package/internal/utils/sleep.js +7 -0
  243. package/internal/utils/sleep.js.map +1 -0
  244. package/internal/utils/sleep.mjs +3 -0
  245. package/internal/utils/sleep.mjs.map +1 -0
  246. package/internal/utils/uuid.d.mts +5 -0
  247. package/internal/utils/uuid.d.mts.map +1 -0
  248. package/internal/utils/uuid.d.ts +5 -0
  249. package/internal/utils/uuid.d.ts.map +1 -0
  250. package/internal/utils/uuid.js +19 -0
  251. package/internal/utils/uuid.js.map +1 -0
  252. package/internal/utils/uuid.mjs +15 -0
  253. package/internal/utils/uuid.mjs.map +1 -0
  254. package/internal/utils/values.d.mts +18 -0
  255. package/internal/utils/values.d.mts.map +1 -0
  256. package/internal/utils/values.d.ts +18 -0
  257. package/internal/utils/values.d.ts.map +1 -0
  258. package/internal/utils/values.js +112 -0
  259. package/internal/utils/values.js.map +1 -0
  260. package/internal/utils/values.mjs +94 -0
  261. package/internal/utils/values.mjs.map +1 -0
  262. package/internal/utils.d.mts +7 -0
  263. package/internal/utils.d.mts.map +1 -0
  264. package/internal/utils.d.ts +7 -0
  265. package/internal/utils.d.ts.map +1 -0
  266. package/internal/utils.js +11 -0
  267. package/internal/utils.js.map +1 -0
  268. package/internal/utils.mjs +8 -0
  269. package/internal/utils.mjs.map +1 -0
  270. package/package.json +138 -0
  271. package/resource.d.mts +2 -0
  272. package/resource.d.mts.map +1 -0
  273. package/resource.d.ts +2 -0
  274. package/resource.d.ts.map +1 -0
  275. package/resource.js +6 -0
  276. package/resource.js.map +1 -0
  277. package/resource.mjs +2 -0
  278. package/resource.mjs.map +1 -0
  279. package/resources/brand-safety.d.mts +234 -0
  280. package/resources/brand-safety.d.mts.map +1 -0
  281. package/resources/brand-safety.d.ts +234 -0
  282. package/resources/brand-safety.d.ts.map +1 -0
  283. package/resources/brand-safety.js +75 -0
  284. package/resources/brand-safety.js.map +1 -0
  285. package/resources/brand-safety.mjs +71 -0
  286. package/resources/brand-safety.mjs.map +1 -0
  287. package/resources/creators.d.mts +364 -0
  288. package/resources/creators.d.mts.map +1 -0
  289. package/resources/creators.d.ts +364 -0
  290. package/resources/creators.d.ts.map +1 -0
  291. package/resources/creators.js +119 -0
  292. package/resources/creators.js.map +1 -0
  293. package/resources/creators.mjs +115 -0
  294. package/resources/creators.mjs.map +1 -0
  295. package/resources/health.d.mts +17 -0
  296. package/resources/health.d.mts.map +1 -0
  297. package/resources/health.d.ts +17 -0
  298. package/resources/health.d.ts.map +1 -0
  299. package/resources/health.js +15 -0
  300. package/resources/health.js.map +1 -0
  301. package/resources/health.mjs +11 -0
  302. package/resources/health.mjs.map +1 -0
  303. package/resources/index.d.mts +9 -0
  304. package/resources/index.d.mts.map +1 -0
  305. package/resources/index.d.ts +9 -0
  306. package/resources/index.d.ts.map +1 -0
  307. package/resources/index.js +21 -0
  308. package/resources/index.js.map +1 -0
  309. package/resources/index.mjs +10 -0
  310. package/resources/index.mjs.map +1 -0
  311. package/resources/lookalike.d.mts +142 -0
  312. package/resources/lookalike.d.mts.map +1 -0
  313. package/resources/lookalike.d.ts +142 -0
  314. package/resources/lookalike.d.ts.map +1 -0
  315. package/resources/lookalike.js +28 -0
  316. package/resources/lookalike.js.map +1 -0
  317. package/resources/lookalike.mjs +24 -0
  318. package/resources/lookalike.mjs.map +1 -0
  319. package/resources/match.d.mts +90 -0
  320. package/resources/match.d.mts.map +1 -0
  321. package/resources/match.d.ts +90 -0
  322. package/resources/match.d.ts.map +1 -0
  323. package/resources/match.js +22 -0
  324. package/resources/match.js.map +1 -0
  325. package/resources/match.mjs +18 -0
  326. package/resources/match.mjs.map +1 -0
  327. package/resources/posts.d.mts +284 -0
  328. package/resources/posts.d.mts.map +1 -0
  329. package/resources/posts.d.ts +284 -0
  330. package/resources/posts.d.ts.map +1 -0
  331. package/resources/posts.js +55 -0
  332. package/resources/posts.js.map +1 -0
  333. package/resources/posts.mjs +51 -0
  334. package/resources/posts.mjs.map +1 -0
  335. package/resources/profiles.d.mts +99 -0
  336. package/resources/profiles.d.mts.map +1 -0
  337. package/resources/profiles.d.ts +99 -0
  338. package/resources/profiles.d.ts.map +1 -0
  339. package/resources/profiles.js +69 -0
  340. package/resources/profiles.js.map +1 -0
  341. package/resources/profiles.mjs +65 -0
  342. package/resources/profiles.mjs.map +1 -0
  343. package/resources/search.d.mts +189 -0
  344. package/resources/search.d.mts.map +1 -0
  345. package/resources/search.d.ts +189 -0
  346. package/resources/search.d.ts.map +1 -0
  347. package/resources/search.js +33 -0
  348. package/resources/search.js.map +1 -0
  349. package/resources/search.mjs +29 -0
  350. package/resources/search.mjs.map +1 -0
  351. package/resources.d.mts +2 -0
  352. package/resources.d.mts.map +1 -0
  353. package/resources.d.ts +2 -0
  354. package/resources.d.ts.map +1 -0
  355. package/resources.js +5 -0
  356. package/resources.js.map +1 -0
  357. package/resources.mjs +2 -0
  358. package/resources.mjs.map +1 -0
  359. package/src/api-promise.ts +2 -0
  360. package/src/client.ts +845 -0
  361. package/src/core/README.md +3 -0
  362. package/src/core/api-promise.ts +92 -0
  363. package/src/core/error.ts +130 -0
  364. package/src/core/resource.ts +11 -0
  365. package/src/core/uploads.ts +2 -0
  366. package/src/error.ts +2 -0
  367. package/src/index.ts +22 -0
  368. package/src/internal/README.md +3 -0
  369. package/src/internal/builtin-types.ts +93 -0
  370. package/src/internal/detect-platform.ts +196 -0
  371. package/src/internal/errors.ts +33 -0
  372. package/src/internal/headers.ts +97 -0
  373. package/src/internal/parse.ts +50 -0
  374. package/src/internal/qs/LICENSE.md +13 -0
  375. package/src/internal/qs/README.md +3 -0
  376. package/src/internal/qs/formats.ts +10 -0
  377. package/src/internal/qs/index.ts +13 -0
  378. package/src/internal/qs/stringify.ts +385 -0
  379. package/src/internal/qs/types.ts +71 -0
  380. package/src/internal/qs/utils.ts +265 -0
  381. package/src/internal/request-options.ts +91 -0
  382. package/src/internal/shim-types.ts +26 -0
  383. package/src/internal/shims.ts +107 -0
  384. package/src/internal/to-file.ts +154 -0
  385. package/src/internal/types.ts +95 -0
  386. package/src/internal/uploads.ts +187 -0
  387. package/src/internal/utils/base64.ts +40 -0
  388. package/src/internal/utils/bytes.ts +32 -0
  389. package/src/internal/utils/env.ts +18 -0
  390. package/src/internal/utils/log.ts +127 -0
  391. package/src/internal/utils/path.ts +88 -0
  392. package/src/internal/utils/sleep.ts +3 -0
  393. package/src/internal/utils/uuid.ts +17 -0
  394. package/src/internal/utils/values.ts +105 -0
  395. package/src/internal/utils.ts +8 -0
  396. package/src/lib/.keep +4 -0
  397. package/src/resource.ts +2 -0
  398. package/src/resources/brand-safety.ts +304 -0
  399. package/src/resources/creators.ts +450 -0
  400. package/src/resources/health.ts +24 -0
  401. package/src/resources/index.ts +62 -0
  402. package/src/resources/lookalike.ts +186 -0
  403. package/src/resources/match.ts +115 -0
  404. package/src/resources/posts.ts +347 -0
  405. package/src/resources/profiles.ts +114 -0
  406. package/src/resources/search.ts +234 -0
  407. package/src/resources.ts +1 -0
  408. package/src/tsconfig.json +11 -0
  409. package/src/uploads.ts +2 -0
  410. package/src/version.ts +1 -0
  411. package/uploads.d.mts +2 -0
  412. package/uploads.d.mts.map +1 -0
  413. package/uploads.d.ts +2 -0
  414. package/uploads.d.ts.map +1 -0
  415. package/uploads.js +6 -0
  416. package/uploads.js.map +1 -0
  417. package/uploads.mjs +2 -0
  418. package/uploads.mjs.map +1 -0
  419. package/version.d.mts +2 -0
  420. package/version.d.mts.map +1 -0
  421. package/version.d.ts +2 -0
  422. package/version.d.ts.map +1 -0
  423. package/version.js +5 -0
  424. package/version.js.map +1 -0
  425. package/version.mjs +2 -0
  426. package/version.mjs.map +1 -0
@@ -0,0 +1,450 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import * as CreatorsAPI from './creators';
5
+ import { APIPromise } from '../core/api-promise';
6
+ import { RequestOptions } from '../internal/request-options';
7
+ import { path } from '../internal/utils/path';
8
+
9
+ export class Creators extends APIResource {
10
+ /**
11
+ * Get creator-level information (person data) for one or multiple creators by
12
+ * their IDs.
13
+ *
14
+ * This endpoint returns basic creator profile data including name, bio, avatar,
15
+ * and status information. For platform-specific data (follower counts, engagement
16
+ * rates, etc.), use the `/v1/creators/{id}/profiles` endpoint.
17
+ *
18
+ * **Creator vs Profile Data:**
19
+ *
20
+ * - **Creator data**: Person-level information (name, bio, avatar, status)
21
+ * - **Profile data**: Platform-specific data (follower counts, engagement,
22
+ * metrics)
23
+ *
24
+ * **Pricing**: 0.1 credits per creator profile returned
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const creator = await client.creators.retrieve({
29
+ * creator_ids: 'creator_ids',
30
+ * });
31
+ * ```
32
+ */
33
+ retrieve(query: CreatorRetrieveParams, options?: RequestOptions): APIPromise<CreatorRetrieveResponse> {
34
+ return this._client.get('/v1/creators', { query, ...options });
35
+ }
36
+
37
+ /**
38
+ * Search creators by partial name or on-platform username for autocomplete
39
+ * suggestions.
40
+ *
41
+ * This endpoint searches across both global creator names and platform-specific
42
+ * usernames/display names from all platforms. Use the platform parameter to filter
43
+ * results to only show creators that have profiles on the specified platform.
44
+ *
45
+ * Use the scope parameter to control response granularity:
46
+ *
47
+ * - `creator_only`: Returns only creator profile data (id, name, avatar)
48
+ * - `matched_platforms`: Returns creator data + only the social accounts that
49
+ * matched the search
50
+ * - `all_platforms`: Returns creator data + all social accounts (default)
51
+ *
52
+ * This endpoint is optimized for fast autocomplete functionality and returns
53
+ * lightweight results suitable for dropdown suggestions.
54
+ *
55
+ * **Pricing**: 0.001 credits per request
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * const response = await client.creators.autocomplete({
60
+ * q: 'fitness',
61
+ * });
62
+ * ```
63
+ */
64
+ autocomplete(
65
+ query: CreatorAutocompleteParams,
66
+ options?: RequestOptions,
67
+ ): APIPromise<CreatorAutocompleteResponse> {
68
+ return this._client.get('/v1/creators/autocomplete', { query, ...options });
69
+ }
70
+
71
+ /**
72
+ * **EXPLORATION ENDPOINT**: Get all social account data when you know a creator
73
+ * UUID.
74
+ *
75
+ * **🎯 When to use this endpoint:**
76
+ *
77
+ * - ✅ You have a creator UUID (from `/v1/creators` or `/v1/profiles` response)
78
+ * - ✅ You want to see all social accounts for a creator (Instagram, TikTok, etc.)
79
+ * - ✅ You need comprehensive social account data for a creator
80
+ * - ✅ You want to explore all platforms a creator is on
81
+ *
82
+ * **❌ When NOT to use this endpoint:**
83
+ *
84
+ * - ❌ You only have a username and platform (use `/v1/profiles` instead)
85
+ * - ❌ You don't have a creator UUID (use `/v1/profiles` to discover first)
86
+ *
87
+ * **📊 Response Format:** Returns `SocialAccountLite` or `SocialAccountDetailed`
88
+ * objects with identical structure to `/v1/profiles`. Both endpoints return the
89
+ * same data structure for consistency.
90
+ *
91
+ * **🔗 Data Relationships:**
92
+ *
93
+ * - This endpoint requires a creator UUID (not a social account ID)
94
+ * - Use `creator_profile_id` from `/v1/profiles` response as the `{id}` parameter
95
+ * - Returns all social accounts associated with that creator
96
+ * - Filter by platform using the `platforms` query parameter
97
+ *
98
+ * **🔄 Typical Workflow:**
99
+ *
100
+ * 1. **Discovery**: Call `/v1/profiles` with username+platform → get social
101
+ * account data + creator_profile_id
102
+ * 2. **All Accounts**: Call `/v1/creators/{creator_profile_id}/profiles` → get all
103
+ * social accounts for that creator
104
+ * 3. **Creator Data**: Call `/v1/creators` with creator_profile_id → get
105
+ * creator-level data
106
+ *
107
+ * **⚙️ Parameters:**
108
+ *
109
+ * - `mode`: `lite` (default) or `detailed` - controls response detail level
110
+ * - `platforms`: Comma-separated list of platforms to filter (e.g.,
111
+ * `instagram,tiktok`) **Pricing**: 0.01-0.05 credits per social account
112
+ * (lite/detailed mode)
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * const response = await client.creators.listProfiles(
117
+ * '123e4567-e89b-12d3-a456-426614174000',
118
+ * );
119
+ * ```
120
+ */
121
+ listProfiles(
122
+ id: string,
123
+ query: CreatorListProfilesParams | null | undefined = {},
124
+ options?: RequestOptions,
125
+ ): APIPromise<CreatorListProfilesResponse> {
126
+ return this._client.get(path`/v1/creators/${id}/profiles`, { query, ...options });
127
+ }
128
+ }
129
+
130
+ /**
131
+ * Basic creator information
132
+ */
133
+ export interface Creator {
134
+ /**
135
+ * Unique creator identifier
136
+ */
137
+ id?: string;
138
+
139
+ /**
140
+ * Creator's avatar URL
141
+ */
142
+ avatar?: string | null;
143
+
144
+ /**
145
+ * Creator's bio text
146
+ */
147
+ bio?: string | null;
148
+
149
+ /**
150
+ * Creator's display name
151
+ */
152
+ name?: string | null;
153
+ }
154
+
155
+ /**
156
+ * Creator autocomplete result
157
+ */
158
+ export interface CreatorAutocomplete {
159
+ /**
160
+ * Unique creator identifier
161
+ */
162
+ id: string;
163
+
164
+ /**
165
+ * Creator's avatar URL
166
+ */
167
+ avatar: string;
168
+
169
+ /**
170
+ * Creator's display name
171
+ */
172
+ name: string;
173
+
174
+ /**
175
+ * Matching social media platforms
176
+ */
177
+ platforms: Array<CreatorAutocomplete.Platform>;
178
+ }
179
+
180
+ export namespace CreatorAutocomplete {
181
+ export interface Platform {
182
+ /**
183
+ * Display name on the platform
184
+ */
185
+ display_name: string;
186
+
187
+ /**
188
+ * Field that matched the search
189
+ */
190
+ match_field: string;
191
+
192
+ /**
193
+ * Type of match found
194
+ */
195
+ match_type: 'name' | 'username' | 'display_name';
196
+
197
+ /**
198
+ * Social media platform
199
+ */
200
+ platform: 'instagram' | 'tiktok';
201
+
202
+ /**
203
+ * Username on the platform
204
+ */
205
+ username: string;
206
+ }
207
+ }
208
+
209
+ /**
210
+ * Extended social account information with detailed metrics
211
+ */
212
+ export interface SocialAccountDetailed extends SocialAccountLite {
213
+ /**
214
+ * Average comments per post from last 12 posts. null if account has <3 posts or is
215
+ * private.
216
+ */
217
+ avg_comments_recent?: number | null;
218
+
219
+ /**
220
+ * Average views per video post from recent content. null if no video posts or data
221
+ * unavailable.
222
+ */
223
+ avg_video_views_recent?: number | null;
224
+
225
+ /**
226
+ * Monthly follower growth rate (percentage). Positive = growth, negative =
227
+ * decline. null if account is <30 days old or insufficient data.
228
+ */
229
+ follower_change_rate_monthly_approx?: number | null;
230
+
231
+ /**
232
+ * Number of accounts this user follows. null if account is private.
233
+ */
234
+ following_count?: number | null;
235
+
236
+ /**
237
+ * Number of Instagram Story highlights. Instagram only. null for other platforms.
238
+ */
239
+ highlight_reel_count?: number | null;
240
+
241
+ /**
242
+ * Total posts published (photos, videos, carousels). null if unavailable.
243
+ */
244
+ media_count?: number | null;
245
+
246
+ /**
247
+ * Platform-assigned category (e.g., "Health & Fitness"). null if not set or
248
+ * platform doesn't provide categories.
249
+ */
250
+ platform_category_name?: string | null;
251
+ }
252
+
253
+ /**
254
+ * Basic social account information returned in lite mode
255
+ */
256
+ export interface SocialAccountLite {
257
+ /**
258
+ * Unique social account identifier
259
+ */
260
+ id: string;
261
+
262
+ /**
263
+ * Account bio
264
+ */
265
+ bio: string | null;
266
+
267
+ /**
268
+ * Creator UUID this social account belongs to. Use with `/v1/creators` for
269
+ * person-level data (name, bio, avatar) or `/v1/creators/{id}/profiles` for all
270
+ * social accounts.
271
+ */
272
+ creator_profile_id: string;
273
+
274
+ /**
275
+ * Display name on the platform
276
+ */
277
+ display_name: string;
278
+
279
+ /**
280
+ * Social media platform
281
+ */
282
+ platform: 'instagram' | 'tiktok';
283
+
284
+ /**
285
+ * Username on the platform
286
+ */
287
+ username: string;
288
+
289
+ /**
290
+ * Whether the account has platform verification (blue checkmark).
291
+ */
292
+ verified: boolean;
293
+
294
+ /**
295
+ * Profile picture URL
296
+ */
297
+ avatar_url?: string | null;
298
+
299
+ /**
300
+ * Engagement rate percentage (0-100). Formula: (avg_likes + avg_comments) /
301
+ * follower_count × 100. Based on last 12 posts. null if account is private or has
302
+ * <3 posts.
303
+ */
304
+ engagement_rate?: number | null;
305
+
306
+ /**
307
+ * External website URL
308
+ */
309
+ external_url?: string | null;
310
+
311
+ /**
312
+ * Total number of followers on this platform. null if data is unavailable or
313
+ * account is private.
314
+ */
315
+ follower_count?: number | null;
316
+ }
317
+
318
+ export interface CreatorRetrieveResponse {
319
+ creators?: Array<CreatorRetrieveResponse.CreatorWithProfiles | Creator>;
320
+ }
321
+
322
+ export namespace CreatorRetrieveResponse {
323
+ /**
324
+ * Creator with embedded social account profiles
325
+ */
326
+ export interface CreatorWithProfiles extends CreatorsAPI.Creator {
327
+ /**
328
+ * Social account profiles for this creator
329
+ */
330
+ profiles: Array<CreatorsAPI.SocialAccountLite | CreatorsAPI.SocialAccountDetailed>;
331
+ }
332
+ }
333
+
334
+ export interface CreatorAutocompleteResponse {
335
+ count?: number;
336
+
337
+ ok?: boolean;
338
+
339
+ results?: Array<CreatorAutocompleteResponse.Result>;
340
+ }
341
+
342
+ export namespace CreatorAutocompleteResponse {
343
+ export interface Result {
344
+ id?: string;
345
+
346
+ avatar?: string;
347
+
348
+ name?: string;
349
+
350
+ platforms?: Array<Result.Platform>;
351
+ }
352
+
353
+ export namespace Result {
354
+ export interface Platform {
355
+ display_name?: string;
356
+
357
+ match_field?: string;
358
+
359
+ match_type?: 'name' | 'username' | 'display_name';
360
+
361
+ platform?: string;
362
+
363
+ username?: string;
364
+ }
365
+ }
366
+ }
367
+
368
+ export interface CreatorListProfilesResponse {
369
+ /**
370
+ * Array of social account objects. The structure depends on the `mode` parameter:
371
+ *
372
+ * - If `mode: "lite"`: Returns SocialAccountLite objects
373
+ * - If `mode: "detailed"`: Returns SocialAccountDetailed objects with additional
374
+ * fields
375
+ */
376
+ profiles?: Array<SocialAccountLite | SocialAccountDetailed>;
377
+ }
378
+
379
+ export interface CreatorRetrieveParams {
380
+ /**
381
+ * Comma-separated list of creator UUIDs
382
+ */
383
+ creator_ids: string;
384
+
385
+ /**
386
+ * Whether to include social account profiles for each creator
387
+ */
388
+ include_profiles?: boolean;
389
+
390
+ /**
391
+ * Detail level for included profiles (only used when include_profiles=true)
392
+ */
393
+ profile_mode?: 'lite' | 'detailed';
394
+
395
+ /**
396
+ * Comma-separated list of platforms to include (instagram, tiktok). Only used when
397
+ * include_profiles=true
398
+ */
399
+ profile_platforms?: string;
400
+ }
401
+
402
+ export interface CreatorAutocompleteParams {
403
+ /**
404
+ * Search query text (partial name/username)
405
+ */
406
+ q: string;
407
+
408
+ /**
409
+ * Maximum number of results to return
410
+ */
411
+ limit?: number;
412
+
413
+ /**
414
+ * Filter results to only show creators that have profiles on this specific
415
+ * platform. If not provided, returns creators from all platforms.
416
+ */
417
+ platform?: 'instagram' | 'tiktok';
418
+
419
+ /**
420
+ * Control the granularity of returned data
421
+ */
422
+ scope?: 'creator_only' | 'matched_platforms' | 'all_platforms';
423
+ }
424
+
425
+ export interface CreatorListProfilesParams {
426
+ /**
427
+ * Response detail level
428
+ */
429
+ mode?: 'lite' | 'detailed';
430
+
431
+ /**
432
+ * Comma-separated list of platforms to include (instagram, tiktok)
433
+ */
434
+ platforms?: string;
435
+ }
436
+
437
+ export declare namespace Creators {
438
+ export {
439
+ type Creator as Creator,
440
+ type CreatorAutocomplete as CreatorAutocomplete,
441
+ type SocialAccountDetailed as SocialAccountDetailed,
442
+ type SocialAccountLite as SocialAccountLite,
443
+ type CreatorRetrieveResponse as CreatorRetrieveResponse,
444
+ type CreatorAutocompleteResponse as CreatorAutocompleteResponse,
445
+ type CreatorListProfilesResponse as CreatorListProfilesResponse,
446
+ type CreatorRetrieveParams as CreatorRetrieveParams,
447
+ type CreatorAutocompleteParams as CreatorAutocompleteParams,
448
+ type CreatorListProfilesParams as CreatorListProfilesParams,
449
+ };
450
+ }
@@ -0,0 +1,24 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { APIPromise } from '../core/api-promise';
5
+ import { RequestOptions } from '../internal/request-options';
6
+
7
+ export class Health extends APIResource {
8
+ /**
9
+ * Check the health status of the API
10
+ */
11
+ check(options?: RequestOptions): APIPromise<HealthCheckResponse> {
12
+ return this._client.get('/health', options);
13
+ }
14
+ }
15
+
16
+ export interface HealthCheckResponse {
17
+ ok: boolean;
18
+
19
+ timestamp: string;
20
+ }
21
+
22
+ export declare namespace Health {
23
+ export { type HealthCheckResponse as HealthCheckResponse };
24
+ }
@@ -0,0 +1,62 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ BrandSafety,
5
+ type BrandSafetyAnalysis,
6
+ type BrandSafetyFlag,
7
+ type BrandSafetyResult,
8
+ type BrandSafetyAnalyzeCreatorsResponse,
9
+ type BrandSafetyAnalyzePostsResponse,
10
+ type BrandSafetyAnalyzeProfilesResponse,
11
+ type BrandSafetyAnalyzeCreatorsParams,
12
+ type BrandSafetyAnalyzePostsParams,
13
+ type BrandSafetyAnalyzeProfilesParams,
14
+ } from './brand-safety';
15
+ export {
16
+ Creators,
17
+ type Creator,
18
+ type CreatorAutocomplete,
19
+ type SocialAccountDetailed,
20
+ type SocialAccountLite,
21
+ type CreatorRetrieveResponse,
22
+ type CreatorAutocompleteResponse,
23
+ type CreatorListProfilesResponse,
24
+ type CreatorRetrieveParams,
25
+ type CreatorAutocompleteParams,
26
+ type CreatorListProfilesParams,
27
+ } from './creators';
28
+ export { Health, type HealthCheckResponse } from './health';
29
+ export {
30
+ Lookalike,
31
+ type LookalikeSeedBase,
32
+ type LookalikeFindSimilarCreatorsResponse,
33
+ type LookalikeFindSimilarCreatorsParams,
34
+ } from './lookalike';
35
+ export {
36
+ Match,
37
+ type CreatorReferenceByID,
38
+ type MatchResult,
39
+ type MatchAnalyzeResponse,
40
+ type MatchAnalyzeParams,
41
+ } from './match';
42
+ export {
43
+ Posts,
44
+ type AIAnalysis,
45
+ type CursorPagination,
46
+ type PostAnalysis,
47
+ type PostListByCreatorResponse,
48
+ type PostAnalyzeParams,
49
+ type PostListByCreatorParams,
50
+ } from './posts';
51
+ export {
52
+ Profiles,
53
+ type CreatorReferenceByHandle,
54
+ type ProfileLookupResponse,
55
+ type ProfileLookupParams,
56
+ } from './profiles';
57
+ export {
58
+ Search,
59
+ type SearchItem,
60
+ type SearchFindCreatorsResponse,
61
+ type SearchFindCreatorsParams,
62
+ } from './search';
@@ -0,0 +1,186 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import * as LookalikeAPI from './lookalike';
5
+ import * as MatchAPI from './match';
6
+ import * as ProfilesAPI from './profiles';
7
+ import * as SearchAPI from './search';
8
+ import { APIPromise } from '../core/api-promise';
9
+ import { RequestOptions } from '../internal/request-options';
10
+
11
+ export class Lookalike extends APIResource {
12
+ /**
13
+ * Find creators similar to your seed creators using AI-powered similarity
14
+ * analysis.
15
+ *
16
+ * This endpoint analyzes your seed creators and finds similar influencers based on
17
+ * audience demographics, content style, and engagement patterns.
18
+ *
19
+ * **Pricing**:
20
+ *
21
+ * - Base: 1.0 credit per creator returned
22
+ * - Detailed mode: Additional 0.05 credits per social account profile
23
+ * - **Example**: 25 lookalike creators in lite mode = 25 credits
24
+ * - **Example**: 25 creators with avg 3 profiles each in detailed mode = 25 + (25
25
+ * × 3 × 0.05) = 28.75 credits
26
+ */
27
+ findSimilarCreators(
28
+ params: LookalikeFindSimilarCreatorsParams,
29
+ options?: RequestOptions,
30
+ ): APIPromise<LookalikeFindSimilarCreatorsResponse> {
31
+ const { cursor, limit, ...body } = params;
32
+ return this._client.post('/v1/lookalike', { query: { cursor, limit }, body, ...options });
33
+ }
34
+ }
35
+
36
+ export interface LookalikeSeedBase {
37
+ /**
38
+ * Weight for this seed in similarity calculation
39
+ */
40
+ weight?: number;
41
+ }
42
+
43
+ export interface LookalikeFindSimilarCreatorsResponse {
44
+ /**
45
+ * Current billing plan
46
+ */
47
+ billing_plan?: string;
48
+
49
+ /**
50
+ * Credits consumed for this request
51
+ */
52
+ credits_charged?: number;
53
+
54
+ /**
55
+ * Features used in this request
56
+ */
57
+ features?: Array<string>;
58
+
59
+ /**
60
+ * Total number of results after filtering
61
+ */
62
+ filtered_total?: number;
63
+
64
+ /**
65
+ * Whether there are more results available
66
+ */
67
+ has_more?: boolean;
68
+
69
+ items?: Array<SearchAPI.SearchItem>;
70
+
71
+ /**
72
+ * Cursor for next page of results
73
+ */
74
+ next_cursor?: string;
75
+
76
+ rate_limit?: LookalikeFindSimilarCreatorsResponse.RateLimit;
77
+ }
78
+
79
+ export namespace LookalikeFindSimilarCreatorsResponse {
80
+ export interface RateLimit {
81
+ /**
82
+ * Rate limit for this endpoint
83
+ */
84
+ limit?: number;
85
+
86
+ /**
87
+ * Remaining requests in current window
88
+ */
89
+ remaining?: number;
90
+
91
+ /**
92
+ * Unix timestamp when rate limit resets
93
+ */
94
+ reset?: number;
95
+ }
96
+ }
97
+
98
+ export interface LookalikeFindSimilarCreatorsParams {
99
+ /**
100
+ * Body param: Seed creators to find lookalikes for. Max 10 seeds, each with
101
+ * optional weight (0-10, default 1).
102
+ */
103
+ seeds: Array<
104
+ | LookalikeFindSimilarCreatorsParams.LookalikeSeedByID
105
+ | LookalikeFindSimilarCreatorsParams.LookalikeSeedByHandle
106
+ >;
107
+
108
+ /**
109
+ * Query param: Opaque pagination cursor from previous response's `next_cursor`. Do
110
+ * not construct manually.
111
+ */
112
+ cursor?: string;
113
+
114
+ /**
115
+ * Query param: Maximum number of results to return
116
+ */
117
+ limit?: number;
118
+
119
+ /**
120
+ * Body param:
121
+ */
122
+ filters?: LookalikeFindSimilarCreatorsParams.Filters;
123
+
124
+ /**
125
+ * Body param: Response detail level
126
+ */
127
+ mode?: 'lite' | 'detailed';
128
+
129
+ /**
130
+ * Body param: Filter which social media profiles to include in the response for
131
+ * each creator.
132
+ *
133
+ * - If not specified, all profiles for each creator are returned
134
+ * - If specified, only profiles from these platforms are included
135
+ * - This allows you to control which platforms you want to see results from
136
+ * - Independent of your seed creators' platforms - you can mix seed types freely
137
+ * Example: ["instagram"] to only see instagram profiles, ["instagram", "tiktok"]
138
+ * for both
139
+ * - This allows you to get cross-platform creators but only show specific platform
140
+ * profiles
141
+ */
142
+ profile_platforms?: Array<'instagram' | 'tiktok'>;
143
+ }
144
+
145
+ export namespace LookalikeFindSimilarCreatorsParams {
146
+ export interface LookalikeSeedByID extends LookalikeAPI.LookalikeSeedBase, MatchAPI.CreatorReferenceByID {}
147
+
148
+ export interface LookalikeSeedByHandle
149
+ extends LookalikeAPI.LookalikeSeedBase,
150
+ ProfilesAPI.CreatorReferenceByHandle {}
151
+
152
+ export interface Filters {
153
+ audience_size?: Filters.AudienceSize;
154
+
155
+ engagement_rate?: Filters.EngagementRate;
156
+
157
+ /**
158
+ * Filter by platforms
159
+ */
160
+ platform?: Array<string>;
161
+
162
+ verified?: boolean;
163
+ }
164
+
165
+ export namespace Filters {
166
+ export interface AudienceSize {
167
+ max?: number;
168
+
169
+ min?: number;
170
+ }
171
+
172
+ export interface EngagementRate {
173
+ max?: number;
174
+
175
+ min?: number;
176
+ }
177
+ }
178
+ }
179
+
180
+ export declare namespace Lookalike {
181
+ export {
182
+ type LookalikeSeedBase as LookalikeSeedBase,
183
+ type LookalikeFindSimilarCreatorsResponse as LookalikeFindSimilarCreatorsResponse,
184
+ type LookalikeFindSimilarCreatorsParams as LookalikeFindSimilarCreatorsParams,
185
+ };
186
+ }