@tapline/client 0.2.11 → 0.2.13

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 (54) hide show
  1. package/README.md +4 -2
  2. package/dist/cjs/client.d.ts +2 -0
  3. package/dist/cjs/client.d.ts.map +1 -1
  4. package/dist/cjs/client.js +3 -0
  5. package/dist/cjs/client.js.map +1 -1
  6. package/dist/cjs/index.d.ts +2 -0
  7. package/dist/cjs/index.d.ts.map +1 -1
  8. package/dist/cjs/index.js +4 -1
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/services/indeed/client.d.ts +27 -0
  11. package/dist/cjs/services/indeed/client.d.ts.map +1 -0
  12. package/dist/cjs/services/indeed/client.js +55 -0
  13. package/dist/cjs/services/indeed/client.js.map +1 -0
  14. package/dist/cjs/services/indeed/index.d.ts +3 -0
  15. package/dist/cjs/services/indeed/index.d.ts.map +1 -0
  16. package/dist/cjs/services/indeed/index.js +22 -0
  17. package/dist/cjs/services/indeed/index.js.map +1 -0
  18. package/dist/cjs/services/indeed/types.d.ts +557 -0
  19. package/dist/cjs/services/indeed/types.d.ts.map +1 -0
  20. package/dist/cjs/services/indeed/types.js +4 -0
  21. package/dist/cjs/services/indeed/types.js.map +1 -0
  22. package/dist/cjs/services/tiktok/client.d.ts +15 -21
  23. package/dist/cjs/services/tiktok/client.d.ts.map +1 -1
  24. package/dist/cjs/services/tiktok/client.js +14 -26
  25. package/dist/cjs/services/tiktok/client.js.map +1 -1
  26. package/dist/cjs/services/tiktok/types.d.ts +10 -315
  27. package/dist/cjs/services/tiktok/types.d.ts.map +1 -1
  28. package/dist/client.d.ts +2 -0
  29. package/dist/client.d.ts.map +1 -1
  30. package/dist/client.js +3 -0
  31. package/dist/client.js.map +1 -1
  32. package/dist/index.d.ts +2 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/services/indeed/client.d.ts +27 -0
  37. package/dist/services/indeed/client.d.ts.map +1 -0
  38. package/dist/services/indeed/client.js +51 -0
  39. package/dist/services/indeed/client.js.map +1 -0
  40. package/dist/services/indeed/index.d.ts +3 -0
  41. package/dist/services/indeed/index.d.ts.map +1 -0
  42. package/dist/services/indeed/index.js +4 -0
  43. package/dist/services/indeed/index.js.map +1 -0
  44. package/dist/services/indeed/types.d.ts +557 -0
  45. package/dist/services/indeed/types.d.ts.map +1 -0
  46. package/dist/services/indeed/types.js +3 -0
  47. package/dist/services/indeed/types.js.map +1 -0
  48. package/dist/services/tiktok/client.d.ts +15 -21
  49. package/dist/services/tiktok/client.d.ts.map +1 -1
  50. package/dist/services/tiktok/client.js +14 -26
  51. package/dist/services/tiktok/client.js.map +1 -1
  52. package/dist/services/tiktok/types.d.ts +10 -315
  53. package/dist/services/tiktok/types.d.ts.map +1 -1
  54. package/package.json +5 -2
@@ -1,41 +1,35 @@
1
1
  import type { BaseClient } from '../../base.js';
2
- import type { GetCollectionVideosParams, GetCommentRepliesParams, GetCommentsParams, GetCommentsResponse, GetFollowersParams, GetFollowersResponse, GetFollowingParams, GetFollowingResponse, GetProfileParams, GetProfileVideosParams, GetProfileVideosResponse, GetSearchSuggestionsParams, GetSongParams, GetSongVideosParams, GetTranscriptParams, GetTrendingFeedParams, GetTrendingFeedResponse, GetVideoParams, GetVideoResponse, SearchHashtagParams, SearchHashtagResponse, SearchKeywordParams, SearchKeywordResponse, SearchTopParams, SearchUsersParams, SearchUsersResponse, TikTokCollectionVideosResponse, TikTokCommentRepliesResponse, TikTokProfileResponse, TikTokSearchSuggestionsResponse, TikTokSongResponse, TikTokSongVideosResponse, TikTokTopSearchResponse, TikTokTranscriptResponse } from './types.js';
2
+ import type { GetCollectionVideosParams, GetCommentRepliesParams, GetCommentsParams, GetCommentsResponse, GetFollowersParams, GetFollowersResponse, GetFollowingParams, GetFollowingResponse, GetProfileParams, GetProfileVideosParams, GetProfileVideosResponse, GetSearchSuggestionsParams, GetSongParams, GetSongVideosParams, GetTranscriptParams, GetTrendingFeedParams, GetTrendingFeedResponse, GetVideoParams, GetVideoResponse, SearchHashtagParams, SearchHashtagResponse, TikTokCollectionVideosResponse, TikTokCommentRepliesResponse, TikTokProfileResponse, TikTokSearchSuggestionsResponse, TikTokSongResponse, TikTokSongVideosResponse, TikTokTranscriptResponse } from './types.js';
3
3
  export declare class TiktokClient {
4
4
  private readonly base;
5
5
  constructor(base: BaseClient);
6
- /** The videos saved in a public TikTok collection, as TikTok's web video objects (`id`, `desc`, `author`, `stats`, `video`), 30 per page. Pass `max_cursor` back as `cursor` while `has_more` is true. Costs 1 credit. */
6
+ /** The videos saved in a collection, as web video objects (`id`, `desc`, `author`, `stats`, `video`), 30 per page. Pass `max_cursor` back as `cursor` while `has_more` is true. Costs 1 credit. */
7
7
  getCollectionVideos(params: GetCollectionVideosParams): Promise<TikTokCollectionVideosResponse>;
8
- /** TikTok's For You feed for a logged-out viewer in `region`, about 6 videos a call, in Scrape Creators' 21-key trending item built from TikTok's Android app feed, with exact counts. Each call is a fresh feed; there is no cursor. Costs 1 credit. */
8
+ /** Returns about six videos from the For You feed for `region`. Each call starts a fresh feed, so there is no cursor. Costs 1 credit. */
9
9
  getTrendingFeed(params: GetTrendingFeedParams): Promise<GetTrendingFeedResponse>;
10
- /** A TikTok profile by handle or numeric user id: `user` (nickname, signature, avatars, `secUid`, `verified`, `privateAccount`, bio link), `stats` and `statsV2` (followers, following, likes, videos) and an empty `itemList`, the body TikTok's profile page carries and Scrape Creators passes through, without Scrape Creators' top-level status and credit metadata. A private account answers its profile too. Costs 1 credit. */
10
+ /** Returns a profile by handle or numeric user ID, including its bio, avatars, verification, privacy, follower count, following count, likes, and video count. Costs 1 credit. */
11
11
  getProfile(params: GetProfileParams): Promise<TikTokProfileResponse>;
12
- /** Videos a TikTok user posted, newest first or most popular first, 35 per page. Items follow Scrape Creators' app layout (`aweme_id`, `statistics`, `video.play_addr`, snake_case `author`), built from TikTok's logged-out web data: a key the web data has no source for is left out, never filled in, and TikTok rounds counts of 10,000 or more for logged-out viewers (1,041,184 plays reads 1,000,000). Pass `max_cursor` back for the next page while `has_more` is 1. Costs 1 credit. */
12
+ /** Videos a user posted, newest first or most popular first, 35 per page. Each item includes its `aweme_id`, engagement, playback data, and author. Counts of 10,000 or more may be rounded. Pass `max_cursor` back for the next page while `has_more` is 1. Costs 1 credit. */
13
13
  getProfileVideos(params: GetProfileVideosParams): Promise<GetProfileVideosResponse>;
14
- /** Videos under a TikTok hashtag, 30 per page. Items follow Scrape Creators' app layout (`aweme_id`, `statistics`, `video.play_addr`, snake_case `author`), built from TikTok's logged-out web data: a key the web data has no source for is left out, never filled in, and TikTok rounds counts of 10,000 or more for logged-out viewers (1,041,184 plays reads 1,000,000). Pass `cursor` back while `has_more` is 1; TikTok can repeat a video across pages. Costs 1 credit. */
14
+ /** Videos under a hashtag, 30 per page. Each item includes its `aweme_id`, engagement, playback data, and author. Counts of 10,000 or more may be rounded. Pass `cursor` back while `has_more` is 1; a video may repeat across pages. Costs 1 credit. */
15
15
  searchHashtag(params: SearchHashtagParams): Promise<SearchHashtagResponse>;
16
- /** TikTok videos matching a keyword, about 10 per page, each as `aweme_info` in `search_item_list`. Built from TikTok's iOS app search, so counts are exact and items carry the app's own keys. TikTok's paid ads and its user and topic cards are left out, so a page can hold fewer than 10 videos. Pass `cursor` back while `has_more` is 1. Costs 2 credits. */
17
- searchKeyword(params: SearchKeywordParams): Promise<SearchKeywordResponse>;
18
- /** The autocomplete suggestions TikTok shows while someone types a search: `text`, `position`, `language` and TikTok's `score` for each. Costs 1 credit. */
16
+ /** Autocomplete suggestions for a search, with `text`, `position`, `language`, and `score` for each. Costs 1 credit. */
19
17
  getSearchSuggestions(params: GetSearchSuggestionsParams): Promise<TikTokSearchSuggestionsResponse>;
20
- /** TikTok's top results for a query, videos and photo carousels, about 10 per page, as Scrape Creators' top item: `id`, `desc`, `content_type`, ISO `create_time`, `statistics`, `author`, `music`, `video`, and `images` for a carousel. Built from TikTok's iOS app search, so counts are exact and items carry the app's own keys. TikTok's paid ads and its user and topic cards are left out, so a page can hold fewer than 10 videos. Pass `cursor` back while `has_more` is 1. Costs 2 credits. */
21
- searchTop(params: SearchTopParams): Promise<TikTokTopSearchResponse>;
22
- /** TikTok accounts matching a query, 30 per page, as TikTok's iOS app answers them: `user_list` entries with a `user_info` of exact follower counts. Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
23
- searchUsers(params: SearchUsersParams): Promise<SearchUsersResponse>;
24
- /** A TikTok sound as `music_info`: title, author, album, duration, `user_count` (videos using it), `play_url` and covers, in Scrape Creators' app layout built from TikTok's web data. Costs 1 credit. */
18
+ /** Returns a sound as `music_info`, including its title, author, album, duration, video count, playback URL, and cover images. Costs 1 credit. */
25
19
  getSong(params: GetSongParams): Promise<TikTokSongResponse>;
26
- /** Videos that use a TikTok sound, 30 per page. Items follow Scrape Creators' app layout (`aweme_id`, `statistics`, `video.play_addr`, snake_case `author`), built from TikTok's logged-out web data: a key the web data has no source for is left out, never filled in, and TikTok rounds counts of 10,000 or more for logged-out viewers (1,041,184 plays reads 1,000,000). Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
20
+ /** Videos that use a sound, 30 per page. Each item includes its `aweme_id`, engagement, playback data, and author. Counts of 10,000 or more may be rounded. Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
27
21
  getSongVideos(params: GetSongVideosParams): Promise<TikTokSongVideosResponse>;
28
- /** Accounts following a TikTok user, newest first, 30 per page, in Scrape Creators' app user layout (`uid`, `unique_id`, `nickname`, `follower_count`, avatars) built from TikTok's web data; counts of 10,000 or more are rounded. Pass `min_time` back while `has_more` is true. Costs 1 credit. */
22
+ /** Returns accounts following a user, newest first, 30 per page. Pass `min_time` back while `has_more` is true. Costs 1 credit. */
29
23
  getFollowers(params: GetFollowersParams): Promise<GetFollowersResponse>;
30
- /** Accounts a TikTok user follows, newest first, 30 per page, in the same user layout as `/user/followers`. Pass `min_time` back while `has_more` is true. Costs 1 credit. */
24
+ /** Accounts a user follows, newest first, 30 per page, in the same user layout as `/user/followers`. Pass `min_time` back while `has_more` is true. Costs 1 credit. */
31
25
  getFollowing(params: GetFollowingParams): Promise<GetFollowingResponse>;
32
- /** One TikTok video or photo post as `aweme_detail`, TikTok's own Android app object with exact counts, plus the `url` and `create_time_utc` Scrape Creators adds. It comes from the app's feed, which leaves out about a quarter of the keys the app's detail view has. With `get_transcript=true`, `transcript` holds the WEBVTT captions in the video's original language, or `null` when it has none. Costs 1 credit. */
26
+ /** Returns one video or photo post as `aweme_detail`, with media, author, and engagement data. Set `get_transcript=true` to include WEBVTT captions when available. Costs 1 credit. */
33
27
  getVideo(params: GetVideoParams): Promise<GetVideoResponse>;
34
- /** Replies to one comment on a TikTok video, 20 per page, as TikTok's web API returns them. Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
28
+ /** Replies to one comment on a video, 20 per page. Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
35
29
  getCommentReplies(params: GetCommentRepliesParams): Promise<TikTokCommentRepliesResponse>;
36
- /** Comments on a TikTok video, 20 per page, as TikTok's web comment API returns them: `text`, `digg_count`, `reply_comment_total`, `create_time` and the commenter's `user`, plus `total`. Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
30
+ /** Comments on a video, 20 per page, with `text`, `digg_count`, `reply_comment_total`, `create_time` and the commenter's `user`, plus `total`. Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
37
31
  getComments(params: GetCommentsParams): Promise<GetCommentsResponse>;
38
- /** A TikTok video's captions as one WEBVTT string, with the video `id` and `url`. Without `language` the captions are in the video's original language. Costs 1 credit. */
32
+ /** Returns a video's captions as one WEBVTT string, with its `id` and `url`. Without `language` the captions are in the video's original language. Costs 1 credit. */
39
33
  getTranscript(params: GetTranscriptParams): Promise<TikTokTranscriptResponse>;
40
34
  }
41
35
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/services/tiktok/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEpyB,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,0NAA0N;IACpN,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAIrG,yPAAyP;IACnP,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAItF,waAAwa;IACla,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI1E,keAAke;IAC5d,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIzF,kdAAkd;IAC5c,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhF,oWAAoW;IAC9V,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhF,4JAA4J;IACtJ,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAIxG,0eAA0e;IACpe,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAI1E,kNAAkN;IAC5M,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI1E,0MAA0M;IACpM,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIjE,2aAA2a;IACra,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAInF,sSAAsS;IAChS,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI7E,8KAA8K;IACxK,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI7E,6ZAA6Z;IACvZ,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIjE,yJAAyJ;IACnJ,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAI/F,wPAAwP;IAClP,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI1E,2KAA2K;IACrK,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAGpF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/services/tiktok/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtqB,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,mMAAmM;IAC7L,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAIrG,yIAAyI;IACnI,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAItF,kLAAkL;IAC5K,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI1E,gRAAgR;IAC1Q,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIzF,yPAAyP;IACnP,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhF,wHAAwH;IAClH,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAIxG,kJAAkJ;IAC5I,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIjE,yNAAyN;IACnN,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAInF,mIAAmI;IAC7H,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI7E,uKAAuK;IACjK,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI7E,uLAAuL;IACjL,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIjE,gHAAgH;IAC1G,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAI/F,4MAA4M;IACtM,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI1E,sKAAsK;IAChK,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAGpF"}
@@ -4,71 +4,59 @@ export class TiktokClient {
4
4
  constructor(base) {
5
5
  this.base = base;
6
6
  }
7
- /** The videos saved in a public TikTok collection, as TikTok's web video objects (`id`, `desc`, `author`, `stats`, `video`), 30 per page. Pass `max_cursor` back as `cursor` while `has_more` is true. Costs 1 credit. */
7
+ /** The videos saved in a collection, as web video objects (`id`, `desc`, `author`, `stats`, `video`), 30 per page. Pass `max_cursor` back as `cursor` while `has_more` is true. Costs 1 credit. */
8
8
  async getCollectionVideos(params) {
9
9
  return this.base.get('/v1/tiktok/collection/videos', { ...params });
10
10
  }
11
- /** TikTok's For You feed for a logged-out viewer in `region`, about 6 videos a call, in Scrape Creators' 21-key trending item built from TikTok's Android app feed, with exact counts. Each call is a fresh feed; there is no cursor. Costs 1 credit. */
11
+ /** Returns about six videos from the For You feed for `region`. Each call starts a fresh feed, so there is no cursor. Costs 1 credit. */
12
12
  async getTrendingFeed(params) {
13
13
  return this.base.get('/v1/tiktok/get-trending-feed', { ...params });
14
14
  }
15
- /** A TikTok profile by handle or numeric user id: `user` (nickname, signature, avatars, `secUid`, `verified`, `privateAccount`, bio link), `stats` and `statsV2` (followers, following, likes, videos) and an empty `itemList`, the body TikTok's profile page carries and Scrape Creators passes through, without Scrape Creators' top-level status and credit metadata. A private account answers its profile too. Costs 1 credit. */
15
+ /** Returns a profile by handle or numeric user ID, including its bio, avatars, verification, privacy, follower count, following count, likes, and video count. Costs 1 credit. */
16
16
  async getProfile(params) {
17
17
  return this.base.get('/v1/tiktok/profile', { ...params });
18
18
  }
19
- /** Videos a TikTok user posted, newest first or most popular first, 35 per page. Items follow Scrape Creators' app layout (`aweme_id`, `statistics`, `video.play_addr`, snake_case `author`), built from TikTok's logged-out web data: a key the web data has no source for is left out, never filled in, and TikTok rounds counts of 10,000 or more for logged-out viewers (1,041,184 plays reads 1,000,000). Pass `max_cursor` back for the next page while `has_more` is 1. Costs 1 credit. */
19
+ /** Videos a user posted, newest first or most popular first, 35 per page. Each item includes its `aweme_id`, engagement, playback data, and author. Counts of 10,000 or more may be rounded. Pass `max_cursor` back for the next page while `has_more` is 1. Costs 1 credit. */
20
20
  async getProfileVideos(params) {
21
21
  return this.base.get('/v1/tiktok/profile/videos', { ...params });
22
22
  }
23
- /** Videos under a TikTok hashtag, 30 per page. Items follow Scrape Creators' app layout (`aweme_id`, `statistics`, `video.play_addr`, snake_case `author`), built from TikTok's logged-out web data: a key the web data has no source for is left out, never filled in, and TikTok rounds counts of 10,000 or more for logged-out viewers (1,041,184 plays reads 1,000,000). Pass `cursor` back while `has_more` is 1; TikTok can repeat a video across pages. Costs 1 credit. */
23
+ /** Videos under a hashtag, 30 per page. Each item includes its `aweme_id`, engagement, playback data, and author. Counts of 10,000 or more may be rounded. Pass `cursor` back while `has_more` is 1; a video may repeat across pages. Costs 1 credit. */
24
24
  async searchHashtag(params) {
25
25
  return this.base.get('/v1/tiktok/search/hashtag', { ...params });
26
26
  }
27
- /** TikTok videos matching a keyword, about 10 per page, each as `aweme_info` in `search_item_list`. Built from TikTok's iOS app search, so counts are exact and items carry the app's own keys. TikTok's paid ads and its user and topic cards are left out, so a page can hold fewer than 10 videos. Pass `cursor` back while `has_more` is 1. Costs 2 credits. */
28
- async searchKeyword(params) {
29
- return this.base.get('/v1/tiktok/search/keyword', { ...params });
30
- }
31
- /** The autocomplete suggestions TikTok shows while someone types a search: `text`, `position`, `language` and TikTok's `score` for each. Costs 1 credit. */
27
+ /** Autocomplete suggestions for a search, with `text`, `position`, `language`, and `score` for each. Costs 1 credit. */
32
28
  async getSearchSuggestions(params) {
33
29
  return this.base.get('/v1/tiktok/search/suggestions', { ...params });
34
30
  }
35
- /** TikTok's top results for a query, videos and photo carousels, about 10 per page, as Scrape Creators' top item: `id`, `desc`, `content_type`, ISO `create_time`, `statistics`, `author`, `music`, `video`, and `images` for a carousel. Built from TikTok's iOS app search, so counts are exact and items carry the app's own keys. TikTok's paid ads and its user and topic cards are left out, so a page can hold fewer than 10 videos. Pass `cursor` back while `has_more` is 1. Costs 2 credits. */
36
- async searchTop(params) {
37
- return this.base.get('/v1/tiktok/search/top', { ...params });
38
- }
39
- /** TikTok accounts matching a query, 30 per page, as TikTok's iOS app answers them: `user_list` entries with a `user_info` of exact follower counts. Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
40
- async searchUsers(params) {
41
- return this.base.get('/v1/tiktok/search/users', { ...params });
42
- }
43
- /** A TikTok sound as `music_info`: title, author, album, duration, `user_count` (videos using it), `play_url` and covers, in Scrape Creators' app layout built from TikTok's web data. Costs 1 credit. */
31
+ /** Returns a sound as `music_info`, including its title, author, album, duration, video count, playback URL, and cover images. Costs 1 credit. */
44
32
  async getSong(params) {
45
33
  return this.base.get('/v1/tiktok/song', { ...params });
46
34
  }
47
- /** Videos that use a TikTok sound, 30 per page. Items follow Scrape Creators' app layout (`aweme_id`, `statistics`, `video.play_addr`, snake_case `author`), built from TikTok's logged-out web data: a key the web data has no source for is left out, never filled in, and TikTok rounds counts of 10,000 or more for logged-out viewers (1,041,184 plays reads 1,000,000). Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
35
+ /** Videos that use a sound, 30 per page. Each item includes its `aweme_id`, engagement, playback data, and author. Counts of 10,000 or more may be rounded. Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
48
36
  async getSongVideos(params) {
49
37
  return this.base.get('/v1/tiktok/song/videos', { ...params });
50
38
  }
51
- /** Accounts following a TikTok user, newest first, 30 per page, in Scrape Creators' app user layout (`uid`, `unique_id`, `nickname`, `follower_count`, avatars) built from TikTok's web data; counts of 10,000 or more are rounded. Pass `min_time` back while `has_more` is true. Costs 1 credit. */
39
+ /** Returns accounts following a user, newest first, 30 per page. Pass `min_time` back while `has_more` is true. Costs 1 credit. */
52
40
  async getFollowers(params) {
53
41
  return this.base.get('/v1/tiktok/user/followers', { ...params });
54
42
  }
55
- /** Accounts a TikTok user follows, newest first, 30 per page, in the same user layout as `/user/followers`. Pass `min_time` back while `has_more` is true. Costs 1 credit. */
43
+ /** Accounts a user follows, newest first, 30 per page, in the same user layout as `/user/followers`. Pass `min_time` back while `has_more` is true. Costs 1 credit. */
56
44
  async getFollowing(params) {
57
45
  return this.base.get('/v1/tiktok/user/following', { ...params });
58
46
  }
59
- /** One TikTok video or photo post as `aweme_detail`, TikTok's own Android app object with exact counts, plus the `url` and `create_time_utc` Scrape Creators adds. It comes from the app's feed, which leaves out about a quarter of the keys the app's detail view has. With `get_transcript=true`, `transcript` holds the WEBVTT captions in the video's original language, or `null` when it has none. Costs 1 credit. */
47
+ /** Returns one video or photo post as `aweme_detail`, with media, author, and engagement data. Set `get_transcript=true` to include WEBVTT captions when available. Costs 1 credit. */
60
48
  async getVideo(params) {
61
49
  return this.base.get('/v1/tiktok/video', { ...params });
62
50
  }
63
- /** Replies to one comment on a TikTok video, 20 per page, as TikTok's web API returns them. Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
51
+ /** Replies to one comment on a video, 20 per page. Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
64
52
  async getCommentReplies(params) {
65
53
  return this.base.get('/v1/tiktok/video/comment/replies', { ...params });
66
54
  }
67
- /** Comments on a TikTok video, 20 per page, as TikTok's web comment API returns them: `text`, `digg_count`, `reply_comment_total`, `create_time` and the commenter's `user`, plus `total`. Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
55
+ /** Comments on a video, 20 per page, with `text`, `digg_count`, `reply_comment_total`, `create_time` and the commenter's `user`, plus `total`. Pass `cursor` back while `has_more` is 1. Costs 1 credit. */
68
56
  async getComments(params) {
69
57
  return this.base.get('/v1/tiktok/video/comments', { ...params });
70
58
  }
71
- /** A TikTok video's captions as one WEBVTT string, with the video `id` and `url`. Without `language` the captions are in the video's original language. Costs 1 credit. */
59
+ /** Returns a video's captions as one WEBVTT string, with its `id` and `url`. Without `language` the captions are in the video's original language. Costs 1 credit. */
72
60
  async getTranscript(params) {
73
61
  return this.base.get('/v1/tiktok/video/transcript', { ...params });
74
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/services/tiktok/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/services/tiktok/client.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export interface GetCommentRepliesParams {
30
30
  export interface GetCommentsParams {
31
31
  /** The `cursor` from the previous page. Omit it for the first page. */
32
32
  cursor?: number | null;
33
- /** Set to `true` for the trimmed answer Scrape Creators returns: fewer keys per item. */
33
+ /** Set to `true` to return fewer fields per item. */
34
34
  trim?: boolean | null;
35
35
  /** A TikTok video or photo post URL: `https://www.tiktok.com/@<handle>/video/<id>`, `/photo/<id>`, or a `https://vm.tiktok.com/<code>/` share link. */
36
36
  url: string;
@@ -41,7 +41,7 @@ export interface GetFollowersParams {
41
41
  handle?: string | null;
42
42
  /** The `min_time` from the previous page. Omit it for the first page. */
43
43
  min_time?: number | null;
44
- /** Set to `true` for the trimmed answer Scrape Creators returns: fewer keys per item. */
44
+ /** Set to `true` to return fewer fields per item. */
45
45
  trim?: boolean | null;
46
46
  /** The numeric TikTok user id (`user.id` from `/v1/tiktok/profile`). Send `handle` or `user_id`, not both. */
47
47
  user_id?: string | null;
@@ -52,12 +52,12 @@ export interface GetFollowingParams {
52
52
  handle: string;
53
53
  /** The `min_time` from the previous page. Omit it for the first page. */
54
54
  min_time?: number | null;
55
- /** Set to `true` for the trimmed answer Scrape Creators returns: fewer keys per item. */
55
+ /** Set to `true` to return fewer fields per item. */
56
56
  trim?: boolean | null;
57
57
  }
58
58
  export type GetFollowingResponse = TikTokFollowingResponse | TikTokTrimmedFollowingResponse;
59
59
  export interface GetProfileParams {
60
- /** Accepted for Scrape Creators compatibility. It has no effect: every request fetches a live answer and is charged. */
60
+ /** Ignored. Every request fetches a fresh response and is charged. */
61
61
  cache_max_age?: GetProfileParamsCacheMaxAge | null;
62
62
  /** The TikTok handle, with or without a leading @. Send `handle` or `user_id`, not both. */
63
63
  handle?: string | null;
@@ -74,7 +74,7 @@ export interface GetProfileVideosParams {
74
74
  region?: string | null;
75
75
  /** `latest` (default) or `popular`, most viewed first. */
76
76
  sort_by?: GetProfileVideosParamsSortBy | null;
77
- /** Set to `true` for the trimmed answer Scrape Creators returns: fewer keys per item. */
77
+ /** Set to `true` to return fewer fields per item. */
78
78
  trim?: boolean | null;
79
79
  /** The numeric TikTok user id (`user.id` from `/v1/tiktok/profile`). Send `handle` or `user_id`, not both. */
80
80
  user_id?: string | null;
@@ -102,24 +102,24 @@ export interface GetTranscriptParams {
102
102
  language?: string | null;
103
103
  /** A TikTok video or photo post URL: `https://www.tiktok.com/@<handle>/video/<id>`, `/photo/<id>`, or a `https://vm.tiktok.com/<code>/` share link. */
104
104
  url: string;
105
- /** Accepted for Scrape Creators compatibility. It has no effect: only captions TikTok already has are returned. */
105
+ /** Ignored. Only captions already available from TikTok are returned. */
106
106
  use_ai_as_fallback?: boolean | null;
107
107
  }
108
108
  export interface GetTrendingFeedParams {
109
109
  /** Two-letter country code, such as `US` or `GB`. The feed is what TikTok serves a viewer in that country, not only videos from it. */
110
110
  region: string;
111
- /** Set to `true` for the trimmed answer Scrape Creators returns: fewer keys per item. */
111
+ /** Set to `true` to return fewer fields per item. */
112
112
  trim?: boolean | null;
113
113
  }
114
114
  export type GetTrendingFeedResponse = TikTokTrendingFeedResponse | TikTokTrimmedTrendingFeedResponse;
115
115
  export interface GetVideoParams {
116
- /** Accepted for Scrape Creators compatibility. It has no effect: every request fetches a live answer and is charged. */
116
+ /** Ignored. Every request fetches a fresh response and is charged. */
117
117
  cache_max_age?: GetVideoParamsCacheMaxAge | null;
118
118
  /** Set to `true` to add `transcript`, the video's WEBVTT captions, or `null` when it has none. */
119
119
  get_transcript?: boolean | null;
120
120
  /** Two-letter country code for the proxy, such as `US`, `GB` or `PH`. TikTok answers as it does to a viewer in that country; it does not filter results to that country. */
121
121
  region?: string | null;
122
- /** Set to `true` for the trimmed answer Scrape Creators returns: fewer keys per item. */
122
+ /** Set to `true` to return fewer fields per item. */
123
123
  trim?: boolean | null;
124
124
  /** A TikTok video or photo post URL: `https://www.tiktok.com/@<handle>/video/<id>`, `/photo/<id>`, or a `https://vm.tiktok.com/<code>/` share link. */
125
125
  url: string;
@@ -134,184 +134,10 @@ export interface SearchHashtagParams {
134
134
  hashtag: string;
135
135
  /** Two-letter country code for the proxy, such as `US`, `GB` or `PH`. TikTok answers as it does to a viewer in that country; it does not filter results to that country. */
136
136
  region?: string | null;
137
- /** Set to `true` for the trimmed answer Scrape Creators returns: fewer keys per item. */
137
+ /** Set to `true` to return fewer fields per item. */
138
138
  trim?: boolean | null;
139
139
  }
140
140
  export type SearchHashtagResponse = TikTokHashtagSearchResponse | TikTokTrimmedHashtagSearchResponse;
141
- export interface SearchKeywordParams {
142
- /** The `cursor` from the previous page of the same search. It expires 30 minutes after it is issued. Omit it for the first page. */
143
- cursor?: number | null;
144
- /** Only videos posted within this window. Omit it for any time. */
145
- date_posted?: SearchKeywordParamsDatePosted | null;
146
- /** What to search TikTok for. */
147
- query: string;
148
- /** Two-letter country code TikTok searches from, `US` by default. Supported: `AR`, `AT`, `AU`, `BD`, `BR`, `CA`, `CH`, `CL`, `DE`, `ES`, `FR`, `GB`, `IE`, `IT`, `JP`, `NL`, `PL`, `PT`, `SE`, `SG`, `TR`, `US`, `ZA`. */
149
- region?: string | null;
150
- /** `relevance` (default), `most-liked`, or `date-posted`, newest first. */
151
- sort_by?: SearchKeywordParamsSortBy | null;
152
- /** Set to `true` for the trimmed answer Scrape Creators returns: fewer keys per item. */
153
- trim?: boolean | null;
154
- }
155
- export type SearchKeywordParamsDatePosted = "yesterday" | "this-week" | "this-month" | "last-3-months" | "last-6-months" | "all-time";
156
- export type SearchKeywordParamsSortBy = "relevance" | "most-liked" | "date-posted";
157
- export type SearchKeywordResponse = TikTokKeywordSearchResponse | TikTokTrimmedKeywordSearchResponse;
158
- export interface SearchTopParams {
159
- /** The `cursor` from the previous page of the same search. It expires 30 minutes after it is issued. Omit it for the first page. */
160
- cursor?: number | null;
161
- /** Only videos posted within this window. Omit it for any time. */
162
- publish_time?: SearchTopParamsPublishTime | null;
163
- /** What to search TikTok for. */
164
- query: string;
165
- /** Two-letter country code TikTok searches from, `US` by default. Supported: `AR`, `AT`, `AU`, `BD`, `BR`, `CA`, `CH`, `CL`, `DE`, `ES`, `FR`, `GB`, `IE`, `IT`, `JP`, `NL`, `PL`, `PT`, `SE`, `SG`, `TR`, `US`, `ZA`. */
166
- region?: string | null;
167
- /** `relevance` (default), `most-liked`, or `date-posted`, newest first. */
168
- sort_by?: SearchTopParamsSortBy | null;
169
- }
170
- export type SearchTopParamsPublishTime = "yesterday" | "this-week" | "this-month" | "last-3-months" | "last-6-months" | "all-time";
171
- export type SearchTopParamsSortBy = "relevance" | "most-liked" | "date-posted";
172
- export interface SearchUsersParams {
173
- /** The `cursor` from the previous page of the same search. It expires 30 minutes after it is issued. Omit it for the first page. */
174
- cursor?: number | null;
175
- /** What to search TikTok for. */
176
- query: string;
177
- /** Two-letter country code TikTok searches from, `US` by default. Supported: `AR`, `AT`, `AU`, `BD`, `BR`, `CA`, `CH`, `CL`, `DE`, `ES`, `FR`, `GB`, `IE`, `IT`, `JP`, `NL`, `PL`, `PT`, `SE`, `SG`, `TR`, `US`, `ZA`. */
178
- region?: string | null;
179
- /** Set to `true` for the trimmed answer Scrape Creators returns: fewer keys per item. */
180
- trim?: boolean | null;
181
- }
182
- export type SearchUsersResponse = TikTokUserSearchResponse | TikTokTrimmedUserSearchResponse;
183
- export interface TikTokAppAweme {
184
- add_yours_recommendation?: Record<string, string>;
185
- added_sound_music_info?: TikTokAppAwemeAddedSoundMusicInfo;
186
- aigc_info?: TikTokAppAwemeAigcInfo;
187
- anchors: TikTokAppAwemeAnchors[] | null;
188
- animated_image_info?: TikTokAppAwemeAnimatedImageInfo;
189
- author: TikTokAppAwemeAuthor;
190
- author_user_id: number | string;
191
- aweme_acl?: TikTokAppAwemeAwemeAcl;
192
- aweme_id: string;
193
- aweme_type?: number | string;
194
- banners?: TikTokAppAwemeBanners[] | null;
195
- batch_index?: number | string;
196
- behind_the_song_music_ids?: string | null;
197
- behind_the_song_video_music_ids?: string | null;
198
- bodydance_score?: number | string;
199
- bottom_products?: string | null;
200
- branded_content_accounts?: string | null;
201
- cha_list?: TikTokAppAwemeChaList[] | null;
202
- challenge_position?: string | null;
203
- cmt_swt?: boolean;
204
- collect_stat?: number | string;
205
- comment_config?: TikTokAppAwemeCommentConfig;
206
- comment_topbar_info?: string | null;
207
- commerce_config_data?: string | null;
208
- commerce_info: TikTokAppAwemeCommerceInfo;
209
- content_desc?: string;
210
- content_desc_extra?: TikTokAppAwemeContentDescExtra[];
211
- content_original_type?: number | string;
212
- content_size_type?: number | string;
213
- content_type?: string;
214
- cover_labels?: string | null;
215
- create_time: number | string;
216
- desc: string;
217
- desc_language?: string;
218
- disable_search_trending_bar?: boolean;
219
- distance?: string;
220
- distribute_type?: number | string;
221
- ecosystem_perception_enhancement?: string | null;
222
- follow_up_first_item_id?: string;
223
- follow_up_item_id_groups?: string;
224
- follow_up_publish_from_id?: number | string;
225
- geofencing?: string | null;
226
- geofencing_regions?: string | null;
227
- green_screen_materials?: string | null;
228
- group_id?: string;
229
- has_danmaku?: boolean;
230
- has_vs_entry?: boolean;
231
- hybrid_label?: string | null;
232
- image_infos?: string | null;
233
- image_post_info?: TikTokAppAwemeImagePostInfo;
234
- interact_permission?: TikTokAppAwemeInteractPermission;
235
- interaction_stickers?: TikTokAppAwemeInteractionStickers[] | null;
236
- is_ad?: boolean;
237
- is_ads?: boolean;
238
- is_description_translatable?: boolean;
239
- is_hash_tag?: number | string;
240
- is_pgcshow?: boolean;
241
- is_relieve?: boolean;
242
- is_text_sticker_translatable?: boolean;
243
- is_top?: number | string;
244
- is_vr?: boolean;
245
- item_comment_settings: number | string;
246
- item_distribute_source?: string;
247
- item_duet?: number | string;
248
- item_react?: number | string;
249
- item_source_category?: number | string;
250
- label_top?: TikTokAppAwemeLabelTop;
251
- label_top_text?: string | null;
252
- log_info?: TikTokAppAwemeLogInfo;
253
- long_video?: string | null;
254
- main_arch_common?: string;
255
- mask_infos?: TikTokAppAwemeMaskInfo[];
256
- misc_info?: string;
257
- muf_comment_info_v2?: string | null;
258
- music?: TikTokAppAwemeMusic;
259
- music_begin_time_in_ms?: number | string;
260
- music_end_time_in_ms?: number | string;
261
- music_selected_from?: string;
262
- music_title_style?: number | string;
263
- music_volume?: string;
264
- need_vs_entry?: boolean;
265
- nickname_position?: string | null;
266
- operator_boost_info?: string | null;
267
- origin_comment_ids?: string | null;
268
- origin_volume?: string;
269
- original_client_text?: TikTokAppAwemeOriginalClientText;
270
- picked_users?: Record<string, unknown>[] | null;
271
- playlist_blocked?: boolean;
272
- playlist_info?: TikTokAppAwemePlaylistInfo;
273
- poi_data?: TikTokAppAwemePoiData;
274
- position?: string | null;
275
- prevent_download?: boolean;
276
- products_info?: string | null;
277
- question_list?: string | null;
278
- rate?: number | string;
279
- reference_tts_voice_ids?: string | string[] | null;
280
- reference_voice_filter_ids?: string | string[] | null;
281
- region: string;
282
- right_products?: string | null;
283
- risk_infos?: TikTokAppAwemeRiskInfos;
284
- search_highlight?: TikTokAppAwemeSearchHighlight[] | null;
285
- share_info: TikTokAppAwemeShareInfo;
286
- share_url?: string;
287
- shoot_tab_name?: string;
288
- smart_search_info?: TikTokAppAwemeSmartSearchInfo;
289
- sort_label?: string;
290
- sound_exemption?: number | string;
291
- standard_component_info?: TikTokAppAwemeStandardComponentInfo;
292
- statistics: TikTokAppAwemeStatistics;
293
- status?: TikTokAppAwemeStatus;
294
- sticker_detail?: TikTokAppAwemeStickerDetail;
295
- stickers?: string;
296
- suggest_words?: TikTokAppAwemeSuggestWords;
297
- support_danmaku?: boolean;
298
- survey_info?: string | null;
299
- tako_bubble_info?: TikTokAppAwemeTakoBubbleInfo;
300
- text_extra?: TikTokAppAwemeTextExtra[];
301
- text_sticker_major_lang?: string;
302
- ttec_suggest_words?: TikTokAppAwemeTtecSuggestWords;
303
- tts_voice_ids?: string | string[] | null;
304
- uniqid_position?: string | null;
305
- user_digged?: number | string;
306
- video: TikTokAppAwemeVideo;
307
- video_control?: TikTokAppAwemeVideoControl;
308
- video_labels?: string[];
309
- video_text?: string[];
310
- visual_search_info?: TikTokAppAwemeVisualSearchInfo;
311
- voice_filter_ids?: string | string[] | null;
312
- with_promotional_music?: boolean;
313
- with_survey?: boolean;
314
- }
315
141
  export interface TikTokAppAwemeAddedSoundMusicInfo {
316
142
  album: string;
317
143
  allow_offline_music_to_detail_page?: boolean;
@@ -2525,14 +2351,6 @@ export interface TikTokImagePostInfo {
2525
2351
  images: TikTokImagePostImage[];
2526
2352
  title: string;
2527
2353
  }
2528
- export interface TikTokKeywordSearchItem {
2529
- aweme_info: TikTokVideoAweme;
2530
- }
2531
- export interface TikTokKeywordSearchResponse {
2532
- cursor: number | string;
2533
- has_more: number | string;
2534
- search_item_list: TikTokKeywordSearchItem[];
2535
- }
2536
2354
  export interface TikTokOriginalLanguageInfo {
2537
2355
  lang: string;
2538
2356
  language_code: string;
@@ -2611,34 +2429,6 @@ export interface TikTokTextExtra {
2611
2429
  type: number | string;
2612
2430
  user_id?: string;
2613
2431
  }
2614
- export interface TikTokTopItem {
2615
- author: TikTokAppAwemeAuthor;
2616
- content_type: string;
2617
- create_time: string;
2618
- desc: string;
2619
- desc_language?: string;
2620
- id: string;
2621
- images?: string[];
2622
- is_ad: boolean;
2623
- is_top: number | string;
2624
- music?: TikTokTopItemMusic;
2625
- region: string;
2626
- statistics: TikTokAppAwemeStatistics;
2627
- url: string;
2628
- video: TikTokAppAwemeVideo;
2629
- }
2630
- export interface TikTokTopItemMusic {
2631
- author: string;
2632
- duration: number | string;
2633
- id: number | string;
2634
- matched_song?: TikTokAppAwemeMusicMatchedSong;
2635
- play_url: string;
2636
- title: string;
2637
- }
2638
- export interface TikTokTopSearchResponse {
2639
- cursor: number | string;
2640
- items: TikTokTopItem[];
2641
- }
2642
2432
  export interface TikTokTranscriptResponse {
2643
2433
  id: string;
2644
2434
  transcript: string;
@@ -2725,10 +2515,6 @@ export interface TikTokTrimmedHashtagSearchResponse {
2725
2515
  aweme_list: TikTokTrimmedAweme[];
2726
2516
  cursor: number | string;
2727
2517
  }
2728
- export interface TikTokTrimmedKeywordSearchResponse {
2729
- cursor: number | string;
2730
- search_item_list: TikTokTrimmedSearchAweme[];
2731
- }
2732
2518
  export interface TikTokTrimmedProfileVideosResponse {
2733
2519
  aweme_list: TikTokTrimmedAweme[];
2734
2520
  has_more: number | string;
@@ -2744,28 +2530,6 @@ export interface TikTokTrimmedRelationUser {
2744
2530
  uid: string;
2745
2531
  unique_id: string;
2746
2532
  }
2747
- export interface TikTokTrimmedSearchAweme {
2748
- author: TikTokAppAwemeAuthor;
2749
- aweme_id: string;
2750
- create_time: number | string;
2751
- create_time_utc: string;
2752
- desc: string;
2753
- desc_language?: string;
2754
- is_ad: boolean;
2755
- region: string;
2756
- statistics: TikTokAppAwemeStatistics;
2757
- url: string;
2758
- video: TikTokAppAwemeVideo;
2759
- }
2760
- export interface TikTokTrimmedSearchUser {
2761
- avatar_medium: TikTokAppAwemeAuthorAvatarMedium;
2762
- follower_count?: number | string;
2763
- following_count?: number | string;
2764
- nickname: string;
2765
- sec_uid?: string;
2766
- uid: string;
2767
- unique_id: string;
2768
- }
2769
2533
  export interface TikTokTrimmedTrendingFeedResponse {
2770
2534
  aweme_list: TikTokTrimmedTrendingItem[];
2771
2535
  }
@@ -2781,10 +2545,6 @@ export interface TikTokTrimmedTrendingItem {
2781
2545
  url: string;
2782
2546
  video: TikTokTrendingVideo;
2783
2547
  }
2784
- export interface TikTokTrimmedUserSearchResponse {
2785
- cursor: number | string;
2786
- users: TikTokTrimmedSearchUser[];
2787
- }
2788
2548
  export interface TikTokTrimmedVideoAweme {
2789
2549
  author: TikTokAppAwemeAuthor;
2790
2550
  aweme_id: string;
@@ -2905,71 +2665,6 @@ export interface TikTokUserInfoUserProfileTab {
2905
2665
  showPlayListTab: boolean;
2906
2666
  showQuestionTab: boolean;
2907
2667
  }
2908
- export interface TikTokUserSearchAnswerGlobalDoodleConfig {
2909
- ab_params?: TikTokUserSearchAnswerGlobalDoodleConfigAbParams;
2910
- display_filter_bar?: number | string;
2911
- feedback_survey?: TikTokUserSearchAnswerGlobalDoodleConfigFeedbackSurvey[];
2912
- feel_good?: TikTokUserSearchAnswerGlobalDoodleConfigFeelGood;
2913
- hide_results?: boolean;
2914
- hit_dolphin?: boolean;
2915
- hit_shark?: boolean;
2916
- keyword?: string;
2917
- new_source?: string;
2918
- search_channel?: string;
2919
- tns_search_result?: string;
2920
- }
2921
- export interface TikTokUserSearchAnswerGlobalDoodleConfigAbParams {
2922
- user_relation_ship?: string;
2923
- }
2924
- export interface TikTokUserSearchAnswerGlobalDoodleConfigFeedbackSurvey {
2925
- feedback_type?: string;
2926
- long_stress_info?: string | null;
2927
- multiple_choices?: TikTokUserSearchAnswerGlobalDoodleConfigFeedbackSurveyMultipleChoices[];
2928
- send_us_multiple_choices?: string | null;
2929
- }
2930
- export interface TikTokUserSearchAnswerGlobalDoodleConfigFeedbackSurveyMultipleChoices {
2931
- key?: string;
2932
- value?: string;
2933
- }
2934
- export interface TikTokUserSearchAnswerGlobalDoodleConfigFeelGood {
2935
- extra?: string;
2936
- token?: string;
2937
- token_type?: string;
2938
- }
2939
- export interface TikTokUserSearchEntry {
2940
- challenges: Record<string, string>[] | null;
2941
- effects: Record<string, string>[] | null;
2942
- items: TikTokAppAweme[] | null;
2943
- mix_list: Record<string, string>[] | null;
2944
- musics: Record<string, string>[] | null;
2945
- position: (Record<string, number | string>)[] | null;
2946
- uniqid_position: (Record<string, number | string>)[] | null;
2947
- user_info: TikTokAppAwemeAuthor;
2948
- }
2949
- export interface TikTokUserSearchExtra {
2950
- api_debug_info?: string | null;
2951
- fatal_item_ids?: string[];
2952
- logid: string;
2953
- now: number | string;
2954
- search_request_id?: string;
2955
- server_stream_time?: number | string;
2956
- }
2957
- export interface TikTokUserSearchResponse {
2958
- challenge_list?: Record<string, string>[] | null;
2959
- cursor: number | string;
2960
- extra?: TikTokUserSearchExtra;
2961
- feedback_type?: string;
2962
- global_doodle_config?: TikTokUserSearchAnswerGlobalDoodleConfig;
2963
- has_more: number | string;
2964
- input_keyword?: string;
2965
- log_pb?: Record<string, string>;
2966
- music_list?: Record<string, string>[] | null;
2967
- qc?: string;
2968
- rid: string;
2969
- status_code: number | string;
2970
- type: number | string;
2971
- user_list: TikTokUserSearchEntry[];
2972
- }
2973
2668
  export interface TikTokVideoAweme {
2974
2669
  ad_aweme_source?: number | string;
2975
2670
  add_yours_info?: TikTokVideoAwemeAddYoursInfo;