curl --request GET \
--url https://api.scraperize.com/v1/tiktok/video/comments \
--header 'x-api-key: <api-key>'import requests
url = "https://api.scraperize.com/v1/tiktok/video/comments"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.scraperize.com/v1/tiktok/video/comments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.scraperize.com/v1/tiktok/video/comments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.scraperize.com/v1/tiktok/video/comments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.scraperize.com/v1/tiktok/video/comments")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scraperize.com/v1/tiktok/video/comments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"video": {
"id": "7683891628230315295",
"url": "https://www.tiktok.com/@natgeo/video/7683891628230315295",
"handle": "natgeo"
},
"comments": [
{
"id": "7693157583478637364",
"videoId": "7683891628230315295",
"parentId": null,
"replyToId": null,
"text": "Mam Africa",
"createdAt": "2026-10-05T12:20:45.000Z",
"language": "en",
"likeCount": 0,
"author": {
"id": "7334262547589268485",
"secUid": "MS4wLjABAAAAiUlmgtBZ_qAXYaaYFnpo-nJSA63KoabLC2SU3PHumW4hdy8pEG0GOVVLyiQ5nfrH",
"handle": "948135lntd",
"nickname": "👑Elle🫶🏻 lily👑",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/32f51a036d96fc1ee5ac94dd0f6e81ca~tplv-tiktokx-cropcenter:100:100.jpg?dr=14579&refresh_token=a74c53af&x-expires=1791295200&x-signature=GQqFJRTi2pqs%2BPa4daSM0xPSe94%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=my2",
"url": "https://www.tiktok.com/@948135lntd"
},
"isLikedByCreator": false,
"labels": [],
"images": [],
"sticker": null,
"emojis": [],
"isTranslatable": true,
"shareInfo": {
"url": "https://m.tiktok.com/v/7683891628230315295.html?_d=f6004hkm87m931&comment_author_id=7334262547589268485&preview_pb=0&share_comment_id=7693157583478637364&share_item_id=7683891628230315295&sharer_language=en&source=h5_m&u_code=0",
"title": "Presented by @ROLEX. Welcome to Africa 🌍 Africa Earth's Wild Home takes you deep into the heart of our wildest continent, bringing you closer to its animals, landscapes, and the people watching over it than ever before. Through its partnership with the National Geographic Society and as part of its Perpetual Planet Initiative, #Rolex supports expeditions exploring and protecting remarkable places around the world, a selection of which are featured in Africa Earth’s Wild Home. #PerpetualPlanet Africa Earth's Wild Home, narrated by Wunmi Mosaku, premieres Friday, October 2 at 8/7c on National Geographic. Streaming next day on @Disney+ and @hulu.",
"description": "👑Elle🫶🏻 lily👑’s comment: Mam Africa",
"acl": {
"code": 0,
"addToStoryCode": 0
}
},
"replyCount": 0,
"isPinnedByCreator": false,
"allowsPhotoDownload": true,
"topReply": null
},
{
"id": "7692839615614845748",
"videoId": "7683891628230315295",
"parentId": null,
"replyToId": null,
"text": "proud ugandan 🇺🇬🇺🇬🇺🇬🇺🇬🇺🇬🇺🇬🇺🇬",
"createdAt": "2026-10-04T15:46:46.000Z",
"language": "en",
"likeCount": 1,
"author": {
"id": "7515677256997897233",
"secUid": "MS4wLjABAAAAkHK4Gl1CANhtMM2LhDtYa1euu5qBpo9Yj237j1kZMOAPwwevYtV009s65-_O2YMh",
"handle": "musawoshammy7",
"nickname": "musawoshammy7",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/24309e8fe403c4969fceb543f9b8ea57~tplv-tiktokx-cropcenter:100:100.jpg?dr=14579&refresh_token=6a20777b&x-expires=1791295200&x-signature=awQ5mb%2BTOy3D%2FtT7KbN9Qui8RaE%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=my2",
"url": "https://www.tiktok.com/@musawoshammy7"
},
"isLikedByCreator": false,
"labels": [],
"images": [
{
"original": {
"url": "https://p19-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-origin.image?dr=8569&refresh_token=b61868e3&x-expires=1793800800&x-signature=M99zexAZHlx5jfntWoPwaUeN70k%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2",
"urls": [
"https://p19-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-origin.image?dr=8569&refresh_token=b61868e3&x-expires=1793800800&x-signature=M99zexAZHlx5jfntWoPwaUeN70k%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2",
"https://p16-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-origin.image?dr=8569&refresh_token=21e92ad9&x-expires=1793800800&x-signature=4t905keIMHNpFjPYxAjG02y%2Bpi8%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2",
"https://p19-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-origin.jpeg?dr=8569&refresh_token=10c60bdc&x-expires=1793800800&x-signature=7eGrwv5hlsk9b7GOpmCxkk%2Fw7e8%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2"
],
"uri": "tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625",
"width": 1920,
"height": 2560
},
"crop": {
"url": "https://p19-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-medium.image?dr=8569&refresh_token=59e5e939&x-expires=1793800800&x-signature=WwF%2BQF7HWpOA9ZaU%2BnqBtXQJAdA%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2",
"urls": [
"https://p19-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-medium.image?dr=8569&refresh_token=59e5e939&x-expires=1793800800&x-signature=WwF%2BQF7HWpOA9ZaU%2BnqBtXQJAdA%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2",
"https://p16-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-medium.image?dr=8569&refresh_token=7bab1a50&x-expires=1793800800&x-signature=5gukFyTR%2FIDMQrR%2BFn1NXwwQzs8%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2",
"https://p19-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-medium.jpeg?dr=8569&refresh_token=a2895cdd&x-expires=1793800800&x-signature=F3zyhGwpvJGqq2WzcNi9cNFvBGU%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2"
],
"uri": "tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625",
"width": 1920,
"height": 2560
}
}
],
"sticker": null,
"emojis": [],
"isTranslatable": true,
"shareInfo": {
"url": "https://m.tiktok.com/v/7683891628230315295.html?_d=f6004hkm87m931&comment_author_id=7515677256997897233&preview_pb=0&share_comment_id=7692839615614845748&share_item_id=7683891628230315295&sharer_language=en&source=h5_m&u_code=0",
"title": "Presented by @ROLEX. Welcome to Africa 🌍 Africa Earth's Wild Home takes you deep into the heart of our wildest continent, bringing you closer to its animals, landscapes, and the people watching over it than ever before. Through its partnership with the National Geographic Society and as part of its Perpetual Planet Initiative, #Rolex supports expeditions exploring and protecting remarkable places around the world, a selection of which are featured in Africa Earth’s Wild Home. #PerpetualPlanet Africa Earth's Wild Home, narrated by Wunmi Mosaku, premieres Friday, October 2 at 8/7c on National Geographic. Streaming next day on @Disney+ and @hulu.",
"description": "musawoshammy7’s comment: proud ugandan 🇺🇬🇺🇬🇺🇬🇺🇬🇺🇬🇺🇬🇺🇬",
"acl": {
"code": 0,
"addToStoryCode": 0
}
},
"replyCount": 0,
"isPinnedByCreator": false,
"allowsPhotoDownload": true,
"topReply": null
},
{
"id": "7692930736659219207",
"videoId": "7683891628230315295",
"parentId": null,
"replyToId": null,
"text": "love this channel",
"createdAt": "2026-10-04T21:40:34.000Z",
"language": "en",
"likeCount": 0,
"author": {
"id": "7670528725390689287",
"secUid": "MS4wLjABAAAAutaKUaK8R8kooTc2F7FOHisP0Z6I8zw5j0iSPnZ8SS61-IBohiUuZxlR8VNigXN4",
"handle": "claudia.jackson8",
"nickname": "Claudia Jackson",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/4b5bff5d5b3ce020697d01323acb678e~tplv-tiktokx-cropcenter:100:100.jpg?dr=14579&refresh_token=0e386239&x-expires=1791295200&x-signature=V8InNWMQLyVm6OQVHkJSU8mgkp0%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=my2",
"url": "https://www.tiktok.com/@claudia.jackson8"
},
"isLikedByCreator": false,
"labels": [],
"images": [],
"sticker": null,
"emojis": [],
"isTranslatable": true,
"shareInfo": {
"url": "https://m.tiktok.com/v/7683891628230315295.html?_d=f6004hkm87m931&comment_author_id=7670528725390689287&preview_pb=0&share_comment_id=7692930736659219207&share_item_id=7683891628230315295&sharer_language=en&source=h5_m&u_code=0",
"title": "Presented by @ROLEX. Welcome to Africa 🌍 Africa Earth's Wild Home takes you deep into the heart of our wildest continent, bringing you closer to its animals, landscapes, and the people watching over it than ever before. Through its partnership with the National Geographic Society and as part of its Perpetual Planet Initiative, #Rolex supports expeditions exploring and protecting remarkable places around the world, a selection of which are featured in Africa Earth’s Wild Home. #PerpetualPlanet Africa Earth's Wild Home, narrated by Wunmi Mosaku, premieres Friday, October 2 at 8/7c on National Geographic. Streaming next day on @Disney+ and @hulu.",
"description": "Claudia Jackson’s comment: love this channel",
"acl": {
"code": 0,
"addToStoryCode": 0
}
},
"replyCount": 0,
"isPinnedByCreator": false,
"allowsPhotoDownload": true,
"topReply": null
}
],
"count": 42,
"total": 314,
"cursor": "50",
"hasMore": true,
"fetchedAt": "2026-10-05T14:44:51.004Z"
},
"meta": {
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"creditsCharged": 1,
"creditsRemaining": 4999,
"cached": false
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request was invalid.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "API key required — pass it in the `x-api-key` header.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "This request costs 1 credit, but your balance is 0. Top up to continue.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The requested content was not found (it may not exist, be deleted, or be private).",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"details": [
{
"path": "url",
"message": "Required"
}
]
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded — max 100 requests per 60s. Retry in ~30s.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UPSTREAM_BLOCKED",
"message": "The source is temporarily unavailable. Please try again shortly.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}Video comments
Scrapes the top-level comments on a public TikTok video (or photo post) by URL (tiktok.com/@user/video/<id>), about 40 per page in TikTok’s own (relevance) order. Each comment comes with its id, text, created date, detected language, like count, reply count, author (id, secUid, username, nickname, avatar, profile link), whether the creator liked or pinned it, TikTok’s labels (e.g. “Liked by creator”), photo attachments (original + crop, every mirror URL), the sticker (static and animated, at high / mid / low resolution), emoji tokens, the share info (a deep link to the comment, title, description, share permissions), translatable / photo-download flags, its parent and reply-to ids, and the top reply TikTok previews under it. Pass the returned cursor to get the next page; it is null on the last page. TikTok re-ranks comments between requests, so a comment can occasionally move across a page boundary. @mentions inside comments appear as plain text.
curl --request GET \
--url https://api.scraperize.com/v1/tiktok/video/comments \
--header 'x-api-key: <api-key>'import requests
url = "https://api.scraperize.com/v1/tiktok/video/comments"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.scraperize.com/v1/tiktok/video/comments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.scraperize.com/v1/tiktok/video/comments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.scraperize.com/v1/tiktok/video/comments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.scraperize.com/v1/tiktok/video/comments")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scraperize.com/v1/tiktok/video/comments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"video": {
"id": "7683891628230315295",
"url": "https://www.tiktok.com/@natgeo/video/7683891628230315295",
"handle": "natgeo"
},
"comments": [
{
"id": "7693157583478637364",
"videoId": "7683891628230315295",
"parentId": null,
"replyToId": null,
"text": "Mam Africa",
"createdAt": "2026-10-05T12:20:45.000Z",
"language": "en",
"likeCount": 0,
"author": {
"id": "7334262547589268485",
"secUid": "MS4wLjABAAAAiUlmgtBZ_qAXYaaYFnpo-nJSA63KoabLC2SU3PHumW4hdy8pEG0GOVVLyiQ5nfrH",
"handle": "948135lntd",
"nickname": "👑Elle🫶🏻 lily👑",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/32f51a036d96fc1ee5ac94dd0f6e81ca~tplv-tiktokx-cropcenter:100:100.jpg?dr=14579&refresh_token=a74c53af&x-expires=1791295200&x-signature=GQqFJRTi2pqs%2BPa4daSM0xPSe94%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=my2",
"url": "https://www.tiktok.com/@948135lntd"
},
"isLikedByCreator": false,
"labels": [],
"images": [],
"sticker": null,
"emojis": [],
"isTranslatable": true,
"shareInfo": {
"url": "https://m.tiktok.com/v/7683891628230315295.html?_d=f6004hkm87m931&comment_author_id=7334262547589268485&preview_pb=0&share_comment_id=7693157583478637364&share_item_id=7683891628230315295&sharer_language=en&source=h5_m&u_code=0",
"title": "Presented by @ROLEX. Welcome to Africa 🌍 Africa Earth's Wild Home takes you deep into the heart of our wildest continent, bringing you closer to its animals, landscapes, and the people watching over it than ever before. Through its partnership with the National Geographic Society and as part of its Perpetual Planet Initiative, #Rolex supports expeditions exploring and protecting remarkable places around the world, a selection of which are featured in Africa Earth’s Wild Home. #PerpetualPlanet Africa Earth's Wild Home, narrated by Wunmi Mosaku, premieres Friday, October 2 at 8/7c on National Geographic. Streaming next day on @Disney+ and @hulu.",
"description": "👑Elle🫶🏻 lily👑’s comment: Mam Africa",
"acl": {
"code": 0,
"addToStoryCode": 0
}
},
"replyCount": 0,
"isPinnedByCreator": false,
"allowsPhotoDownload": true,
"topReply": null
},
{
"id": "7692839615614845748",
"videoId": "7683891628230315295",
"parentId": null,
"replyToId": null,
"text": "proud ugandan 🇺🇬🇺🇬🇺🇬🇺🇬🇺🇬🇺🇬🇺🇬",
"createdAt": "2026-10-04T15:46:46.000Z",
"language": "en",
"likeCount": 1,
"author": {
"id": "7515677256997897233",
"secUid": "MS4wLjABAAAAkHK4Gl1CANhtMM2LhDtYa1euu5qBpo9Yj237j1kZMOAPwwevYtV009s65-_O2YMh",
"handle": "musawoshammy7",
"nickname": "musawoshammy7",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/24309e8fe403c4969fceb543f9b8ea57~tplv-tiktokx-cropcenter:100:100.jpg?dr=14579&refresh_token=6a20777b&x-expires=1791295200&x-signature=awQ5mb%2BTOy3D%2FtT7KbN9Qui8RaE%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=my2",
"url": "https://www.tiktok.com/@musawoshammy7"
},
"isLikedByCreator": false,
"labels": [],
"images": [
{
"original": {
"url": "https://p19-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-origin.image?dr=8569&refresh_token=b61868e3&x-expires=1793800800&x-signature=M99zexAZHlx5jfntWoPwaUeN70k%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2",
"urls": [
"https://p19-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-origin.image?dr=8569&refresh_token=b61868e3&x-expires=1793800800&x-signature=M99zexAZHlx5jfntWoPwaUeN70k%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2",
"https://p16-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-origin.image?dr=8569&refresh_token=21e92ad9&x-expires=1793800800&x-signature=4t905keIMHNpFjPYxAjG02y%2Bpi8%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2",
"https://p19-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-origin.jpeg?dr=8569&refresh_token=10c60bdc&x-expires=1793800800&x-signature=7eGrwv5hlsk9b7GOpmCxkk%2Fw7e8%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2"
],
"uri": "tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625",
"width": 1920,
"height": 2560
},
"crop": {
"url": "https://p19-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-medium.image?dr=8569&refresh_token=59e5e939&x-expires=1793800800&x-signature=WwF%2BQF7HWpOA9ZaU%2BnqBtXQJAdA%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2",
"urls": [
"https://p19-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-medium.image?dr=8569&refresh_token=59e5e939&x-expires=1793800800&x-signature=WwF%2BQF7HWpOA9ZaU%2BnqBtXQJAdA%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2",
"https://p16-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-medium.image?dr=8569&refresh_token=7bab1a50&x-expires=1793800800&x-signature=5gukFyTR%2FIDMQrR%2BFn1NXwwQzs8%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2",
"https://p19-comment-sign-sg.tiktokcdn.com/tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625~tplv-jj85edgx6n-image-medium.jpeg?dr=8569&refresh_token=a2895cdd&x-expires=1793800800&x-signature=F3zyhGwpvJGqq2WzcNi9cNFvBGU%3D&t=67a6c45e&ps=a0626fcd&shp=ff37627b&shcp=ff37627b&idc=my2"
],
"uri": "tos-alisg-i-zt8igodiya-sg/30340a4f1c5543e0b3b51da194fb2625",
"width": 1920,
"height": 2560
}
}
],
"sticker": null,
"emojis": [],
"isTranslatable": true,
"shareInfo": {
"url": "https://m.tiktok.com/v/7683891628230315295.html?_d=f6004hkm87m931&comment_author_id=7515677256997897233&preview_pb=0&share_comment_id=7692839615614845748&share_item_id=7683891628230315295&sharer_language=en&source=h5_m&u_code=0",
"title": "Presented by @ROLEX. Welcome to Africa 🌍 Africa Earth's Wild Home takes you deep into the heart of our wildest continent, bringing you closer to its animals, landscapes, and the people watching over it than ever before. Through its partnership with the National Geographic Society and as part of its Perpetual Planet Initiative, #Rolex supports expeditions exploring and protecting remarkable places around the world, a selection of which are featured in Africa Earth’s Wild Home. #PerpetualPlanet Africa Earth's Wild Home, narrated by Wunmi Mosaku, premieres Friday, October 2 at 8/7c on National Geographic. Streaming next day on @Disney+ and @hulu.",
"description": "musawoshammy7’s comment: proud ugandan 🇺🇬🇺🇬🇺🇬🇺🇬🇺🇬🇺🇬🇺🇬",
"acl": {
"code": 0,
"addToStoryCode": 0
}
},
"replyCount": 0,
"isPinnedByCreator": false,
"allowsPhotoDownload": true,
"topReply": null
},
{
"id": "7692930736659219207",
"videoId": "7683891628230315295",
"parentId": null,
"replyToId": null,
"text": "love this channel",
"createdAt": "2026-10-04T21:40:34.000Z",
"language": "en",
"likeCount": 0,
"author": {
"id": "7670528725390689287",
"secUid": "MS4wLjABAAAAutaKUaK8R8kooTc2F7FOHisP0Z6I8zw5j0iSPnZ8SS61-IBohiUuZxlR8VNigXN4",
"handle": "claudia.jackson8",
"nickname": "Claudia Jackson",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/4b5bff5d5b3ce020697d01323acb678e~tplv-tiktokx-cropcenter:100:100.jpg?dr=14579&refresh_token=0e386239&x-expires=1791295200&x-signature=V8InNWMQLyVm6OQVHkJSU8mgkp0%3D&t=4d5b0474&ps=13740610&shp=30310797&shcp=ff37627b&idc=my2",
"url": "https://www.tiktok.com/@claudia.jackson8"
},
"isLikedByCreator": false,
"labels": [],
"images": [],
"sticker": null,
"emojis": [],
"isTranslatable": true,
"shareInfo": {
"url": "https://m.tiktok.com/v/7683891628230315295.html?_d=f6004hkm87m931&comment_author_id=7670528725390689287&preview_pb=0&share_comment_id=7692930736659219207&share_item_id=7683891628230315295&sharer_language=en&source=h5_m&u_code=0",
"title": "Presented by @ROLEX. Welcome to Africa 🌍 Africa Earth's Wild Home takes you deep into the heart of our wildest continent, bringing you closer to its animals, landscapes, and the people watching over it than ever before. Through its partnership with the National Geographic Society and as part of its Perpetual Planet Initiative, #Rolex supports expeditions exploring and protecting remarkable places around the world, a selection of which are featured in Africa Earth’s Wild Home. #PerpetualPlanet Africa Earth's Wild Home, narrated by Wunmi Mosaku, premieres Friday, October 2 at 8/7c on National Geographic. Streaming next day on @Disney+ and @hulu.",
"description": "Claudia Jackson’s comment: love this channel",
"acl": {
"code": 0,
"addToStoryCode": 0
}
},
"replyCount": 0,
"isPinnedByCreator": false,
"allowsPhotoDownload": true,
"topReply": null
}
],
"count": 42,
"total": 314,
"cursor": "50",
"hasMore": true,
"fetchedAt": "2026-10-05T14:44:51.004Z"
},
"meta": {
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"creditsCharged": 1,
"creditsRemaining": 4999,
"cached": false
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request was invalid.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "API key required — pass it in the `x-api-key` header.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "This request costs 1 credit, but your balance is 0. Top up to continue.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The requested content was not found (it may not exist, be deleted, or be private).",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"details": [
{
"path": "url",
"message": "Required"
}
]
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded — max 100 requests per 60s. Retry in ~30s.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}{
"error": {
"code": "UPSTREAM_BLOCKED",
"message": "The source is temporarily unavailable. Please try again shortly.",
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f"
}
}cache_max_age) are free.Copy for AI assistant
Copy for AI assistant
I want to make an API call to /v1/tiktok/video/comments. Here are the details:
Endpoint: GET https://api.scraperize.com/v1/tiktok/video/comments
Description: Scrapes the top-level comments on a public TikTok video (or photo post) by URL (`tiktok.com/@user/video/<id>`), about 40 per page in TikTok’s own (relevance) order. Each comment comes with its id, text, created date, detected language, like count, reply count, author (id, secUid, username, nickname, avatar, profile link), whether the creator liked or pinned it, TikTok’s labels (e.g. “Liked by creator”), photo attachments (original + crop, every mirror URL), the sticker (static and animated, at high / mid / low resolution), emoji tokens, the share info (a deep link to the comment, title, description, share permissions), translatable / photo-download flags, its parent and reply-to ids, and the top reply TikTok previews under it. Pass the returned `cursor` to get the next page; it is null on the last page. TikTok re-ranks comments between requests, so a comment can occasionally move across a page boundary. @mentions inside comments appear as plain text.
Required Headers:
- x-api-key: Your API key
Parameters:
- url (string) [required]: The TikTok video URL, e.g. https://www.tiktok.com/@user/video/7683891628230315295.
- cursor (string): The `cursor` from the previous response, to get the next page. Omit for the first page.
- cache_max_age (select): Optional. Return a cached result if one this age or newer exists — served for **0 credits** with `meta.cached=true` and `meta.cachedAt`. Otherwise a fresh scrape runs (**1 credit**) and refreshes the cache. Omit to always scrape fresh.
Example Response:
{
"data": {
"video": {
"id": "7683891628230315295",
"url": "https://www.tiktok.com/@natgeo/video/7683891628230315295",
"handle": "natgeo"
},
"comments": [
{
"id": "7693157583478637364",
"videoId": "7683891628230315295",
"parentId": null,
"replyToId": null,
"text": "Mam Africa",
"createdAt": "2026-10-05T12:20:45.000Z",
"language": "en",
"likeCount": 0,
"author": {
"id": "7334262547589268485",
"secUid": "MS4wLjABAAAAiUlmgtBZ_qAXYaaYFnpo-nJSA63KoabLC2SU3PHumW4hdy8pEG0GOVVLyiQ5nfrH",
"handle": "948135lntd",
"nickname": "👑Elle🫶🏻 lily👑",
"avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/32f51a036d96fc1ee5ac94dd0f6e81ca~tplv-tiktokx-cropcenter:100:100.jpg?dr=14579&refresh_token=a74c53af&x-…",
"url": "https://www.tiktok.com/@948135lntd"
},
"isLikedByCreator": false,
"labels": [],
"images": [],
"sticker": null,
"emojis": [],
"isTranslatable": true,
"shareInfo": {
"url": "https://m.tiktok.com/v/7683891628230315295.html?_d=f6004hkm87m931&comment_author_id=7334262547589268485&preview_pb=0&share_comment_id=7693157583478637364&share_…",
"title": "Presented by @ROLEX. Welcome to Africa 🌍 Africa Earth's Wild Home takes you deep into the heart of our wildest continent, bringing you closer to its animals, l…",
"description": "👑Elle🫶🏻 lily👑’s comment: Mam Africa",
"acl": {
"code": 0,
"addToStoryCode": 0
}
},
"replyCount": 0,
"isPinnedByCreator": false,
"allowsPhotoDownload": true,
"topReply": null
}
],
"count": 42,
"total": 314,
"cursor": "50",
"hasMore": true,
"fetchedAt": "2026-10-05T14:44:51.004Z"
},
"meta": {
"requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
"creditsCharged": 1,
"creditsRemaining": 4999,
"cached": false
}
}
Please help me write code in my preferred programming language to make this API call and handle the response appropriately. Include error handling and best practices.
Authorizations
Your API key. Send it in the x-api-key header (or Authorization: Bearer <key>). Create and manage keys from your dashboard.
Query Parameters
The TikTok video URL, e.g. https://www.tiktok.com/@user/video/7683891628230315295.
The cursor from the previous response, to get the next page. Omit for the first page.
^\d{1,10}$Optional. Return a cached result if one this age or newer exists — served for 0 credits with meta.cached=true and meta.cachedAt. Otherwise a fresh scrape runs (1 credit) and refreshes the cache. Omit to always scrape fresh.
1d, 3d, 7d, 14d, 30d