tiktok_post template is built to obtain TikTok video post information.
Useful Links
- Real-time and Asynchronous integration methods are available for this template.
- Batch requests are also supported.
Input Parameters
Request parameters available for the TikTok Post template:| Parameter | Type | Required | Description |
|---|---|---|---|
target | string | ✅ | Target type must be set to tiktok_post. |
url | string | ✅ | TikTok post URL |
headless | string | By default, JavaScript rendering is forced, omit parameter in the request. | |
xhr | boolean | Set to true to retrieve a list of XHR and fetch requests. Read more.Default value is false. | |
markdown | boolean | Set to true to receive a Markdown response. Read more.Default value is false. |
Request Examples
# update 'TOKEN VALUE' with your API KEY
curl --request 'POST' \
--url 'https://data.decodo.com/v1/scrape' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer TOKEN VALUE' \
--header 'Content-Type: application/json' \
--data '
{
"target": "tiktok_post",
"url": "https://www.tiktok.com/@nba/video/7255379108241198378"
}
'
const scrape = async() => {
const response = await fetch("https://data.decodo.com/v1/scrape", {
method: "POST",
body: JSON.stringify({
"target": "tiktok_post",
"url": "https://www.tiktok.com/@nba/video/7255379108241198378"
}),
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer TOKEN VALUE" // update with your API KEY
},
}).catch(error => console.log(error));
console.log(await response.json())
}
scrape()
import requests
url = "https://data.decodo.com/v1/scrape"
payload = {
"target": "tiktok_post",
"url": "https://www.tiktok.com/@nba/video/7255379108241198378"
}
headers = {
"accept": "application/json",
"content-type": "application/json",
"authorization": "Bearer TOKEN VALUE" # update with your API KEY
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
Output
Response Example
{
"results": [
{
"content":"<!DOCTYPE html><html lang=\"en\" data-tux-color-scheme=\"dark\" dir=\"ltr\" data-theme=\"dark\" data-rh=\"lang,data-theme\"><head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Jarace Walker's Epic Dunk and Free Throw Fight in NBA Summer League | TikTok</title>\n <script type=\"application/json\" id=\"pumbaa-rule\">{\"cookie\":{\"blockers\":[{\"cookies\":[\"ktlvDW7IG5ClOcxYTbmY\",\"MONITOR_DEVICE_ID\",\"MONITOR_WEB_ID...",
"headers": {
"date": "Wed, 12 Nov 2025 12:53:09 GMT",
"pragma": "no-cache",
"server": "nginx",
"expires": "Wed, 12 Nov 2025 12:53:09 GMT",
"x-cache": "TCP_MISS from a2-16-76-118.deploy.akamaitechnologies.com (AkamaiGHost/22.3.2-3132366524ab32492078dda91c109cd6) (-)",
"x-tt-logid": "20251112125309E88141BA602BAD048C96",
"content-type": "text/html; charset=utf-8",
"x-gw-dst-psm": "serverless.tiktok.desktop",
"x-powered-by": "Goofy Node",
"cache-control": "max-age=0, no-cache, no-store",
"server-timing": "cdn-cache; desc=MISS, edge; dur=134, origin; dur=248, inner; dur=240",
"x-tt-trace-id": "00-251112125309E88141BA602BAD048C96-166FABFD42867EFA-00",
"content-length": "73627",
"feature-policy": "microphone 'none'; geolocation 'none'",
"x-cache-remote": "TCP_MISS from a23-3-98-145.deploy.akamaitechnologies.com (AkamaiGHost/22.3.2-3132366524ab32492078dda91c109cd6) (-)",
"x-firefox-spdy": "h2",
"x-tt-trace-tag": "id=16;cdn-cache=miss;type=dyn",
"referrer-policy": "strict-origin-when-cross-origin",
"x-frame-options": "SAMEORIGIN",
"x-tt-trace-host": "010496ce52589096e8b8561140c69cf2f1916d700704a988df845a295b912172af7b43618caa4417c879ec9e0471ad79a4f6046a69ff74fa30046e3a59e095371080a131c291177aa3fcdb17ae7438b901013820b038b26df921d346d393f532334e07e47946d4b56a9380063724516470",
"content-encoding": "br",
"x-xss-protection": "1; mode=block",
"x-download-options": "noopen",
"x-pumbaa-web-avail": "1",
"reporting-endpoints": "csp-endpoint=\"https://mon16-normal-useast5.tiktokv.us/monitor_browser/collect/batch/security/?bid=tiktok_pns\"",
"x-akamai-request-id": "587a08b9.25ff838",
"x-bytefaas-request-id": "20251112125309E88141BA602BAD048C96",
"x-content-type-options": "nosniff",
"x-origin-response-time": "248, 23.3.98.145",
"x-parent-response-time": "340, 2.16.76.118",
"content-security-policy": "report-uri https://mon16-normal-useast5.tiktokv.us/monitor_browser/collect/batch/security/?bid=tiktok_pns&ev_type=csp&p=HOiLPthVoUcWRLsWj0mtJ&v=16; report-to csp-endpoint; upgrade-insecure-requests; default-src 'self' 'unsafe-eval' 'unsafe-inline' blob: bytedance: data: wss://*.tiktok.com wss://*.tiktokv.com wss://*.tiktokv.eu wss://tiktok.com wss://tiktokv.com *.adsintegrity.net *.akamaized.net *.amazonaws.com *.bing.com *.bitssec.com *.braintree-api.com *.braintreegateway.com *.bytedapm.com *.bytedgame.com *.bytehwm-row.com *.byteicdn.com *.byteintl.com *.byteintl.net *.byteintlapi.com *.byteintlstatic.com *.bytelemon.com *.byteoversea.com *.byteoversea.net *.bytevcloudapi.com *.capcut.com *.cloudflare.com *.ctfassets.net *.doubleclick.net *.evbuc.com *.eventim.de *.facebook.com *.facebook.net *.fbsbx.com *.fcdnstatic-intl.com *.fdmstatic.com *.g-p-static.com *.gauthmath.com *.goofy-cdn.com *.goofy.app *.google.com *.googleadservices.com *.googleapis.com *.googletagmanager.com *.gstatic.com *.hsforms.com *.hsforms.net *.ibytedtos.com *.ibyteimg.com *.isnssdk.com *.jumio.ai *.kakao.com *.lemon8-app.com *.lemon8cdn.com *.licdn.com *.linkedin.com *.midtrans.com *.muscdn.com *.musical.ly *.oecstatic.com *.omise.co *.pangle-ads.com *.paypal.com *.pipopay.com *.pipopayment.us *.quoracdn.net *.resso.me *.sgsnssdk.com *.soundon.global *.tableau.com *.tiktok-row.net *.tiktok.com *.tiktok.ru *.tiktok.vn *.tiktokapis.com *.tiktokcdn-eu.com *.tiktokcdn-in.com *.tiktokcdn-us.com *.tiktokcdn.com *.tiktokcreativeone.com *.tiktokforbusinessoutbound.com *.tiktokglobalshop.com *.tiktokmusic.me *.tiktokshop.com *.tiktokstaticb.com *.tiktokus.info *.tiktokv.com *.tiktokv.eu *.tiktokv.us *.tiktokw.eu *.tiktokw.us *.topbuzzcdn.com *.ttcdn-us.com *.ttlivecdn.com *.ttlstatic.com *.ttwstatic.com *.vimeo.com *.vodupload.com *.yahoo.co.jp *.yhgfb-static.com *.youtube-nocookie.com *.zhiliaoapp.com api.music.apple.com code.jquery.com facebook.com google.com i.ticketweb.com images.universe.com media.ticketmaster.eu play.itunes.apple.com res.cloudinary.com s1.ticketm.net static-label.frontgatetickets.com static.captchami.com t.co tikitoks.com tiktok.com tiktok.ua tiktok.vn tiktokfollowersfree.com tiktokv.com unpkg.com vimeo.com; connect-src * 'unsafe-inline' blob: data:; frame-src bytedance: *.kakao.com *.tiktok.com access.line.me accounts.google.com api.twitter.com appleid.apple.com assets.braintreegateway.com client-api.arkoselabs.com h.online-metrix.net lf16-web.tiktokcdn.com newassets.hcaptcha.com recaptcha.google.com tx41v.arkoselabs.com www.facebook.com www.google.com; script-src 'inline-speculation-rules' 'report-sample' 'unsafe-eval' *.tiktokcdn-us.com apis.google.com billshark-cdn.s3.amazonaws.com c.paypal.com cdnjs.cloudflare.com client-api.arkoselabs.com connect.facebook.net developers.kakao.com googleads.g.doubleclick.net js-cdn.music.apple.com/musickit/v3/musickit.js js.braintreegateway.com js.hcaptcha.com js.hsforms.net recaptcha.google.com s20.tiktokcdn.com s3.amazonaws.com static.captchami.com tiktok.captchami.com tx41v.arkoselabs.com unpkg.com vimeo.com www.facebook.net www.google.com www.googleadservices.com www.googleapis.com www.googletagmanager.com www.gstatic.com www.vimeo.com; worker-src www.tiktok.com/business/sw.js www.tiktok.com/embed/sw.js www.tiktok.com/firebase-messaging-sw.js www.tiktok.com/help/sw.js www.tiktok.com/sw.js www.tiktok.com/tiktokstudio/static/worker/ www.tiktok.com/tiktokstudio/sw.js www.tiktok.com/web-static-js/ www.tiktok.com/webapp-desktop/static/worker/; frame-ancestors tea-va.bytedance.net www.tiktok.com",
"strict-transport-security": "max-age=31536000; includeSubdomains",
"access-control-expose-headers": "x-tt-traceflag, x-tt-logid",
"x-bytefaas-execution-duration": "238.86",
"content-security-policy-report-only": "report-uri https://mon16-normal-useast5.tiktokv.us/monitor_browser/collect/batch/security/?bid=tiktok_pns&ev_type=csp&p=HOiLPthVoUcWRLsWj0mtJ&v=5; report-to csp-endpoint; script-src 'report-sample' 'unsafe-eval' *.tiktokcdn-us.com apis.google.com billshark-cdn.s3.amazonaws.com c.paypal.com client-api.arkoselabs.com connect.facebook.net developers.kakao.com js.braintreegateway.com js.hcaptcha.com js.hsforms.net recaptcha.google.com s20.tiktokcdn.com s3.amazonaws.com static.captchami.com tiktok.captchami.com unpkg.com www.facebook.net www.vimeo.com; worker-src www.tiktok.com/business/sw.js www.tiktok.com/embed/sw.js www.tiktok.com/firebase-messaging-sw.js www.tiktok.com/help/sw.js www.tiktok.com/sw.js; frame-ancestors tea-va.bytedance.net www.tiktok.com"
},
"cookies": [
{
"key": "msToken",
"path": "/",
"value": "DFkQB09-nFMRew2aInG22KQtPwyBcr5xrcbdi_Hl_NnII7LQNy14t9Rhk4VBOBr7YrHqjb9kDweDBbusU5VjF6_D2-QxR5iN4S_7BFDtecwDLGO_GKpjlLJYkzISKv8z_JjXQvb7OHrwtLsU9cQR",
"domain": "www.tiktok.com",
"secure": false,
"comment": "",
"expires": 1770728008,
"max-age": "",
"version": "",
"httponly": "",
"samesite": ""
},
{
"key": "ttwid",
"path": "/",
"value": "1%7CaWPieN9SbnRw8cLxkmAZB1p9TxCM_NfwVXa6MNoO5Qk%7C1762950723%7C90568615d2cb887f334b6dbadcebec1cf0e085f9c594ecba3683fb977a289216",
"domain": ".tiktok.com",
"secure": true,
"comment": "",
"expires": -1,
"max-age": "",
"version": "",
"httponly": "",
"samesite": ""
},
{
"key": "tt_csrf_token",
"path": "/",
"value": "VjErxEtr-_PAGD2GKQzwZdJ-c3FtCEslLoT0",
"domain": ".tiktok.com",
"secure": true,
"comment": "",
"expires": -1,
"max-age": "",
"version": "",
"httponly": "",
"samesite": ""
},
{
"key": "delay_guest_mode_vid",
"path": "/",
"value": "8",
"domain": ".www.tiktok.com",
"secure": true,
"comment": "",
"expires": -1,
"max-age": "",
"version": "",
"httponly": "",
"samesite": ""
},
{
"key": "odin_tt",
"path": "/",
"value": "5f6b49699d0b53cd40e7ceea1f721afe3b5f9368f212ed7ecf19c7f06cfd436ff73d1a86b7cb49928bd02132515bbd92726393d3d0bc8bcfac335d28cb7983e7071788a86539ca39372aada3b5586019",
"domain": ".tiktok.com",
"secure": false,
"comment": "",
"expires": -1,
"max-age": "",
"version": "",
"httponly": "",
"samesite": ""
},
{
"key": "tt_chain_token",
"path": "/",
"value": "laiMM6/qjq5IbyCM5JsoBQ==",
"domain": ".tiktok.com",
"secure": true,
"comment": "",
"expires": 1778503989,
"max-age": "",
"version": "",
"httponly": "",
"samesite": ""
},
{
"key": "tiktok_webapp_theme_source",
"path": "/",
"value": "auto",
"domain": ".www.tiktok.com",
"secure": true,
"comment": "",
"expires": 1788871992,
"max-age": "",
"version": "",
"httponly": "",
"samesite": ""
},
{
"key": "tiktok_webapp_theme",
"path": "/",
"value": "dark",
"domain": ".www.tiktok.com",
"secure": true,
"comment": "",
"expires": 1788871992,
"max-age": "",
"version": "",
"httponly": "",
"samesite": ""
}
],
"status_code": 200,
"task_id": "7394356565161054209",
"created_at": "2025-11-12 12:53:05",
"updated_at": "2025-11-12 12:53:30"
}
]
}
Downloading video from a TikTok post
Downloading videos requires logging in with a TikTok account.
tiktok_post target allows obtaining a download link to the video. A downloadAddr property is available in the response:
{
...
"downloadAddr": "https://v16-webapp-prime.us.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oAfTW9DAAQAiFwwZ3mBwqzEOKIKqEOIgti2Chv/?a=1988&bti=ODszNWYuMDE6&ch=0&cr=3&dr=0&lr=tiktok_m&cd=0%7C0%7C1%7C&cv=1&br=3762&bt=1881&cs=0&ds=3&ft=4KJMyMzm8Zmo08z.f-4jV~KlQpWrKsd.&mime_type=video_mp4&qs=0&rc=aTRnZGRpNTdnOWRpaDM3ZEBpM2ppdXE5cjR1czMzODczNEBiLzVjYDNfNTIxLjJfNGM2YSNvLm5gMmRzXl5gLS1kMTFzcw%3D%3D&btag=e00088000&expire=1723138617&l=202408081136144AE053D9571E5409C917&ply_type=2&policy=2&signature=0c5da3af3e3372d1e71a7748d8afaec4&tk=tt_chain_token",
...
}
tt_chain_token should be copied from cookies:

GET to downloadAddr and attaching tt_chain_token as a cookie:
curl -L 'https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oEdn6roI2PQhqH6MAmgIjaeLfeKPnkIoDGsCAh/?a=1988&bti=NDU3ZjAwOg%3D%3D&ch=0&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C&cv=1&br=1474&bt=737&cs=0&ds=6&ft=4fUEKMVc8Zmo0s_.f-4jVL.1upWrKsd.&mime_type=video_mp4&qs=5&rc=ZTY1N2g0OjtpaGk2Zjc8OUBpM2ppdXE5cjR1czMzODczNEBiMS5iNS5iXzExMjItNDMwYSNvLm5gMmRzXl5gLS1kMTFzcw%3D%3D&btag=e00088000&expire=1723289013&l=2024080811224972CD300C450534682E98&ply_type=2&policy=2&signature=08bf7eda0e60d6c3ca0865ff1db58640&tk=tt_chain_token' \
-H 'Cookie: tt_chain_token=P+R8i1eNHk3uHmoxvinB9A=='
universal target, along with manually changing tt_chain_tokenwill overcome blocks.
Support
Need help or just want to say hello? Our support is available 24/7.
You can also reach us anytime via email at support@decodo.com.
You can also reach us anytime via email at support@decodo.com.
Feedback
Can’t find what you’re looking for? Request an article!
Have feedback? Share your thoughts on how we can improve.
Have feedback? Share your thoughts on how we can improve.