Installation
Install puppeteer
npm i tiktok-signature
Usage
Module
const Signer = require("tiktok-signature");
const signer = new Signer();
await signer.init();
await signer.sign("tiktok url");
await signer.close();
You can pass your desired User-Agent and tac on class creation.
new Signer("Mozilla");
new Signer(null, "123");
CLI
Install dependencies
npm i puppeteer puppeteer-extra puppeteer-extra-plugin-stealth
Now you can generate the token using
node browser.js "tiktok url"
The response tokne should look like this
root@localhost: VIm6dAAgEBYZFjzZxqkSy1SJu2AAAlc
If you cannot succeed with this token, replace tac
token (window.tac
) inside local.html
.
Fetch service url
Trending or VideoFeed
https://m.tiktok.com/share/item/list?secUid=&id=&type=5&count=30&minCursor=0&maxCursor=0&shareUid=
https://m.tiktok.com/share/item/comment/list?id=<owner id here>&count=50&cursor=0
Video feed
https://m.tiktok.com/node/video/feed
Testing
You can test it using
import requests
signature = "s0Ju9AAgEBCwzpufd4dd9bNCb-AAO0V"
referer = "https://www.tiktok.com/@ondymikula/video/6757762109670477061"
url = "https://m.tiktok.com/share/item/list?secUid=&id=&type=5&count=30&minCursor=0&maxCursor=0&shareUid=" + \
"&_signature=" + signature
request = requests.get(url, headers={"method": "GET",
"accept-encoding": "gzip, deflate, br",
"Referer": referer,
"user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"
})
data = request.json()
print(data)
NOTE
It's very important that the userAgent be the same when generate and when request for response.
Contributing
If you have a better improvement to this code, let me know ;)
Hope it helps.
License
MIT