Documentation Index Fetch the complete documentation index at: https://docs.brightdata.com/llms.txt
Use this file to discover all available pages before exploring further.
This tutorial walks you through sending a synchronous request to each Bright Data TikTok Scraper API endpoint. By the end, you’ll have working examples for profiles, posts, TikTok Shop, comments, and posts by profile.
Prerequisites
Request structure
Every synchronous request follows the same pattern:
POST https://api.brightdata.com/datasets/v3/scrape?dataset_id={DATASET_ID}&format=json
Authorization : Bearer YOUR_API_KEY
Content-Type : application/json
[{ "url" : "https://www.tiktok.com/..." }]
The only thing that changes between endpoints is the dataset_id and the input URL format.
Synchronous requests support up to 20 URLs and have a 1-minute timeout. If the request takes longer, the API automatically returns a snapshot_id instead. See async requests .
How to scrape TikTok profiles
Dataset ID: gd_l1villgoiiidt09ci
curl -X POST \
"https://api.brightdata.com/datasets/v3/scrape?dataset_id=gd_l1villgoiiidt09ci&format=json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '[{"url": "https://www.tiktok.com/@tiktok"}]'
You should see a 200 response. This takes 10-30 seconds.
[
{
"nickname" : "TikTok" ,
"account_id" : "tiktok" ,
"biography" : "Make your day." ,
"followers" : 85600000 ,
"following" : 580 ,
"likes" : 520000000 ,
"videos_count" : 1250 ,
"is_verified" : true ,
"url" : "https://www.tiktok.com/@tiktok" ,
"profile_pic_url" : "https://..."
}
]
Full Profiles response schema
How to scrape TikTok posts
Dataset ID: gd_lu702nij2f790tmv9h
curl -X POST \
"https://api.brightdata.com/datasets/v3/scrape?dataset_id=gd_lu702nij2f790tmv9h&format=json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '[{"url": "https://www.tiktok.com/@tiktok/video/7345678901234567890"}]'
[
{
"url" : "https://www.tiktok.com/@tiktok/video/7345678901234567890" ,
"author" : "tiktok" ,
"description" : "Making every moment count #fyp #trending" ,
"likes" : 245000 ,
"comments" : 3200 ,
"shares" : 18500 ,
"views" : 5200000 ,
"date_posted" : "2024-04-10T15:30:00.000Z" ,
"hashtags" : [ "fyp" , "trending" ],
"video_url" : "https://..."
}
]
Full Posts response schema
How to scrape TikTok Shop
Dataset ID: gd_m45m1u911dsa4274pi
curl -X POST \
"https://api.brightdata.com/datasets/v3/scrape?dataset_id=gd_m45m1u911dsa4274pi&format=json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '[{"url": "https://www.tiktok.com/@shop/product/1234567890"}]'
[
{
"url" : "https://www.tiktok.com/@shop/product/1234567890" ,
"product_name" : "Wireless Bluetooth Earbuds" ,
"price" : 29.99 ,
"currency" : "USD" ,
"rating" : 4.7 ,
"reviews_count" : 1850 ,
"seller_name" : "TechStore Official" ,
"category" : "Electronics"
}
]
Full TikTok Shop response schema
Dataset ID: gd_lkf2st302ap89utw5k
curl -X POST \
"https://api.brightdata.com/datasets/v3/scrape?dataset_id=gd_lkf2st302ap89utw5k&format=json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '[{"url": "https://www.tiktok.com/@tiktok/video/7345678901234567890"}]'
[
{
"url" : "https://www.tiktok.com/@tiktok/video/7345678901234567890" ,
"comment_user" : "creator_fan" ,
"comment_user_url" : "https://www.tiktok.com/@creator_fan" ,
"comment_date" : "2024-04-11T08:15:00.000Z" ,
"comment" : "This is amazing content!" ,
"likes" : 42 ,
"replies" : 3
}
]
Full Comments response schema
Posts by Profile Fast API
Dataset ID: gd_m7n5v2gq296pex2f5m
curl -X POST \
"https://api.brightdata.com/datasets/v3/scrape?dataset_id=gd_m7n5v2gq296pex2f5m&format=json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '[{"url": "https://www.tiktok.com/@tiktok"}]'
[
{
"url" : "https://www.tiktok.com/@tiktok/video/7345678901234567890" ,
"author" : "tiktok" ,
"description" : "Making every moment count #fyp" ,
"likes" : 245000 ,
"comments" : 3200 ,
"shares" : 18500 ,
"views" : 5200000 ,
"date_posted" : "2024-04-10T15:30:00.000Z"
},
{
"url" : "https://www.tiktok.com/@tiktok/video/7345678901234567891" ,
"author" : "tiktok" ,
"description" : "New feature alert! #tiktok #newfeature" ,
"likes" : 180000 ,
"comments" : 2100 ,
"shares" : 9500 ,
"views" : 3800000 ,
"date_posted" : "2024-04-08T12:00:00.000Z"
}
]
Full Posts by Profile Fast API response schema
Quick reference: dataset IDs
Endpoint Dataset ID URL pattern Profiles gd_l1villgoiiidt09citiktok.com/@{username}Posts gd_lu702nij2f790tmv9htiktok.com/@{username}/video/{id}TikTok Shop gd_m45m1u911dsa4274pitiktok.com/@shop/product/{id}Comments gd_lkf2st302ap89utw5ktiktok.com/@{username}/video/{id}Posts by Profile Fast API gd_m7n5v2gq296pex2f5mtiktok.com/@{username}
Control the response format with the format query parameter:
Value Description jsonJSON array (default) ndjsonNewline-delimited JSON, one record per line csvComma-separated values
Next steps
Async batch requests Scrape hundreds of URLs in a single batch job.
API reference Full parameter and response field reference.