@nxgiang/tiktok-api 1.3.7
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.
- package/CHANGELOG.md +492 -0
- package/CODE_OF_CONDUCT.md +128 -0
- package/CONTRIBUTING.md +95 -0
- package/LICENSE +201 -0
- package/README.md +1663 -0
- package/bun.lock +367 -0
- package/helper/signature.js +390 -0
- package/helper/webmssdk.js +4586 -0
- package/helper/xbogus.js +563 -0
- package/install.sh +51 -0
- package/lib/cli/index.d.ts +2 -0
- package/lib/cli/index.js +809 -0
- package/lib/constants/api.d.ts +22 -0
- package/lib/constants/api.js +39 -0
- package/lib/constants/headers.d.ts +2 -0
- package/lib/constants/headers.js +5 -0
- package/lib/constants/index.d.ts +23 -0
- package/lib/constants/index.js +26 -0
- package/lib/constants/params.d.ts +19 -0
- package/lib/constants/params.js +531 -0
- package/lib/index.d.ts +93 -0
- package/lib/index.js +137 -0
- package/lib/lib/logger.d.ts +8 -0
- package/lib/lib/logger.js +25 -0
- package/lib/services/cookieManager.d.ts +10 -0
- package/lib/services/cookieManager.js +51 -0
- package/lib/services/downloadManager.d.ts +5 -0
- package/lib/services/downloadManager.js +188 -0
- package/lib/services/tiktokService.d.ts +14 -0
- package/lib/services/tiktokService.js +78 -0
- package/lib/types/common.d.ts +65 -0
- package/lib/types/common.js +2 -0
- package/lib/types/cookieManager.d.ts +13 -0
- package/lib/types/cookieManager.js +2 -0
- package/lib/types/downloader/musicaldownDownloader.d.ts +27 -0
- package/lib/types/downloader/musicaldownDownloader.js +2 -0
- package/lib/types/downloader/ssstikDownloader.d.ts +30 -0
- package/lib/types/downloader/ssstikDownloader.js +2 -0
- package/lib/types/downloader/tiktokApiDownloader.d.ts +38 -0
- package/lib/types/downloader/tiktokApiDownloader.js +2 -0
- package/lib/types/get/getCollection.d.ts +53 -0
- package/lib/types/get/getCollection.js +2 -0
- package/lib/types/get/getComments.d.ts +26 -0
- package/lib/types/get/getComments.js +2 -0
- package/lib/types/get/getMusicDetail.d.ts +49 -0
- package/lib/types/get/getMusicDetail.js +2 -0
- package/lib/types/get/getMusicVideos.d.ts +93 -0
- package/lib/types/get/getMusicVideos.js +2 -0
- package/lib/types/get/getPlaylist.d.ts +65 -0
- package/lib/types/get/getPlaylist.js +2 -0
- package/lib/types/get/getProfile.d.ts +71 -0
- package/lib/types/get/getProfile.js +2 -0
- package/lib/types/get/getTrendings.d.ts +61 -0
- package/lib/types/get/getTrendings.js +2 -0
- package/lib/types/get/getUserLiked.d.ts +90 -0
- package/lib/types/get/getUserLiked.js +2 -0
- package/lib/types/get/getUserPosts.d.ts +68 -0
- package/lib/types/get/getUserPosts.js +2 -0
- package/lib/types/get/getUserReposts.d.ts +104 -0
- package/lib/types/get/getUserReposts.js +2 -0
- package/lib/types/search/index.d.ts +15 -0
- package/lib/types/search/index.js +2 -0
- package/lib/types/search/liveSearch.d.ts +48 -0
- package/lib/types/search/liveSearch.js +2 -0
- package/lib/types/search/userSearch.d.ts +32 -0
- package/lib/types/search/userSearch.js +2 -0
- package/lib/types/search/videoSearch.d.ts +62 -0
- package/lib/types/search/videoSearch.js +2 -0
- package/lib/utils/downloader/musicaldownDownloader.d.ts +2 -0
- package/lib/utils/downloader/musicaldownDownloader.js +193 -0
- package/lib/utils/downloader/ssstikDownloader.d.ts +2 -0
- package/lib/utils/downloader/ssstikDownloader.js +177 -0
- package/lib/utils/downloader/tiktokAPIDownloader.d.ts +3 -0
- package/lib/utils/downloader/tiktokAPIDownloader.js +221 -0
- package/lib/utils/get/getCollection.d.ts +7 -0
- package/lib/utils/get/getCollection.js +113 -0
- package/lib/utils/get/getComments.d.ts +2 -0
- package/lib/utils/get/getComments.js +139 -0
- package/lib/utils/get/getMusicDetail.d.ts +2 -0
- package/lib/utils/get/getMusicDetail.js +68 -0
- package/lib/utils/get/getMusicVideos.d.ts +2 -0
- package/lib/utils/get/getMusicVideos.js +249 -0
- package/lib/utils/get/getPlaylist.d.ts +7 -0
- package/lib/utils/get/getPlaylist.js +115 -0
- package/lib/utils/get/getProfile.d.ts +2 -0
- package/lib/utils/get/getProfile.js +92 -0
- package/lib/utils/get/getTrendings.d.ts +7 -0
- package/lib/utils/get/getTrendings.js +120 -0
- package/lib/utils/get/getUserLiked.d.ts +2 -0
- package/lib/utils/get/getUserLiked.js +204 -0
- package/lib/utils/get/getUserPosts.d.ts +2 -0
- package/lib/utils/get/getUserPosts.js +199 -0
- package/lib/utils/get/getUserRepost.d.ts +2 -0
- package/lib/utils/get/getUserRepost.js +239 -0
- package/lib/utils/search/liveSearch.d.ts +2 -0
- package/lib/utils/search/liveSearch.js +99 -0
- package/lib/utils/search/userSearch.d.ts +2 -0
- package/lib/utils/search/userSearch.js +76 -0
- package/lib/utils/search/videoSearch.d.ts +2 -0
- package/lib/utils/search/videoSearch.js +140 -0
- package/lib/utils/urlExtractors.d.ts +3 -0
- package/lib/utils/urlExtractors.js +37 -0
- package/lib/utils/validator.d.ts +1 -0
- package/lib/utils/validator.js +13 -0
- package/package.json +60 -0
- package/test/collection-test.ts +73 -0
- package/test/comments-test.ts +54 -0
- package/test/downloader-v1-test.ts +49 -0
- package/test/downloader-v2-test.ts +47 -0
- package/test/downloader-v3-test.ts +35 -0
- package/test/music-detail-test.ts +97 -0
- package/test/music-videos-test.ts +86 -0
- package/test/playlist-test.ts +48 -0
- package/test/profile-test.ts +49 -0
- package/test/search-live-test.ts +42 -0
- package/test/search-user-test.ts +46 -0
- package/test/search-video-test.ts +53 -0
- package/test/trending-test.ts +128 -0
- package/test/userliked-test.ts +65 -0
- package/test/userposts-test.ts +56 -0
- package/test/userreposts-test.ts +57 -0
- package/tobyg74-tiktok-api-1.3.7.tgz +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,1663 @@
|
|
|
1
|
+
<h1 align="center">
|
|
2
|
+
Tiktok Downloader & Stalk User
|
|
3
|
+
</h1>
|
|
4
|
+
|
|
5
|
+
<div align="center">
|
|
6
|
+
<a href="https://github.com/TobyG74/tiktok-api-dl/graphs/contributors" title="contributors">
|
|
7
|
+
<img src="https://img.shields.io/github/contributors/TobyG74/tiktok-api-dl.svg?style=for-the-badge">
|
|
8
|
+
</a>
|
|
9
|
+
<a href="https://github.com/TobyG74/tiktok-api-dl/network/members" title="forks">
|
|
10
|
+
<img src="https://img.shields.io/github/forks/TobyG74/tiktok-api-dl.svg?style=for-the-badge">
|
|
11
|
+
</a>
|
|
12
|
+
<a href="https://github.com/TobyG74/tiktok-api-dl/issues" title="issues">
|
|
13
|
+
<img src="https://img.shields.io/github/issues/TobyG74/tiktok-api-dl.svg?style=for-the-badge">
|
|
14
|
+
</a>
|
|
15
|
+
<a href="https://github.com/TobyG74/tiktok-api-dl/stargazers" title="stargazer">
|
|
16
|
+
<img src="https://img.shields.io/github/stars/TobyG74/tiktok-api-dl.svg?style=for-the-badge">
|
|
17
|
+
</a>
|
|
18
|
+
</div>
|
|
19
|
+
<br>
|
|
20
|
+
<div align="center">
|
|
21
|
+
<a href="https://nodei.co/npm/@tobyg74/tiktok-api-dl" title="npm">
|
|
22
|
+
<img src="https://nodei.co/npm/@tobyg74/tiktok-api-dl.png?downloads=true&downloadRank=true&stars=true">
|
|
23
|
+
</a>
|
|
24
|
+
</div>
|
|
25
|
+
<br>
|
|
26
|
+
<div align="center">
|
|
27
|
+
<a href="https://whatsapp.com/channel/0029VaGQpAOKAwEfkKNh6Z0X" target="_blank"><img src="https://img.shields.io/badge/join our community-%2317ad1e.svg?style=for-the-badge&logo=whatsapp&logoColor=white" alt="Join Our Community"/></a>
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
<br>
|
|
31
|
+
|
|
32
|
+
# Table of Contents
|
|
33
|
+
|
|
34
|
+
- [Description](#description)
|
|
35
|
+
- [Quick Installation](#quick-installation)
|
|
36
|
+
- [Installation Methods](#installation-methods)
|
|
37
|
+
- [Using Installation Script](#using-installation-script)
|
|
38
|
+
- [Using NPM](#using-npm)
|
|
39
|
+
- [Using Yarn](#using-yarn)
|
|
40
|
+
- [Using Github](#using-github)
|
|
41
|
+
- [Usage Guide](#usage-guide)
|
|
42
|
+
- [Getting Tiktok Cookie](#getting-tiktok-cookie)
|
|
43
|
+
- [Using CLI](#using-cli)
|
|
44
|
+
- [Building from Source](#building-from-source)
|
|
45
|
+
- [CLI Usage](#cli-usage)
|
|
46
|
+
- [Example Cookie Usage](#example-cookie-usage)
|
|
47
|
+
- [Features](#features)
|
|
48
|
+
- [Tiktok Downloader](#tiktok-downloader)
|
|
49
|
+
- [Tiktok Search](#tiktok-search)
|
|
50
|
+
- [Tiktok Stalk User Profile](#tiktok-stalk-user-profile)
|
|
51
|
+
- [Tiktok Video User Comments](#tiktok-video-comments)
|
|
52
|
+
- [Tiktok Get User Posts](#tiktok-get-user-posts)
|
|
53
|
+
- [Tiktok Get User Reposts](#tiktok-get-user-reposts)
|
|
54
|
+
- [Tiktok Get User Favorite Videos](#tiktok-get-user-favorite-videos)
|
|
55
|
+
- [Tiktok Collection](#tiktok-collection)
|
|
56
|
+
- [Tiktok Playlist](#tiktok-playlist)
|
|
57
|
+
- [Tiktok Trending](#tiktok-trending)
|
|
58
|
+
- [Tiktok Get Videos by Music ID](#tiktok-get-videos-by-music-id)
|
|
59
|
+
- [Tiktok Get Music Detail](#tiktok-get-music-detail)
|
|
60
|
+
- [API Response Types](#api-response-types)
|
|
61
|
+
- [Tiktok Downloader](#tiktok-downloader-1)
|
|
62
|
+
- [Version 1 Response](#version-1-response)
|
|
63
|
+
- [Version 2 Response](#version-2-response)
|
|
64
|
+
- [Version 3 Response](#version-3-response)
|
|
65
|
+
- [Tiktok Search](#tiktok-search-1)
|
|
66
|
+
- [Tiktok Stalk User Profile](#tiktok-stalk-user-profile-1)
|
|
67
|
+
- [Tiktok Video Comments](#tiktok-video-comments-1)
|
|
68
|
+
- [Tiktok User Posts](#tiktok-user-posts)
|
|
69
|
+
- [Tiktok User Reposts](#tiktok-user-reposts)
|
|
70
|
+
- [Tiktok User Favorite Videos](#tiktok-user-favorite-videos)
|
|
71
|
+
- [Tiktok Collection](#tiktok-collection-1)
|
|
72
|
+
- [Tiktok Playlist](#tiktok-playlist-1)
|
|
73
|
+
- [Tiktok Trending](#tiktok-trending-1)
|
|
74
|
+
- [Tiktok Get Videos by Music ID](#tiktok-get-videos-by-music-id-1)
|
|
75
|
+
- [Tiktok Get Music Detail](#tiktok-get-music-detail-response)
|
|
76
|
+
- [Contributing](#contributing)
|
|
77
|
+
- [License](#license)
|
|
78
|
+
|
|
79
|
+
# Description
|
|
80
|
+
|
|
81
|
+
Note : `This project uses the API from Tiktok & Unofficial Tiktok API from Another Website. This project is not affiliated with Tiktok. `
|
|
82
|
+
|
|
83
|
+
- This project is made to help users to download videos, images / slides and music from Tiktok.
|
|
84
|
+
- This project is also made to help users to view someone's profile from Tiktok.
|
|
85
|
+
- This project is also made to help users to view comments from a video on Tiktok.
|
|
86
|
+
- This project is also made to help users to search for users, live streams and videos on Tiktok.
|
|
87
|
+
- This project is also made to help users to get user's posts, reposts and liked videos from Tiktok.
|
|
88
|
+
- This project is made to help users to get videos, images / slides from a Tiktok collection or playlist.
|
|
89
|
+
- This project is also made to help users to get trending content and creators from Tiktok.
|
|
90
|
+
- This project is also made to help users to get videos that use a specific music/audio track by music ID from Tiktok.
|
|
91
|
+
- This project is also made to help users to get detailed information about a music/audio track from Tiktok.
|
|
92
|
+
|
|
93
|
+
# Quick Installation
|
|
94
|
+
|
|
95
|
+
Install using our automated script:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
curl -o install.sh https://raw.githubusercontent.com/TobyG74/tiktok-api-dl/master/install.sh
|
|
99
|
+
chmod +x install.sh
|
|
100
|
+
./install.sh
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
The script automatically:
|
|
104
|
+
|
|
105
|
+
- Verifies Node.js installation and version
|
|
106
|
+
- Installs the library using npm or yarn
|
|
107
|
+
- Provides usage examples
|
|
108
|
+
|
|
109
|
+
# Installation Methods
|
|
110
|
+
|
|
111
|
+
## Using NPM
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npm install @tobyg74/tiktok-api-dl
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Using Yarn
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
yarn add @tobyg74/tiktok-api-dl
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Using Github
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
npm install github:TobyG74/tiktok-api-dl
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
# Usage Guide
|
|
130
|
+
|
|
131
|
+
## Getting Tiktok Cookie
|
|
132
|
+
|
|
133
|
+
1. Install [Cookie-Editor](https://chromewebstore.google.com/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm)
|
|
134
|
+
2. Login to [Tiktok](https://tiktok.com)
|
|
135
|
+
3. Open Cookie-Editor
|
|
136
|
+
4. Copy the cookie and use it in your code: `COOKIE: "YOUR_COOKIE"`
|
|
137
|
+
|
|
138
|
+
## Using CLI
|
|
139
|
+
|
|
140
|
+
### Global Installation
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
npm install -g @tobyg74/tiktok-api-dl
|
|
144
|
+
tiktokdl [command] [options]
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Direct Usage
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
git clone https://github.com/TobyG74/tiktok-api-dl.git
|
|
151
|
+
cd tiktok-api-dl
|
|
152
|
+
npm install
|
|
153
|
+
npx ts-node src/cli/index.ts [command] [options]
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### NPM Script
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
npm run cli [command] [options]
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### CLI Usage
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
$ tiktokdl -h
|
|
166
|
+
Usage: tiktokdl [options] [command]
|
|
167
|
+
|
|
168
|
+
Tiktok downloader and search CLI tool
|
|
169
|
+
|
|
170
|
+
Options:
|
|
171
|
+
-V, --version output the version number
|
|
172
|
+
-h, --help display help for command
|
|
173
|
+
|
|
174
|
+
Commands:
|
|
175
|
+
download [options] <url> Download Tiktok Video / Slide / Music
|
|
176
|
+
cookie Cookie Manager
|
|
177
|
+
search Search Tiktok users or live streams
|
|
178
|
+
getvideocomments [options] <url> Get comments from a Tiktok video
|
|
179
|
+
getuserposts [options] <username> Get posts from a Tiktok user
|
|
180
|
+
getuserreposts [options] <username> Get reposts from a Tiktok user
|
|
181
|
+
stalk [options] <username> Stalk a Tiktok user
|
|
182
|
+
help [command] display help for command
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Example Cookie Usage
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# Set Tiktok Cookie to use in commands
|
|
189
|
+
tiktokdl cookie set "YOUR_COOKIE"
|
|
190
|
+
|
|
191
|
+
# Get Tiktok Cookie
|
|
192
|
+
tiktokdl cookie get
|
|
193
|
+
|
|
194
|
+
# Delete Tiktok Cookie
|
|
195
|
+
tiktokdl cookie delete
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Building from Source
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
git clone https://github.com/TobyG74/tiktok-api-dl.git
|
|
202
|
+
cd tiktok-api-dl
|
|
203
|
+
npm install
|
|
204
|
+
npm run build
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
# Features
|
|
208
|
+
|
|
209
|
+
## Tiktok Downloader
|
|
210
|
+
|
|
211
|
+
```javascript
|
|
212
|
+
const Tiktok = require("@tobyg74/tiktok-api-dl")
|
|
213
|
+
|
|
214
|
+
const url = "https://vt.tiktok.com/xxxxxxxx"
|
|
215
|
+
Tiktok.Downloader(url, {
|
|
216
|
+
version: "v1", // "v1" | "v2" | "v3"
|
|
217
|
+
proxy: "YOUR_PROXY", // optional
|
|
218
|
+
showOriginalResponse: true // optional, v1 only
|
|
219
|
+
}).then((result) => console.log(result))
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### CLI Usage
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# Download Tiktok Video
|
|
226
|
+
tiktokdl download "https://vt.tiktok.com/xxxxxxxx"
|
|
227
|
+
|
|
228
|
+
# Download Tiktok Video with version
|
|
229
|
+
tiktokdl download "https://vt.tiktok.com/xxxxxxxx" -v v1
|
|
230
|
+
|
|
231
|
+
# Download Tiktok Video with Custom Output Directory Path
|
|
232
|
+
tiktokdl download "https://vt.tiktok.com/xxxxxxxx" -v v1 -o "/path/to/save/video.mp4"
|
|
233
|
+
|
|
234
|
+
# Download Tiktok Video with Proxy
|
|
235
|
+
tiktokdl download "https://vt.tiktok.com/xxxxxxxx" -v v1 -proxy "http://your-proxy-url"
|
|
236
|
+
|
|
237
|
+
# Download Collection or Playlist
|
|
238
|
+
tiktokdl download "https://www.tiktok.com/@username/collection/name-id"
|
|
239
|
+
tiktokdl download "https://www.tiktok.com/@username/playlist/name-id"
|
|
240
|
+
|
|
241
|
+
# Download Collection or Playlist with Count
|
|
242
|
+
tiktokdl download "https://www.tiktok.com/@username/collection/name-id" -c 5
|
|
243
|
+
tiktokdl download "https://www.tiktok.com/@username/playlist/name-id" -c 5
|
|
244
|
+
|
|
245
|
+
# Download Collection or Playlist with Proxy
|
|
246
|
+
tiktokdl download "https://www.tiktok.com/@username/collection/name-id" -c 5 -proxy "http://your-proxy-url"
|
|
247
|
+
tiktokdl download "https://www.tiktok.com/@username/playlist/name-id" -c 5 -proxy "http://your-proxy-url"
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
- [Version 1 Response](#version-1-response)
|
|
251
|
+
- [Version 2 Response](#version-2-response)
|
|
252
|
+
- [Version 3 Response](#version-3-response)
|
|
253
|
+
|
|
254
|
+
## Tiktok Search
|
|
255
|
+
|
|
256
|
+
```javascript
|
|
257
|
+
const Tiktok = require("@tobyg74/tiktok-api-dl")
|
|
258
|
+
|
|
259
|
+
Tiktok.Search("username", {
|
|
260
|
+
type: "user", // "user" | "live" | "video"
|
|
261
|
+
page: 1,
|
|
262
|
+
cookie: "YOUR_COOKIE", // needed
|
|
263
|
+
proxy: "YOUR_PROXY" // optional
|
|
264
|
+
}).then((result) => console.log(result))
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### CLI Usage
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
# Search Tiktok Users
|
|
271
|
+
tiktokdl search user <username>
|
|
272
|
+
|
|
273
|
+
# Search Tiktok Users with pagination
|
|
274
|
+
tiktokdl search user <username> -p 1
|
|
275
|
+
|
|
276
|
+
# Search Tiktok Users with proxy
|
|
277
|
+
tiktokdl search user <username> -p 1 -proxy "http://your-proxy-url"
|
|
278
|
+
|
|
279
|
+
# Search Tiktok Live Streams
|
|
280
|
+
tiktokdl search live <username>
|
|
281
|
+
|
|
282
|
+
# Search Tiktok Live Streams with pagination
|
|
283
|
+
tiktokdl search live <username> -p 1
|
|
284
|
+
|
|
285
|
+
# Search Tiktok Live Streams with proxy
|
|
286
|
+
tiktokdl search live <username> -p 1 -proxy "http://your-proxy-url"
|
|
287
|
+
|
|
288
|
+
# Search Tiktok Videos
|
|
289
|
+
tiktokdl search video <query>
|
|
290
|
+
|
|
291
|
+
# Search Tiktok Videos with pagination
|
|
292
|
+
tiktokdl search video <query> -p 1
|
|
293
|
+
|
|
294
|
+
# Search Tiktok Videos with proxy
|
|
295
|
+
tiktokdl search video <query> -p 1 -proxy "http://your-proxy-url"
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
- [User Search Response](#user-search-response)
|
|
299
|
+
- [Live Search Response](live-search-response)
|
|
300
|
+
- [Video Search Response](#video-search-response)
|
|
301
|
+
|
|
302
|
+
## Tiktok Stalk User Profile
|
|
303
|
+
|
|
304
|
+
```javascript
|
|
305
|
+
const Tiktok = require("@tobyg74/tiktok-api-dl")
|
|
306
|
+
|
|
307
|
+
const username = "Tobz2k19"
|
|
308
|
+
Tiktok.StalkUser(username, {
|
|
309
|
+
proxy: "YOUR_PROXY" // optional
|
|
310
|
+
}).then((result) => console.log(result))
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### CLI Usage
|
|
314
|
+
|
|
315
|
+
```bash
|
|
316
|
+
# Stalk User Profile
|
|
317
|
+
tiktokdl stalk <username>
|
|
318
|
+
|
|
319
|
+
# Stalk User Profile with proxy
|
|
320
|
+
tiktokdl stalk <username> -proxy "http://your-proxy-url"
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
- [Tiktok Stalk User Response](#tiktok-stalk-user-profile-1)
|
|
324
|
+
|
|
325
|
+
## Tiktok Video Comments
|
|
326
|
+
|
|
327
|
+
```javascript
|
|
328
|
+
const Tiktok = require("@tobyg74/tiktok-api-dl")
|
|
329
|
+
|
|
330
|
+
const url = "https://vt.tiktok.com/xxxxxxxx"
|
|
331
|
+
Tiktok.GetVideoComments(url, {
|
|
332
|
+
commentLimit: 10, // optional, default is 30
|
|
333
|
+
proxy: "YOUR_PROXY" // optional
|
|
334
|
+
}).then((result) => console.log(result))
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### CLI Usage
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
# Get Video Comments
|
|
341
|
+
tiktokdl getvideocomments "https://vt.tiktok.com/xxxxxxxx"
|
|
342
|
+
|
|
343
|
+
# Get Video Comments with limit of comments
|
|
344
|
+
tiktokdl getvideocomments "https://vt.tiktok.com/xxxxxxxx" -l 10
|
|
345
|
+
|
|
346
|
+
# Get Video Comments with proxy
|
|
347
|
+
tiktokdl getvideocomments "https://vt.tiktok.com/xxxxxxxx" -l 10 -proxy "http://your-proxy-url"
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
- [Tiktok Video Comments Response](#tiktok-video-comments-1)
|
|
351
|
+
|
|
352
|
+
## Tiktok Get User Posts
|
|
353
|
+
|
|
354
|
+
```javascript
|
|
355
|
+
const Tiktok = require("@tobyg74/tiktok-api-dl")
|
|
356
|
+
|
|
357
|
+
const username = "Tobz2k19"
|
|
358
|
+
Tiktok.GetUserPosts(username, {
|
|
359
|
+
postLimit: 10, // optional, default is 30
|
|
360
|
+
proxy: "YOUR_PROXY" // optional
|
|
361
|
+
}).then((result) => console.log(result))
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### CLI Usage
|
|
365
|
+
|
|
366
|
+
```bash
|
|
367
|
+
# Get User Posts
|
|
368
|
+
tiktokdl getuserposts <username>
|
|
369
|
+
|
|
370
|
+
# Get User Posts with limit of posts
|
|
371
|
+
tiktokdl getuserposts <username> -l 10
|
|
372
|
+
|
|
373
|
+
# Get User Posts with proxy
|
|
374
|
+
tiktokdl getuserposts <username> -l 10 -proxy "http://your-proxy-url"
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
- [Tiktok User Posts Response](#tiktok-user-posts)
|
|
378
|
+
|
|
379
|
+
## Tiktok Get User Reposts
|
|
380
|
+
|
|
381
|
+
```javascript
|
|
382
|
+
const Tiktok = require("@tobyg74/tiktok-api-dl")
|
|
383
|
+
|
|
384
|
+
const username = "Tobz2k19"
|
|
385
|
+
Tiktok.GetUserReposts(username, {
|
|
386
|
+
postLimit: 10, // optional, default is 30
|
|
387
|
+
proxy: "YOUR_PROXY" // optional
|
|
388
|
+
}).then((result) => console.log(result))
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
### CLI Usage
|
|
392
|
+
|
|
393
|
+
```bash
|
|
394
|
+
# Get User Reposts
|
|
395
|
+
tiktokdl getuserreposts <username>
|
|
396
|
+
|
|
397
|
+
# Get User Reposts with limit of reposts
|
|
398
|
+
tiktokdl getuserreposts <username> -l 10
|
|
399
|
+
|
|
400
|
+
# Get User Reposts with proxy
|
|
401
|
+
tiktokdl getuserreposts <username> -l 10 -proxy "http://your-proxy-url"
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
- [Tiktok User Reposts Response](#tiktok-user-reposts)
|
|
405
|
+
|
|
406
|
+
## Tiktok Get User Favorite Videos
|
|
407
|
+
|
|
408
|
+
- Note: To use this feature, you must be logged in with valid TikTok cookies to access user's liked videos
|
|
409
|
+
|
|
410
|
+
```javascript
|
|
411
|
+
const Tiktok = require("@tobyg74/tiktok-api-dl")
|
|
412
|
+
|
|
413
|
+
const username = "Tobz2k19"
|
|
414
|
+
Tiktok.GetUserLiked(username, {
|
|
415
|
+
postLimit: 10, // optional, default is 30
|
|
416
|
+
cookie: "YOUR_COOKIE", // needed
|
|
417
|
+
proxy: "YOUR_PROXY" // optional
|
|
418
|
+
})
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
### CLI Usage
|
|
422
|
+
|
|
423
|
+
```bash
|
|
424
|
+
# Get User Liked Videos
|
|
425
|
+
tiktokdl getuserliked <username>
|
|
426
|
+
|
|
427
|
+
# Get User Liked Videos with limit of posts
|
|
428
|
+
tiktokdl getuserliked <username> -l 10
|
|
429
|
+
|
|
430
|
+
# Get User Liked Videos with proxy
|
|
431
|
+
tiktokdl getuserliked <username> -l 10 -proxy "http://your-proxy-url"
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
- [Tiktok User Liked Videos Response](#tiktok-user-liked-videos)
|
|
435
|
+
|
|
436
|
+
## Tiktok Collection
|
|
437
|
+
|
|
438
|
+
Get videos from a TikTok collection (supports collection ID or URL)
|
|
439
|
+
|
|
440
|
+
```javascript
|
|
441
|
+
const Tiktok = require("@tobyg74/tiktok-api-dl")
|
|
442
|
+
|
|
443
|
+
// Using collection ID
|
|
444
|
+
const collectionId = "7507916135931218695"
|
|
445
|
+
Tiktok.Collection(collectionId, {
|
|
446
|
+
page: 1, // optional, default is 1
|
|
447
|
+
count: 5, // optional, default is 5
|
|
448
|
+
proxy: "YOUR_PROXY" // optional
|
|
449
|
+
}).then((result) => console.log(result))
|
|
450
|
+
|
|
451
|
+
// Using collection URL
|
|
452
|
+
const collectionUrl = "https://www.tiktok.com/@username/collection/name-id"
|
|
453
|
+
Tiktok.Collection(collectionUrl, {
|
|
454
|
+
page: 1,
|
|
455
|
+
count: 5,
|
|
456
|
+
proxy: "YOUR_PROXY"
|
|
457
|
+
}).then((result) => console.log(result))
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
### CLI Usage
|
|
461
|
+
|
|
462
|
+
```bash
|
|
463
|
+
# Using download command with collection URL
|
|
464
|
+
tiktokdl download "https://www.tiktok.com/@username/collection/name-id"
|
|
465
|
+
|
|
466
|
+
# Using download command with count
|
|
467
|
+
tiktokdl download "https://www.tiktok.com/@username/collection/name-id" -c 5
|
|
468
|
+
|
|
469
|
+
# Using collection ID
|
|
470
|
+
tiktokdl collection 7507916135931218695 -c 5
|
|
471
|
+
|
|
472
|
+
# Using collection URL
|
|
473
|
+
tiktokdl collection "https://www.tiktok.com/@username/collection/name-id"
|
|
474
|
+
|
|
475
|
+
# Using collection URL with count
|
|
476
|
+
tiktokdl collection "https://www.tiktok.com/@username/collection/name-id" -c 5
|
|
477
|
+
|
|
478
|
+
# With page for pagination
|
|
479
|
+
tiktokdl collection 7507916135931218695 -p 1 -c 5
|
|
480
|
+
|
|
481
|
+
# With proxy
|
|
482
|
+
tiktokdl collection 7507916135931218695 -c 5 -proxy "http://your-proxy-url"
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
- [Tiktok Collection Response](#tiktok-collection-1)
|
|
486
|
+
|
|
487
|
+
## Tiktok Playlist
|
|
488
|
+
|
|
489
|
+
Get videos from a TikTok playlist (supports playlist ID or URL)
|
|
490
|
+
|
|
491
|
+
```javascript
|
|
492
|
+
const Tiktok = require("@tobyg74/tiktok-api-dl")
|
|
493
|
+
|
|
494
|
+
const playlistIdOrUrl = "https://www.tiktok.com/@username/playlist/name-id"
|
|
495
|
+
Tiktok.Playlist(playlistIdOrUrl, {
|
|
496
|
+
page: 1,
|
|
497
|
+
count: 5,
|
|
498
|
+
proxy: "YOUR_PROXY"
|
|
499
|
+
}).then((result) => console.log(result))
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### CLI Usage
|
|
503
|
+
|
|
504
|
+
```bash
|
|
505
|
+
# Using download command with playlist URL
|
|
506
|
+
tiktokdl download "https://www.tiktok.com/@username/playlist/name-id"
|
|
507
|
+
|
|
508
|
+
# Using download command with count
|
|
509
|
+
tiktokdl download "https://www.tiktok.com/@username/playlist/name-id" -c 5
|
|
510
|
+
|
|
511
|
+
# Using playlist ID
|
|
512
|
+
tiktokdl download 7507916135931218695 -c 5
|
|
513
|
+
|
|
514
|
+
# Using playlist URL
|
|
515
|
+
tiktokdl playlist "https://www.tiktok.com/@username/playlist/name-id" -c 5
|
|
516
|
+
|
|
517
|
+
# With page for pagination
|
|
518
|
+
tiktokdl playlist 7507916135931218695 -p 1 -c 5
|
|
519
|
+
|
|
520
|
+
# With proxy
|
|
521
|
+
tiktokdl playlist 7507916135931218695 -c 5 -proxy "http://your-proxy-url"
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
- [Tiktok Playlist Response](#tiktok-playlist-1)
|
|
525
|
+
|
|
526
|
+
## Tiktok Trending
|
|
527
|
+
|
|
528
|
+
Get trending content and creators from TikTok's discovery/explore page
|
|
529
|
+
|
|
530
|
+
```javascript
|
|
531
|
+
const Tiktok = require("@tobyg74/tiktok-api-dl")
|
|
532
|
+
|
|
533
|
+
// Get all trending content (full data structure)
|
|
534
|
+
Tiktok.Trending({
|
|
535
|
+
proxy: "YOUR_PROXY" // optional
|
|
536
|
+
}).then((result) => console.log(result))
|
|
537
|
+
|
|
538
|
+
// Get trending creators only (simplified data)
|
|
539
|
+
Tiktok.TrendingCreators({
|
|
540
|
+
proxy: "YOUR_PROXY" // optional
|
|
541
|
+
}).then((result) => console.log(result))
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
### CLI Usage
|
|
545
|
+
|
|
546
|
+
```bash
|
|
547
|
+
# Get trending content
|
|
548
|
+
tiktokdl trending
|
|
549
|
+
|
|
550
|
+
# Get trending creators only
|
|
551
|
+
tiktokdl trending-creators
|
|
552
|
+
|
|
553
|
+
# With proxy
|
|
554
|
+
tiktokdl trending -proxy "http://your-proxy-url"
|
|
555
|
+
tiktokdl trending-creators -proxy "http://your-proxy-url"
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
- [Tiktok Trending Response](#tiktok-trending-1)
|
|
559
|
+
|
|
560
|
+
## Tiktok Get Videos by Music ID
|
|
561
|
+
|
|
562
|
+
Get videos that use a specific music/audio track by providing the music ID or URL
|
|
563
|
+
|
|
564
|
+
```javascript
|
|
565
|
+
const Tiktok = require("@tobyg74/tiktok-api-dl")
|
|
566
|
+
|
|
567
|
+
// Using music ID
|
|
568
|
+
const musicId = "7034143722082192134"
|
|
569
|
+
Tiktok.GetVideosByMusicId(musicId, {
|
|
570
|
+
page: 1, // optional, default is 1
|
|
571
|
+
count: 30, // optional, default is 30
|
|
572
|
+
proxy: "YOUR_PROXY" // optional
|
|
573
|
+
}).then((result) => console.log(result))
|
|
574
|
+
|
|
575
|
+
// Or using music URL
|
|
576
|
+
const musicUrl = "https://www.tiktok.com/music/QKThr-6771810675950880769"
|
|
577
|
+
Tiktok.GetVideosByMusicId(musicUrl, {
|
|
578
|
+
page: 1,
|
|
579
|
+
count: 30
|
|
580
|
+
}).then((result) => console.log(result))
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
### CLI Usage
|
|
584
|
+
|
|
585
|
+
```bash
|
|
586
|
+
# Get videos by music ID
|
|
587
|
+
tiktokdl getmusicvideos 7034143722082192134
|
|
588
|
+
|
|
589
|
+
# Get videos by music URL
|
|
590
|
+
tiktokdl getmusicvideos "https://www.tiktok.com/music/QKThr-6771810675950880769"
|
|
591
|
+
|
|
592
|
+
# Get videos by music ID with page and count
|
|
593
|
+
tiktokdl getmusicvideos 7034143722082192134 -p 1 -c 20
|
|
594
|
+
|
|
595
|
+
# Get videos by music ID with proxy
|
|
596
|
+
tiktokdl getmusicvideos 7034143722082192134 -p 1 -c 20 --proxy "http://your-proxy-url"
|
|
597
|
+
|
|
598
|
+
# Get raw JSON response
|
|
599
|
+
tiktokdl getmusicvideos 7034143722082192134 -r
|
|
600
|
+
```
|
|
601
|
+
|
|
602
|
+
- [Tiktok Music Videos Response](#tiktok-music-videos-response)
|
|
603
|
+
|
|
604
|
+
## Tiktok Get Music Detail
|
|
605
|
+
|
|
606
|
+
Get detailed information about a music/audio track by providing the music ID or URL. This feature uses xttparams encryption for enhanced security.
|
|
607
|
+
|
|
608
|
+
```javascript
|
|
609
|
+
const Tiktok = require("@tobyg74/tiktok-api-dl")
|
|
610
|
+
|
|
611
|
+
// Using music ID
|
|
612
|
+
const musicId = "7562597337407785760"
|
|
613
|
+
Tiktok.GetMusicDetail(musicId, {
|
|
614
|
+
cookie: "YOUR_COOKIE", // required
|
|
615
|
+
proxy: "YOUR_PROXY" // optional
|
|
616
|
+
}).then((result) => console.log(result))
|
|
617
|
+
|
|
618
|
+
// Or using music URL
|
|
619
|
+
const musicUrl = "https://www.tiktok.com/music/QKThr-6771810675950880769"
|
|
620
|
+
Tiktok.GetMusicDetail(musicUrl, {
|
|
621
|
+
cookie: "YOUR_COOKIE"
|
|
622
|
+
}).then((result) => console.log(result))
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
### CLI Usage
|
|
626
|
+
|
|
627
|
+
**Note:** This command requires a cookie. Set your cookie first using `tiktokdl cookie set <value>`
|
|
628
|
+
|
|
629
|
+
```bash
|
|
630
|
+
# Set cookie first (required)
|
|
631
|
+
tiktokdl cookie set "YOUR_COOKIE_VALUE"
|
|
632
|
+
|
|
633
|
+
# Get music detail by ID
|
|
634
|
+
tiktokdl getmusicdetail 7562597337407785760
|
|
635
|
+
|
|
636
|
+
# Get music detail by URL
|
|
637
|
+
tiktokdl getmusicdetail "https://www.tiktok.com/music/QKThr-6771810675950880769"
|
|
638
|
+
|
|
639
|
+
# Get music detail with proxy
|
|
640
|
+
tiktokdl getmusicdetail 7562597337407785760 --proxy "http://your-proxy-url"
|
|
641
|
+
|
|
642
|
+
# Get raw JSON response
|
|
643
|
+
tiktokdl getmusicdetail 7562597337407785760 -r
|
|
644
|
+
```
|
|
645
|
+
|
|
646
|
+
Download music/audio files from TikTok. Requires cookie authentication.
|
|
647
|
+
|
|
648
|
+
### CLI Usage for Downloading Music
|
|
649
|
+
|
|
650
|
+
```bash
|
|
651
|
+
# Set cookie first (required for downloading)
|
|
652
|
+
tiktokdl cookie set "YOUR_TIKTOK_COOKIE"
|
|
653
|
+
|
|
654
|
+
# Download by music ID
|
|
655
|
+
tiktokdl downloadmusic 7562597337407785760
|
|
656
|
+
|
|
657
|
+
# Download by music URL
|
|
658
|
+
tiktokdl downloadmusic "https://www.tiktok.com/music/QKThr-6771810675950880769"
|
|
659
|
+
|
|
660
|
+
# Custom output directory
|
|
661
|
+
tiktokdl downloadmusic 7562597337407785760 -o "./my-music"
|
|
662
|
+
|
|
663
|
+
# With proxy
|
|
664
|
+
tiktokdl downloadmusic 7562597337407785760 --proxy "http://your-proxy-url"
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
**How to get TikTok cookie:**
|
|
668
|
+
|
|
669
|
+
1. Open TikTok in your browser and login
|
|
670
|
+
2. Open DevTools (F12)
|
|
671
|
+
3. Go to Application/Storage > Cookies
|
|
672
|
+
4. Copy the entire cookie value
|
|
673
|
+
5. Set it using: `tiktokdl cookie set "YOUR_COOKIE"`
|
|
674
|
+
|
|
675
|
+
- [Tiktok Music Detail Response](#tiktok-music-detail-response)
|
|
676
|
+
|
|
677
|
+
# API Response Types
|
|
678
|
+
|
|
679
|
+
## Tiktok Downloader
|
|
680
|
+
|
|
681
|
+
### Version 1 Response
|
|
682
|
+
|
|
683
|
+
<details>
|
|
684
|
+
<summary>Click to expand</summary>
|
|
685
|
+
|
|
686
|
+
```typescript
|
|
687
|
+
interface TiktokAPIResponse {
|
|
688
|
+
status: "success" | "error"
|
|
689
|
+
message?: string
|
|
690
|
+
result?: {
|
|
691
|
+
type: "video" | "image"
|
|
692
|
+
id: string
|
|
693
|
+
createTime: number
|
|
694
|
+
desc: string
|
|
695
|
+
author: {
|
|
696
|
+
uid: number
|
|
697
|
+
username: string
|
|
698
|
+
nickname: string
|
|
699
|
+
signature: string
|
|
700
|
+
region: string
|
|
701
|
+
avatarThumb: string[]
|
|
702
|
+
avatarMedium: string[]
|
|
703
|
+
url: string
|
|
704
|
+
}
|
|
705
|
+
statistics: {
|
|
706
|
+
playCount: number
|
|
707
|
+
downloadCount: number
|
|
708
|
+
shareCount: number
|
|
709
|
+
commentCount: number
|
|
710
|
+
likeCount: number
|
|
711
|
+
collectCount: number
|
|
712
|
+
forwardCount: number
|
|
713
|
+
whatsappShareCount: number
|
|
714
|
+
loseCount: number
|
|
715
|
+
loseCommentCount: number
|
|
716
|
+
repostCount: number
|
|
717
|
+
}
|
|
718
|
+
hashtag: string[]
|
|
719
|
+
isTurnOffComment: boolean
|
|
720
|
+
isADS: boolean
|
|
721
|
+
cover?: string[]
|
|
722
|
+
dynamicCover?: string[]
|
|
723
|
+
originCover?: string[]
|
|
724
|
+
video?: {
|
|
725
|
+
ratio: string
|
|
726
|
+
duration: number
|
|
727
|
+
playAddr: string[]
|
|
728
|
+
downloadAddr: string[]
|
|
729
|
+
cover: string[]
|
|
730
|
+
dynamicCover: string[]
|
|
731
|
+
originCover: string[]
|
|
732
|
+
}
|
|
733
|
+
images?: string[]
|
|
734
|
+
music: {
|
|
735
|
+
id: number
|
|
736
|
+
title: string
|
|
737
|
+
author: string
|
|
738
|
+
album: string
|
|
739
|
+
playUrl: string[]
|
|
740
|
+
coverLarge: string[]
|
|
741
|
+
coverMedium: string[]
|
|
742
|
+
coverThumb: string[]
|
|
743
|
+
duration: number
|
|
744
|
+
isCommerceMusic: boolean
|
|
745
|
+
isOriginalSound: boolean
|
|
746
|
+
isAuthorArtist: boolean
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
resultNotParsed?: any
|
|
750
|
+
}
|
|
751
|
+
```
|
|
752
|
+
|
|
753
|
+
</details>
|
|
754
|
+
|
|
755
|
+
### Version 2 Response
|
|
756
|
+
|
|
757
|
+
<details>
|
|
758
|
+
<summary>Click to expand</summary>
|
|
759
|
+
|
|
760
|
+
```typescript
|
|
761
|
+
interface SSSTikResponse {
|
|
762
|
+
status: "success" | "error"
|
|
763
|
+
message?: string
|
|
764
|
+
result?: {
|
|
765
|
+
type: "image" | "video" | "music"
|
|
766
|
+
desc?: string
|
|
767
|
+
author?: {
|
|
768
|
+
avatar: string
|
|
769
|
+
nickname: string
|
|
770
|
+
}
|
|
771
|
+
statistics?: {
|
|
772
|
+
likeCount: string
|
|
773
|
+
commentCount: string
|
|
774
|
+
shareCount: string
|
|
775
|
+
}
|
|
776
|
+
images?: string[]
|
|
777
|
+
video?: {
|
|
778
|
+
playAddr: string
|
|
779
|
+
}
|
|
780
|
+
music?: {
|
|
781
|
+
playUrl: string
|
|
782
|
+
}
|
|
783
|
+
direct?: string
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
```
|
|
787
|
+
|
|
788
|
+
</details>
|
|
789
|
+
|
|
790
|
+
### Version 3 Response
|
|
791
|
+
|
|
792
|
+
<details>
|
|
793
|
+
<summary>Click to expand</summary>
|
|
794
|
+
|
|
795
|
+
```typescript
|
|
796
|
+
interface MusicalDownResponse {
|
|
797
|
+
status: "success" | "error"
|
|
798
|
+
message?: string
|
|
799
|
+
result?: {
|
|
800
|
+
type: "video" | "image"
|
|
801
|
+
desc?: string
|
|
802
|
+
author?: {
|
|
803
|
+
avatar?: string
|
|
804
|
+
nickname?: string
|
|
805
|
+
}
|
|
806
|
+
music?: string
|
|
807
|
+
images?: string[]
|
|
808
|
+
videoHD?: string
|
|
809
|
+
videoWatermark?: string
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
```
|
|
813
|
+
|
|
814
|
+
</details>
|
|
815
|
+
|
|
816
|
+
## Tiktok Search
|
|
817
|
+
|
|
818
|
+
### User Search Response
|
|
819
|
+
|
|
820
|
+
<details>
|
|
821
|
+
<summary>Click to expand</summary>
|
|
822
|
+
|
|
823
|
+
```typescript
|
|
824
|
+
interface TiktokUserSearchResponse {
|
|
825
|
+
status: "success" | "error"
|
|
826
|
+
message?: string
|
|
827
|
+
result?: Array<{
|
|
828
|
+
uid: string
|
|
829
|
+
username: string
|
|
830
|
+
nickname: string
|
|
831
|
+
signature: string
|
|
832
|
+
followerCount: number
|
|
833
|
+
avatarThumb: string
|
|
834
|
+
isVerified: boolean
|
|
835
|
+
secUid: string
|
|
836
|
+
url: string
|
|
837
|
+
}>
|
|
838
|
+
page?: number
|
|
839
|
+
totalResults?: number
|
|
840
|
+
}
|
|
841
|
+
```
|
|
842
|
+
|
|
843
|
+
</details>
|
|
844
|
+
|
|
845
|
+
### Live Search Response
|
|
846
|
+
|
|
847
|
+
<details>
|
|
848
|
+
<<<<<<< HEAD
|
|
849
|
+
<summary>Click to expand</summary>
|
|
850
|
+
=======
|
|
851
|
+
>>>>>>> 0faec9d6c3879db096e5b668c35e0e323900e47b
|
|
852
|
+
|
|
853
|
+
```typescript
|
|
854
|
+
interface TiktokLiveSearchResponse {
|
|
855
|
+
status: "success" | "error"
|
|
856
|
+
message?: string
|
|
857
|
+
result?: Array<{
|
|
858
|
+
id: string
|
|
859
|
+
title: string
|
|
860
|
+
cover: string[]
|
|
861
|
+
squareCover: string[]
|
|
862
|
+
rectangleCover: string[]
|
|
863
|
+
liveTypeThirdParty: boolean
|
|
864
|
+
hashtag: string
|
|
865
|
+
startTime: number
|
|
866
|
+
stats: {
|
|
867
|
+
totalUser: number
|
|
868
|
+
viewerCount: number
|
|
869
|
+
likeCount: number
|
|
870
|
+
}
|
|
871
|
+
owner: {
|
|
872
|
+
id: string
|
|
873
|
+
nickname: string
|
|
874
|
+
username: string
|
|
875
|
+
signature: string
|
|
876
|
+
avatarThumb: string[]
|
|
877
|
+
avatarMedium: string[]
|
|
878
|
+
avatarLarge: string[]
|
|
879
|
+
modifyTime: number
|
|
880
|
+
stats: {
|
|
881
|
+
followingCount: number
|
|
882
|
+
followerCount: number
|
|
883
|
+
}
|
|
884
|
+
isVerified: boolean
|
|
885
|
+
}
|
|
886
|
+
}>
|
|
887
|
+
page?: number
|
|
888
|
+
totalResults?: number
|
|
889
|
+
}
|
|
890
|
+
```
|
|
891
|
+
|
|
892
|
+
</details>
|
|
893
|
+
|
|
894
|
+
### Video Search Response
|
|
895
|
+
|
|
896
|
+
<details>
|
|
897
|
+
<summary>Click to expand</summary>
|
|
898
|
+
|
|
899
|
+
```typescript
|
|
900
|
+
interface TiktokVideoSearchResponse {
|
|
901
|
+
status: "success" | "error"
|
|
902
|
+
message?: string
|
|
903
|
+
result?: Array<{
|
|
904
|
+
id: string
|
|
905
|
+
desc: string
|
|
906
|
+
createTime: number
|
|
907
|
+
author: {
|
|
908
|
+
id: string
|
|
909
|
+
uniqueId: string
|
|
910
|
+
nickname: string
|
|
911
|
+
avatarThumb: string
|
|
912
|
+
avatarMedium: string
|
|
913
|
+
avatarLarger: string
|
|
914
|
+
signature: string
|
|
915
|
+
verified: boolean
|
|
916
|
+
secUid: string
|
|
917
|
+
openFavorite: boolean
|
|
918
|
+
privateAccount: boolean
|
|
919
|
+
isADVirtual: boolean
|
|
920
|
+
tiktokSeller: boolean
|
|
921
|
+
isEmbedBanned: boolean
|
|
922
|
+
}
|
|
923
|
+
stats: {
|
|
924
|
+
collectCount: number
|
|
925
|
+
commentCount: number
|
|
926
|
+
likeCount: number
|
|
927
|
+
playCount: number
|
|
928
|
+
shareCount: number
|
|
929
|
+
}
|
|
930
|
+
video: {
|
|
931
|
+
id: string
|
|
932
|
+
ratio: string
|
|
933
|
+
cover: string
|
|
934
|
+
originCover: string
|
|
935
|
+
dynamicCover: string
|
|
936
|
+
playAddr: string
|
|
937
|
+
downloadAddr: string
|
|
938
|
+
format: string
|
|
939
|
+
}
|
|
940
|
+
music: {
|
|
941
|
+
id: string
|
|
942
|
+
title: string
|
|
943
|
+
playUrl: string
|
|
944
|
+
coverThumb: string
|
|
945
|
+
coverMedium: string
|
|
946
|
+
coverLarge: string
|
|
947
|
+
authorName: string
|
|
948
|
+
original: boolean
|
|
949
|
+
album: string
|
|
950
|
+
duration: number
|
|
951
|
+
isCopyrighted: boolean
|
|
952
|
+
}
|
|
953
|
+
}>
|
|
954
|
+
page?: number
|
|
955
|
+
totalResults?: number
|
|
956
|
+
}
|
|
957
|
+
```
|
|
958
|
+
|
|
959
|
+
</details>
|
|
960
|
+
|
|
961
|
+
## Tiktok Stalk User Profile
|
|
962
|
+
|
|
963
|
+
### Profile Response
|
|
964
|
+
|
|
965
|
+
<details>
|
|
966
|
+
<summary>Click to expand</summary>
|
|
967
|
+
|
|
968
|
+
```typescript
|
|
969
|
+
interface TiktokStalkUserResponse {
|
|
970
|
+
status: "success" | "error"
|
|
971
|
+
message?: string
|
|
972
|
+
result?: {
|
|
973
|
+
user: {
|
|
974
|
+
username: string
|
|
975
|
+
nickname: string
|
|
976
|
+
avatar: string
|
|
977
|
+
signature: string
|
|
978
|
+
verified: boolean
|
|
979
|
+
region: string
|
|
980
|
+
}
|
|
981
|
+
stats: {
|
|
982
|
+
followerCount: number
|
|
983
|
+
followingCount: number
|
|
984
|
+
heartCount: number
|
|
985
|
+
videoCount: number
|
|
986
|
+
likeCount: number
|
|
987
|
+
}
|
|
988
|
+
}
|
|
989
|
+
}
|
|
990
|
+
```
|
|
991
|
+
|
|
992
|
+
</details>
|
|
993
|
+
|
|
994
|
+
## Tiktok Video Comments
|
|
995
|
+
|
|
996
|
+
### Comments Response
|
|
997
|
+
|
|
998
|
+
<details>
|
|
999
|
+
<summary>Click to expand</summary>
|
|
1000
|
+
|
|
1001
|
+
```typescript
|
|
1002
|
+
interface TiktokVideoCommentsResponse {
|
|
1003
|
+
status: "success" | "error"
|
|
1004
|
+
message?: string
|
|
1005
|
+
result?: Array<{
|
|
1006
|
+
cid: string
|
|
1007
|
+
text: string
|
|
1008
|
+
commentLanguage: string
|
|
1009
|
+
createTime: number
|
|
1010
|
+
likeCount: number
|
|
1011
|
+
isAuthorLiked: boolean
|
|
1012
|
+
isCommentTranslatable: boolean
|
|
1013
|
+
replyCommentTotal: number
|
|
1014
|
+
replyComment: []
|
|
1015
|
+
user: User
|
|
1016
|
+
url: string
|
|
1017
|
+
}>
|
|
1018
|
+
totalComments?: number
|
|
1019
|
+
}
|
|
1020
|
+
```
|
|
1021
|
+
|
|
1022
|
+
</details>
|
|
1023
|
+
|
|
1024
|
+
## Tiktok User Posts
|
|
1025
|
+
|
|
1026
|
+
### User Posts Response
|
|
1027
|
+
|
|
1028
|
+
<details>
|
|
1029
|
+
<summary>Click to expand</summary>
|
|
1030
|
+
|
|
1031
|
+
```typescript
|
|
1032
|
+
interface TiktokUserPostsResponse {
|
|
1033
|
+
status: "success" | "error"
|
|
1034
|
+
message?: string
|
|
1035
|
+
result?: Array<{
|
|
1036
|
+
id: string
|
|
1037
|
+
desc: string
|
|
1038
|
+
createTime: number
|
|
1039
|
+
digged: number
|
|
1040
|
+
duetEnabled: number
|
|
1041
|
+
forFriend: number
|
|
1042
|
+
officalItem: number
|
|
1043
|
+
originalItem: number
|
|
1044
|
+
privateItem: number
|
|
1045
|
+
shareEnabled: number
|
|
1046
|
+
stitchEnabled: number
|
|
1047
|
+
stats: {
|
|
1048
|
+
collectCount: number
|
|
1049
|
+
commentCount: number
|
|
1050
|
+
likeCount: number
|
|
1051
|
+
playCount: number
|
|
1052
|
+
shareCount: number
|
|
1053
|
+
}
|
|
1054
|
+
author: {
|
|
1055
|
+
id: string
|
|
1056
|
+
username: string
|
|
1057
|
+
nickname: string
|
|
1058
|
+
avatarLarger: string
|
|
1059
|
+
avatarThumb: string
|
|
1060
|
+
avatarMedium: string
|
|
1061
|
+
signature: string
|
|
1062
|
+
verified: boolean
|
|
1063
|
+
openFavorite: boolean
|
|
1064
|
+
privateAccount: boolean
|
|
1065
|
+
isADVirtual: boolean
|
|
1066
|
+
isEmbedBanned: boolean
|
|
1067
|
+
}
|
|
1068
|
+
video?: {
|
|
1069
|
+
id: string
|
|
1070
|
+
duration: number
|
|
1071
|
+
ratio: string
|
|
1072
|
+
cover: string
|
|
1073
|
+
originCover: string
|
|
1074
|
+
dynamicCover: string
|
|
1075
|
+
playAddr: string
|
|
1076
|
+
downloadAddr: string
|
|
1077
|
+
format: string
|
|
1078
|
+
bitrate: number
|
|
1079
|
+
}
|
|
1080
|
+
music: {
|
|
1081
|
+
authorName: string
|
|
1082
|
+
coverLarge: string
|
|
1083
|
+
coverMedium: string
|
|
1084
|
+
coverThumb: string
|
|
1085
|
+
duration: number
|
|
1086
|
+
id: string
|
|
1087
|
+
title: string
|
|
1088
|
+
playUrl: string
|
|
1089
|
+
original: boolean
|
|
1090
|
+
}
|
|
1091
|
+
images?: string[]
|
|
1092
|
+
}>
|
|
1093
|
+
totalPosts?: number
|
|
1094
|
+
}
|
|
1095
|
+
```
|
|
1096
|
+
|
|
1097
|
+
</details>
|
|
1098
|
+
|
|
1099
|
+
## Tiktok User Reposts
|
|
1100
|
+
|
|
1101
|
+
### User Reposts Response
|
|
1102
|
+
|
|
1103
|
+
<details>
|
|
1104
|
+
<summary>Click to expand</summary>
|
|
1105
|
+
|
|
1106
|
+
```typescript
|
|
1107
|
+
interface TiktokUserRepostsResponse {
|
|
1108
|
+
status: "success" | "error"
|
|
1109
|
+
message?: string
|
|
1110
|
+
result?: Array<{
|
|
1111
|
+
id: string
|
|
1112
|
+
desc: string
|
|
1113
|
+
createTime: number
|
|
1114
|
+
digged: boolean
|
|
1115
|
+
duetEnabled?: boolean
|
|
1116
|
+
forFriend: boolean
|
|
1117
|
+
officalItem: boolean
|
|
1118
|
+
originalItem: boolean
|
|
1119
|
+
privateItem: boolean
|
|
1120
|
+
secret: boolean
|
|
1121
|
+
shareEnabled: boolean
|
|
1122
|
+
stitchEnabled?: boolean
|
|
1123
|
+
stats: {
|
|
1124
|
+
shareCount: number
|
|
1125
|
+
collectCount?: number
|
|
1126
|
+
commentCount?: number
|
|
1127
|
+
likeCount?: number
|
|
1128
|
+
playCount?: number
|
|
1129
|
+
repostCount?: number
|
|
1130
|
+
}
|
|
1131
|
+
author: {
|
|
1132
|
+
id: string
|
|
1133
|
+
username: string
|
|
1134
|
+
nickname: string
|
|
1135
|
+
avatarLarger: string
|
|
1136
|
+
avatarThumb: string
|
|
1137
|
+
avatarMedium: string
|
|
1138
|
+
signature: string
|
|
1139
|
+
verified: boolean
|
|
1140
|
+
openFavorite?: boolean
|
|
1141
|
+
privateAccount?: boolean
|
|
1142
|
+
isADVirtual?: boolean
|
|
1143
|
+
isEmbedBanned?: boolean
|
|
1144
|
+
}
|
|
1145
|
+
video?: {
|
|
1146
|
+
id: string
|
|
1147
|
+
duration: number
|
|
1148
|
+
ratio: string
|
|
1149
|
+
cover: string
|
|
1150
|
+
originCover: string
|
|
1151
|
+
dynamicCover: string
|
|
1152
|
+
playAddr: string
|
|
1153
|
+
downloadAddr: string
|
|
1154
|
+
format: string
|
|
1155
|
+
bitrate: number
|
|
1156
|
+
}
|
|
1157
|
+
music: {
|
|
1158
|
+
authorName?: string
|
|
1159
|
+
coverLarge?: string
|
|
1160
|
+
coverMedium?: string
|
|
1161
|
+
coverThumb?: string
|
|
1162
|
+
duration?: number
|
|
1163
|
+
id?: string
|
|
1164
|
+
title?: string
|
|
1165
|
+
playUrl?: string
|
|
1166
|
+
original?: boolean
|
|
1167
|
+
tt2dsp?: any
|
|
1168
|
+
}
|
|
1169
|
+
imagePost?: {
|
|
1170
|
+
title: string
|
|
1171
|
+
images?: Array<{
|
|
1172
|
+
imageURL: {
|
|
1173
|
+
urlList: string[]
|
|
1174
|
+
}
|
|
1175
|
+
}>
|
|
1176
|
+
}
|
|
1177
|
+
AIGCDescription?: string
|
|
1178
|
+
CategoryType?: number
|
|
1179
|
+
collected?: boolean
|
|
1180
|
+
contents?: any[]
|
|
1181
|
+
challenges?: any[]
|
|
1182
|
+
textExtra?: any[]
|
|
1183
|
+
textLanguage?: string
|
|
1184
|
+
textTranslatable?: boolean
|
|
1185
|
+
titleLanguage?: string
|
|
1186
|
+
titleTranslatable?: boolean
|
|
1187
|
+
isAd?: boolean
|
|
1188
|
+
isReviewing?: boolean
|
|
1189
|
+
itemCommentStatus?: number
|
|
1190
|
+
item_control?: {
|
|
1191
|
+
can_repost?: boolean
|
|
1192
|
+
can_share?: boolean
|
|
1193
|
+
}
|
|
1194
|
+
duetDisplay?: number
|
|
1195
|
+
stitchDisplay?: number
|
|
1196
|
+
diversificationId?: number
|
|
1197
|
+
backendSourceEventTracking?: string
|
|
1198
|
+
stickersOnItem?: any[]
|
|
1199
|
+
videoSuggestWordsList?: any
|
|
1200
|
+
}>
|
|
1201
|
+
totalReposts?: number
|
|
1202
|
+
}
|
|
1203
|
+
```
|
|
1204
|
+
|
|
1205
|
+
</details>
|
|
1206
|
+
|
|
1207
|
+
## Tiktok User Favorite Videos
|
|
1208
|
+
|
|
1209
|
+
### User Favorite Videos Response
|
|
1210
|
+
|
|
1211
|
+
<details>
|
|
1212
|
+
<summary>Click to expand</summary>
|
|
1213
|
+
|
|
1214
|
+
```typescript
|
|
1215
|
+
interface TiktokUserFavoriteVideosResponse {
|
|
1216
|
+
status: "success" | "error"
|
|
1217
|
+
message?: string
|
|
1218
|
+
result?: Array<{
|
|
1219
|
+
id: string
|
|
1220
|
+
desc: string
|
|
1221
|
+
createTime: string
|
|
1222
|
+
duetEnabled: boolean
|
|
1223
|
+
digged: boolean
|
|
1224
|
+
forFriend: boolean
|
|
1225
|
+
isAd: boolean
|
|
1226
|
+
originalItem: boolean
|
|
1227
|
+
privateItem: boolean
|
|
1228
|
+
officialItem: boolean
|
|
1229
|
+
secret: boolean
|
|
1230
|
+
shareEnabled: boolean
|
|
1231
|
+
stitchEanbled: boolean
|
|
1232
|
+
textTranslatable: boolean
|
|
1233
|
+
author: {
|
|
1234
|
+
id: string
|
|
1235
|
+
username: string
|
|
1236
|
+
nickname: string
|
|
1237
|
+
avatarLarger: string
|
|
1238
|
+
avatarThumb: string
|
|
1239
|
+
avatarMedium: string
|
|
1240
|
+
signature: string
|
|
1241
|
+
verified: string
|
|
1242
|
+
openFavorite: string
|
|
1243
|
+
privateAccount: string
|
|
1244
|
+
isADVirtual: string
|
|
1245
|
+
isEmbedBanned: string
|
|
1246
|
+
}
|
|
1247
|
+
stats: {
|
|
1248
|
+
collectCount: string
|
|
1249
|
+
commentCount: string
|
|
1250
|
+
likeCount: string
|
|
1251
|
+
playCount: string
|
|
1252
|
+
repostCount: string
|
|
1253
|
+
shareCount: string
|
|
1254
|
+
}
|
|
1255
|
+
video?: {
|
|
1256
|
+
id: string
|
|
1257
|
+
videoID: string
|
|
1258
|
+
duration: number
|
|
1259
|
+
ratio: string
|
|
1260
|
+
cover: string
|
|
1261
|
+
originCover: string
|
|
1262
|
+
dynamicCover: string
|
|
1263
|
+
playAddr: string
|
|
1264
|
+
downloadAddr: string
|
|
1265
|
+
format: string
|
|
1266
|
+
bitrate: number
|
|
1267
|
+
bitrateInfo: any[]
|
|
1268
|
+
}
|
|
1269
|
+
imagePost?: Array<{
|
|
1270
|
+
title: string
|
|
1271
|
+
images: string[]
|
|
1272
|
+
}>
|
|
1273
|
+
music: {
|
|
1274
|
+
id: string
|
|
1275
|
+
title: string
|
|
1276
|
+
playUrl: string
|
|
1277
|
+
coverThumb: string
|
|
1278
|
+
coverMedium: string
|
|
1279
|
+
coverLarge: string
|
|
1280
|
+
authorName: string
|
|
1281
|
+
original: boolean
|
|
1282
|
+
album: string
|
|
1283
|
+
duration: number
|
|
1284
|
+
isCopyrighted: boolean
|
|
1285
|
+
private: boolean
|
|
1286
|
+
}
|
|
1287
|
+
}>
|
|
1288
|
+
totalPosts?: number
|
|
1289
|
+
}
|
|
1290
|
+
```
|
|
1291
|
+
|
|
1292
|
+
</details>
|
|
1293
|
+
|
|
1294
|
+
## Tiktok Collection
|
|
1295
|
+
|
|
1296
|
+
### Collection Response
|
|
1297
|
+
|
|
1298
|
+
<details>
|
|
1299
|
+
<summary>Click to expand</summary>
|
|
1300
|
+
|
|
1301
|
+
```typescript
|
|
1302
|
+
interface TiktokCollectionResponse {
|
|
1303
|
+
status: "success" | "error"
|
|
1304
|
+
message?: string
|
|
1305
|
+
result?: {
|
|
1306
|
+
itemList: Array<{
|
|
1307
|
+
id: string
|
|
1308
|
+
desc: string
|
|
1309
|
+
createTime: number
|
|
1310
|
+
author?: {
|
|
1311
|
+
id: string
|
|
1312
|
+
uniqueId: string
|
|
1313
|
+
nickname: string
|
|
1314
|
+
avatarThumb: string
|
|
1315
|
+
avatarMedium: string
|
|
1316
|
+
avatarLarger: string
|
|
1317
|
+
signature: string
|
|
1318
|
+
verified: boolean
|
|
1319
|
+
}
|
|
1320
|
+
statistics?: {
|
|
1321
|
+
playCount: number
|
|
1322
|
+
diggCount: number
|
|
1323
|
+
shareCount: number
|
|
1324
|
+
commentCount: number
|
|
1325
|
+
collectCount: number
|
|
1326
|
+
}
|
|
1327
|
+
video?: {
|
|
1328
|
+
id: string
|
|
1329
|
+
height: number
|
|
1330
|
+
width: number
|
|
1331
|
+
duration: number
|
|
1332
|
+
ratio: string
|
|
1333
|
+
cover: string
|
|
1334
|
+
originCover: string
|
|
1335
|
+
dynamicCover: string
|
|
1336
|
+
playAddr: string
|
|
1337
|
+
downloadAddr: string
|
|
1338
|
+
format: string
|
|
1339
|
+
bitrate: number
|
|
1340
|
+
}
|
|
1341
|
+
textExtra?: Array<{
|
|
1342
|
+
hashtagName: string
|
|
1343
|
+
hashtagId: string
|
|
1344
|
+
type: number
|
|
1345
|
+
}>
|
|
1346
|
+
}>
|
|
1347
|
+
hasMore: boolean
|
|
1348
|
+
cursor: string
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
```
|
|
1352
|
+
|
|
1353
|
+
</details>
|
|
1354
|
+
|
|
1355
|
+
## Tiktok Playlist
|
|
1356
|
+
|
|
1357
|
+
### Playlist Response
|
|
1358
|
+
|
|
1359
|
+
<details>
|
|
1360
|
+
<summary>Click to expand</summary>
|
|
1361
|
+
|
|
1362
|
+
```typescript
|
|
1363
|
+
status: "success" | "error"
|
|
1364
|
+
message?: string
|
|
1365
|
+
result?: {
|
|
1366
|
+
hasMore: boolean
|
|
1367
|
+
itemList: Array<{
|
|
1368
|
+
id: string
|
|
1369
|
+
desc: string
|
|
1370
|
+
createTime: number
|
|
1371
|
+
author: PlaylistAuthor
|
|
1372
|
+
stats: Statistics
|
|
1373
|
+
video: VideoTiktokAPI
|
|
1374
|
+
music: MusicTiktokAPI
|
|
1375
|
+
challenges: Array<{
|
|
1376
|
+
id: string
|
|
1377
|
+
title: string
|
|
1378
|
+
desc: string
|
|
1379
|
+
coverLarger: string
|
|
1380
|
+
coverMedium: string
|
|
1381
|
+
coverThumb: string
|
|
1382
|
+
profileLarger: string
|
|
1383
|
+
profileMedium: string
|
|
1384
|
+
profileThumb: string
|
|
1385
|
+
}>
|
|
1386
|
+
collected: boolean
|
|
1387
|
+
digged: boolean
|
|
1388
|
+
duetDisplay: number
|
|
1389
|
+
forFriend: boolean
|
|
1390
|
+
officalItem: boolean
|
|
1391
|
+
originalItem: boolean
|
|
1392
|
+
privateItem: boolean
|
|
1393
|
+
shareEnabled: boolean
|
|
1394
|
+
stitchDisplay: number
|
|
1395
|
+
textExtra: Array<{
|
|
1396
|
+
awemeId: string
|
|
1397
|
+
end: number
|
|
1398
|
+
hashtagName: string
|
|
1399
|
+
isCommerce: boolean
|
|
1400
|
+
start: number
|
|
1401
|
+
subType: number
|
|
1402
|
+
type: number
|
|
1403
|
+
}>
|
|
1404
|
+
}>
|
|
1405
|
+
extra?: {
|
|
1406
|
+
fatal_item_ids: string[]
|
|
1407
|
+
logid: string
|
|
1408
|
+
now: number
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
```
|
|
1412
|
+
|
|
1413
|
+
</details>
|
|
1414
|
+
|
|
1415
|
+
## Tiktok Trending
|
|
1416
|
+
|
|
1417
|
+
### Trending Response
|
|
1418
|
+
|
|
1419
|
+
<details>
|
|
1420
|
+
<<<<<<< HEAD
|
|
1421
|
+
<summary>Click to expand</summary>
|
|
1422
|
+
=======
|
|
1423
|
+
>>>>>>> 0faec9d6c3879db096e5b668c35e0e323900e47b
|
|
1424
|
+
|
|
1425
|
+
```typescript
|
|
1426
|
+
interface TiktokTrendingResponse {
|
|
1427
|
+
status: "success" | "error"
|
|
1428
|
+
message?: string
|
|
1429
|
+
result?: Array<{
|
|
1430
|
+
exploreList: Array<{
|
|
1431
|
+
cardItem: {
|
|
1432
|
+
id: string
|
|
1433
|
+
type: number
|
|
1434
|
+
cover: string
|
|
1435
|
+
title: string
|
|
1436
|
+
subTitle: string
|
|
1437
|
+
description: string
|
|
1438
|
+
link: string
|
|
1439
|
+
round: boolean
|
|
1440
|
+
playToken: string
|
|
1441
|
+
keyToken: string
|
|
1442
|
+
extraInfo: {
|
|
1443
|
+
verified: boolean
|
|
1444
|
+
fans: number
|
|
1445
|
+
likes: number
|
|
1446
|
+
userId: string
|
|
1447
|
+
secUid: string
|
|
1448
|
+
relation: number
|
|
1449
|
+
video: number
|
|
1450
|
+
following: number
|
|
1451
|
+
heart: number
|
|
1452
|
+
digg: number
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
}>
|
|
1456
|
+
pageState: {
|
|
1457
|
+
regionAppId: number
|
|
1458
|
+
os: string
|
|
1459
|
+
region: string
|
|
1460
|
+
baseURL: string
|
|
1461
|
+
appType: string
|
|
1462
|
+
fullUrl: string
|
|
1463
|
+
}
|
|
1464
|
+
}>
|
|
1465
|
+
}
|
|
1466
|
+
```
|
|
1467
|
+
|
|
1468
|
+
</details>
|
|
1469
|
+
|
|
1470
|
+
### Trending Creators Response
|
|
1471
|
+
|
|
1472
|
+
<details>
|
|
1473
|
+
<summary>Click to expand</summary>
|
|
1474
|
+
|
|
1475
|
+
```typescript
|
|
1476
|
+
interface TrendingCreatorsResponse {
|
|
1477
|
+
status: "success" | "error"
|
|
1478
|
+
message?: string
|
|
1479
|
+
result?: Array<{
|
|
1480
|
+
id: string
|
|
1481
|
+
username: string
|
|
1482
|
+
nickname: string
|
|
1483
|
+
avatarThumb: string
|
|
1484
|
+
description: string
|
|
1485
|
+
verified: boolean
|
|
1486
|
+
followerCount: number
|
|
1487
|
+
likeCount: number
|
|
1488
|
+
videoCount: number
|
|
1489
|
+
followingCount: number
|
|
1490
|
+
heartCount: number
|
|
1491
|
+
diggCount: number
|
|
1492
|
+
secUid: string
|
|
1493
|
+
link: string
|
|
1494
|
+
}>
|
|
1495
|
+
}
|
|
1496
|
+
```
|
|
1497
|
+
|
|
1498
|
+
</details>
|
|
1499
|
+
|
|
1500
|
+
## Tiktok Get Videos by Music ID
|
|
1501
|
+
|
|
1502
|
+
### Get Music Videos Response
|
|
1503
|
+
|
|
1504
|
+
<details>
|
|
1505
|
+
<summary>Click to expand</summary>
|
|
1506
|
+
|
|
1507
|
+
```typescript
|
|
1508
|
+
interface TiktokMusicVideosResponse {
|
|
1509
|
+
status: "success" | "error"
|
|
1510
|
+
message?: string
|
|
1511
|
+
result?: {
|
|
1512
|
+
music?: {
|
|
1513
|
+
id: string
|
|
1514
|
+
title: string
|
|
1515
|
+
authorName: string
|
|
1516
|
+
author?: string
|
|
1517
|
+
duration?: number
|
|
1518
|
+
original?: boolean
|
|
1519
|
+
playUrl?: string[]
|
|
1520
|
+
coverThumb?: string
|
|
1521
|
+
coverLarge?: string
|
|
1522
|
+
coverMedium?: string
|
|
1523
|
+
}
|
|
1524
|
+
videos?: Array<{
|
|
1525
|
+
id: string
|
|
1526
|
+
desc?: string
|
|
1527
|
+
createTime: number
|
|
1528
|
+
digged?: boolean
|
|
1529
|
+
duetEnabled?: boolean
|
|
1530
|
+
forFriend?: boolean
|
|
1531
|
+
officalItem?: boolean
|
|
1532
|
+
originalItem?: boolean
|
|
1533
|
+
privateItem?: boolean
|
|
1534
|
+
shareEnabled?: boolean
|
|
1535
|
+
stitchEnabled?: boolean
|
|
1536
|
+
stats: {
|
|
1537
|
+
collectCount?: number
|
|
1538
|
+
commentCount: number
|
|
1539
|
+
diggCount: number
|
|
1540
|
+
playCount: number
|
|
1541
|
+
shareCount: number
|
|
1542
|
+
}
|
|
1543
|
+
author: {
|
|
1544
|
+
id: string
|
|
1545
|
+
uniqueId: string
|
|
1546
|
+
nickname: string
|
|
1547
|
+
avatarLarger?: string
|
|
1548
|
+
avatarThumb?: string
|
|
1549
|
+
avatarMedium?: string
|
|
1550
|
+
signature?: string
|
|
1551
|
+
verified?: boolean
|
|
1552
|
+
openFavorite?: boolean
|
|
1553
|
+
privateAccount?: boolean
|
|
1554
|
+
isADVirtual?: boolean
|
|
1555
|
+
isEmbedBanned?: boolean
|
|
1556
|
+
}
|
|
1557
|
+
video?: {
|
|
1558
|
+
id: string
|
|
1559
|
+
duration: number
|
|
1560
|
+
ratio?: string
|
|
1561
|
+
cover?: string
|
|
1562
|
+
originCover?: string
|
|
1563
|
+
dynamicCover?: string
|
|
1564
|
+
playAddr?: string
|
|
1565
|
+
downloadAddr?: string
|
|
1566
|
+
format?: string
|
|
1567
|
+
bitrate?: number
|
|
1568
|
+
}
|
|
1569
|
+
music: {
|
|
1570
|
+
id: string
|
|
1571
|
+
title: string
|
|
1572
|
+
authorName: string
|
|
1573
|
+
duration: number
|
|
1574
|
+
playUrl?: string[]
|
|
1575
|
+
coverLarge?: string
|
|
1576
|
+
coverMedium?: string
|
|
1577
|
+
coverThumb?: string
|
|
1578
|
+
original?: boolean
|
|
1579
|
+
}
|
|
1580
|
+
imagePost?: string[]
|
|
1581
|
+
effectStickers?: Array<{
|
|
1582
|
+
id: string
|
|
1583
|
+
name: string
|
|
1584
|
+
type?: number
|
|
1585
|
+
}>
|
|
1586
|
+
}>
|
|
1587
|
+
totalVideos?: number
|
|
1588
|
+
}
|
|
1589
|
+
}
|
|
1590
|
+
```
|
|
1591
|
+
|
|
1592
|
+
</details>
|
|
1593
|
+
|
|
1594
|
+
## Tiktok Get Music Detail Response
|
|
1595
|
+
|
|
1596
|
+
### Get Music Detail Response
|
|
1597
|
+
|
|
1598
|
+
<details>
|
|
1599
|
+
<summary>Click to expand</summary>
|
|
1600
|
+
|
|
1601
|
+
```typescript
|
|
1602
|
+
interface TiktokMusicDetailResponse {
|
|
1603
|
+
status: "success" | "error"
|
|
1604
|
+
message?: string
|
|
1605
|
+
result?: {
|
|
1606
|
+
musicInfo: {
|
|
1607
|
+
author: {
|
|
1608
|
+
id: string
|
|
1609
|
+
nickname: string
|
|
1610
|
+
uniqueId: string
|
|
1611
|
+
signature: string
|
|
1612
|
+
avatarThumb: string
|
|
1613
|
+
avatarMedium: string
|
|
1614
|
+
avatarLarger: string
|
|
1615
|
+
secUid: string
|
|
1616
|
+
privateAccount: boolean
|
|
1617
|
+
ftc: boolean
|
|
1618
|
+
relation: number
|
|
1619
|
+
openFavorite: boolean
|
|
1620
|
+
secret: boolean
|
|
1621
|
+
}
|
|
1622
|
+
music: {
|
|
1623
|
+
id: string
|
|
1624
|
+
title: string
|
|
1625
|
+
authorName: string
|
|
1626
|
+
original: boolean
|
|
1627
|
+
playUrl: string
|
|
1628
|
+
coverLarge: string
|
|
1629
|
+
coverMedium: string
|
|
1630
|
+
coverThumb: string
|
|
1631
|
+
duration: number
|
|
1632
|
+
private: boolean
|
|
1633
|
+
isCopyrighted: boolean
|
|
1634
|
+
}
|
|
1635
|
+
stats: {
|
|
1636
|
+
videoCount: number
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
shareMeta: {
|
|
1640
|
+
title: string
|
|
1641
|
+
desc: string
|
|
1642
|
+
}
|
|
1643
|
+
statusCode: number
|
|
1644
|
+
status_msg: string
|
|
1645
|
+
}
|
|
1646
|
+
}
|
|
1647
|
+
```
|
|
1648
|
+
|
|
1649
|
+
</details>
|
|
1650
|
+
<br>
|
|
1651
|
+
|
|
1652
|
+
# Changelog
|
|
1653
|
+
|
|
1654
|
+
- All changes will be documented in the [CHANGELOG.md](https://github.com/TobyG74/tiktok-api-dl/blob/master/CHANGELOG.md) file.
|
|
1655
|
+
|
|
1656
|
+
# Contributing
|
|
1657
|
+
|
|
1658
|
+
- This repository is open source. We really appreciate it if you want to participate in developing this repository...
|
|
1659
|
+
- Please read our [CONTRIBUTING.md](https://github.com/TobyG74/tiktok-api-dl/blob/master/CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](https://github.com/TobyG74/tiktok-api-dl/blob/master/CODE_OF_CONDUCT.md) before contributing.
|
|
1660
|
+
|
|
1661
|
+
# License
|
|
1662
|
+
|
|
1663
|
+
- This project is licensed under the Apache License - see the [LICENSE](https://github.com/TobyG74/tiktok-api-dl/blob/master/LICENSE) file for details.
|