A lightweight utility to generate signed TikTok API request URLs using a headless navigator. Designed for environments requiring dynamic request signing with proper user-agent emulation. Tiktok Web Reverse Engineering X-Bogus & X-Gnarly implementation
- Async URL signing for TikTok API requests
- Supports both GET and POST formats
- Extracts valid
User-Agentheaders - Ideal for proxies, automation, and scraping tasks
import { signParams } from 'tiktok-signature-utils';
const { signature, userAgent } = await signParams({
params,
url: 'https://www.tiktok.com/api/commit/item/digg',
body: {
action: 1
}
});
await fetch(signature.signedUrl, {
method: 'POST',
headers: {
'User-Agent': userAgent,
'Content-Type': 'application/json'
},
body: JSON.stringify({ action: 1 })
});params: Object of query string parametersurl: Base TikTok API endpointbody: Optional object for request body
signature.signedUrl: Fully signed URLuserAgent: Emulated User-Agent header
export async function signParams(data) {
const navigator = await signer.navigator();
const { userAgent } = navigator;
const queryString = new URLSearchParams({
...data.params
}).toString();
const unsignedUrl = `${data.url}/?${queryString}`;
let body = '';
if (data.body) {
body = JSON.stringify(data.body);
}
const signedUrl = await signer.Sign(unsignedUrl, body);
return { signature: { signedUrl }, userAgent };
}MIT © 2025