- Description
- How to get Tiktok Cookie
- Build this project
- Install
- Examples
- Response
- Changelog
- Contributing
- License
Note : This project uses the API from Tiktok. This project is made for educational purposes only. This project is not affiliated with Tiktok. This project is not intended to harm or damage the Tiktok platform.
- This project is made to help users to download videos, images / slides and music from Tiktok.
- This project is also made to help users to view someone's profile from Tiktok.
- This project is also made to help users to view comments from a video on Tiktok.
You can use cookies in the form of String or JSON
- Download Extension Cookie-Editor
- Login to the Tiktok Website
- Open the Cookie-Editor Extension
- Copy the Cookie and paste it into the code
COOKIE: "YOUR_COOKIE"
- Clone the repository
- Install the dependencies
- Run the build script
git clone https://github.com/TobyG74/tiktok-api-dl.git
cd tiktok-api-dl
npm install
npm run build
- This module requires Node.js v10+ to run.
npm install @tobyg74/tiktok-api-dl
yarn add @tobyg74/tiktok-api-dl
npm install github:TobyG74/tiktok-api-dl
- V1 uses the API from TiktokAPI
- Support Video, Images / Slide, Music
- V2 uses the API from SSSTik
- V3 uses the API from MusicalDown
version
: The version of the downloader you want to usev1
: TiktokAPIv2
: SSSTikv3
: MusicalDown
proxy
: Proxy for requestshowOriginalResponse
: Show original response from API && Only for V1
const Tiktok = require("@tobyg74/tiktok-api-dl")
const tiktok_url = "https://vt.tiktok.com/xxxxxxxx"
Tiktok.Downloader(tiktok_url, {
version: "v1", // version: "v1" | "v2" | "v3"
proxy: "YOUR_PROXY", // Support Proxy Http, Https, Socks5
showOriginalResponse: true // Only for V1
}).then((result) => {
console.log(result)
})
Note : Cookies are required for searching users or live
type
: The type of search you want to useuser
: Search Userlive
: Search Live
page
: The page you want to searchcookie
: Your Tiktok Cookieproxy
: Proxy for request
const Tiktok = require("@tobyg74/tiktok-api-dl")
const username = "tobz2k19"
Tiktok.Search(username, {
type: "user" || "live",
page: 1,
cookie: process.env.COOKIE || "Your Cookie",
proxy: "YOUR_PROXY" // Support Proxy Http, Https, Socks5
}).then((result) => {
console.log(result)
})
cookie
: Only needed if you want to get all user postspostLimit
: Limit the number of posts to displayproxy
: Proxy for request
const Tiktok = require("@tobyg74/tiktok-api-dl")
const username = "tobz2k19"
Tiktok.StalkUser(username, {
cookie: process.env.COOKIE || "Your Cookie"
postLimit: 10, // Limit the number of posts to display
proxy: "YOUR_PROXY" // Support Proxy Http, Https, Socks5
}).then((result) => {
console.log(result)
})
commentLimit
: Limit the number of comments to displayproxy
: Proxy for request
const Tiktok = require("@tobyg74/tiktok-api-dl")
const url = "https://vt.tiktok.com/xxxxxxxx"
Tiktok.GetComments(url, {
commentLimit: 20, // Limit the number of comments to display
proxy: "YOUR_PROXY" // Support Proxy Http, Https, Socks5
}).then((result) => {
console.log(result)
})
Tiktok Downloader V1
{
status: "success" | "error"
message?: string
result?: {
type: "video" | "image"
id: string
createTime: number
description: string
isTurnOffComment: boolean
isADS: boolean
hashtag: string[]
author: {
uid: string
username: string
nickname: string
signature: string
region: string
avatarLarger: string
avatarThumb: string
avatarMedium: string
url: string
}
statistics: {
playCount: number
downloadCount: number
shareCount: number
commentCount: number
diggCount: number
collectCount: number
forwardCount: number
whatsappShareCount: number
loseCount: number
loseCommentCount: number
whatsappShareCount: number
repostCount: number
}
video?: {
ratio: string
duration: number
playAddr: string
downloadAddr: string
cover: string
originCover: string
dynamicCover: string
}
images?: string[]
music: {
id: number
title: string
author: string
album: string
playUrl: string[]
coverLarge: string[]
coverMedium: string[]
coverThumb: string[]
duration: number
isCommerceMusic: boolean
isOriginalSound: boolean
isAuthorArtist: boolean
}
}
resultNotParsed?: any
}
Tiktok Downloader V2
{
status: "success" | "error"
message?: string
result?: {
type: "video" | "image"
desc?: string
author?: {
nickname?: string
avatar?: string
}
statistics: {
likeCount: string
commentCount: string
shareCount: string
}
video?: string
images?: string[]
music?: string
}
}
Tiktok Downloader V3
{
status: "success" | "error"
message?: string
result?: {
type: "video" | "image"
desc?: string
author?: {
avatar?: string
nickname?: string
}
music?: string
images?: string[]
videoSD?: string
videoHD?: string
videoWatermark?: string
}
}
Tiktok Search "User"
{
status: "success" | "error"
message?: string
result?: [{
uid: string
username: string
nickname: string
signature: string
followerCount: number
avatarThumb: string[]
isVerified: boolean
secUid: string
url: string
}]
page: number
totalResults: number
}
Tiktok Search "Live"
{
status: "success" | "error"
message?: string
result?: [{
id: string
title: string
cover: string[]
squareCover: string[]
rectangleCover: string[]
liveTypeThirdParty: boolean
hashtag: string
startTime: number
stats: {
totalUser: number
viewerCount: number
likeCount: number
}
owner: {
id: string
nickname: string
username: string
signature: string
avatarThumb: string[]
avatarMedium: string[]
avatarLarge: string[]
modifyTime: number
stats: {
followingCount: number
followerCount: number
}
isVerified: boolean
}
}]
page: number
totalResults: number
}
Tiktok Get Profile
{
status: "success" | "error"
message?: string
result?: {
users: {
username: string
nickname: string
avatar: string
signature: string
verified: boolean
region: string
}
stats: {
followerCount: number
followingCount: number
heartCount: number
videoCount: number
likeCount: number
}
posts: Posts[]
}
totalPosts: number
}
Tiktok Get Comments
{
status: "success" | "error"
message?: string
result?: [{
cid: string
text: string
commentLanguage: string
createTime: number
likeCount: number
isAuthorLiked: boolean
isCommentTranslatable: boolean
replyCommentTotal: number
replyComment: []
user: User
url: string
}]
totalComments: number
}
All updates and changes can be viewed in the CHANGELOG.md file.
- This repository is open source. We really appreciate it if you want to participate in developing this repository...
- Please read our CONTRIBUTING.md and CODE_OF_CONDUCT.md before contributing.
- This project is licensed under the Apache License - see the LICENSE file for details.