API Description

TikTok Comments API — Collect TikTok comments using the pagination, ordering and filters listed for this operation.

Authenticate with your Pangolinfo API Key to receive structured JSON data.

Request URL

POST https://scrapeapi.pangolinfo.com/api/v1/social/tiktok-comments

Request Headers

ParametersParameter valueTypeDescription
Content-Typeapplication/jsonstringData format
AuthorizationBearer xxxstringAuthorization Token

Collection takes up to approximately 75 seconds. Set your client timeout to 90 seconds.

Request Parameters

ParameterRequiredTypeDescription
targetYesstringTarget URL, supported ID or search keyword for this operation.
optionsNoobjectOptional collection settings, described below.

options Parameters

ParameterRequiredTypeDescription
maxPagesNointegerPages to collect. Default: 1; values above 5 are capped at 5. Must be a positive integer.
Default: 1
Minimum: 1
Maximum: 5
cursorNostringContinuation cursor from the previous response. Pass the value unchanged.
commentIdNostringParent comment identifier. Set this to collect replies instead of root comments.

Only the request parameters listed on this page are used; other fields are ignored. Pass pagination cursors back unchanged, without encoding, decoding or conversion.

One page by default, capped at five per request. Page counts must be positive integers; higher values are capped at five.

A non-empty commentId selects explicit reply mode. Direct replies are billed; Facebook also bills returned nested replies. Continue with the cursor described above.

Response Fields

FieldTypeDescription
codeintegerStatus code; 0 indicates success.
messagestringResponse message; ok on success.
pointCostnumberPoints charged for this request.
dataobjectCollected data, with fields described below.
metaobjectRequest identifier and duration in milliseconds.
billingobjectCharged units, unit price and billing rule version.

data Fields

FieldTypeDescription
typestringResult type.
commentsCountnumber | nullPlatform-reported comment total; not the number billed.
commentsobject[]Root comments in comment mode.
commentIdstringParent comment identifier. Set this to collect replies instead of root comments.
replyCountnumber | nullPlatform-reported reply count.
repliesobject[]Replies in reply mode.
paginationobjectContinuation cursor and whether more results are available.

data.comments[] Fields

FieldTypeDescription
timeTextobject | nullTime text
contentstring | nullContent text; may be null for records without text.
likesnumberLike count.
avatarstring | nullAvatar URL.
nicknamestring | nullAuthor display name.
nativeIdstringNative id
replyCountnumberPlatform-reported reply count.
profileUrlstring | nullAuthor profile URL.
parentIdstring | nullParent post or comment identifier.
replyToReplyIdstring | nullReply to reply id
usernamestring | nullUsername
userIdstring | nullUser id
secUidstring | nullsecUid from the profile; supplying it skips the profile lookup.
verifiedbooleanVerified
languagestring | nullSelected subtitle language.
isAuthorDiggedbooleanIs author digged
isPinnedbooleanIs pinned
imagesstring[]Images
labelsany[]Labels
replysobject[]Nested replies.

data.comments[].timeText Fields

FieldTypeDescription
textstring | nullText value.
valuenumber | nullParsed value.

data.comments[].replys[] Fields

FieldTypeDescription
timeTextobject | nullTime text
contentstring | nullContent text; may be null for records without text.
likesnumberLike count.
avatarstring | nullAvatar URL.
nicknamestring | nullAuthor display name.
nativeIdstringNative id
replyCountnumberPlatform-reported reply count.
profileUrlstring | nullAuthor profile URL.
parentIdstring | nullParent post or comment identifier.
replyToReplyIdstring | nullReply to reply id
usernamestring | nullUsername
userIdstring | nullUser id
secUidstring | nullsecUid from the profile; supplying it skips the profile lookup.
verifiedbooleanVerified
languagestring | nullSelected subtitle language.
isAuthorDiggedbooleanIs author digged
isPinnedbooleanIs pinned
imagesstring[]Images
labelsany[]Labels
replysany[]Nested replies.

data.replies[] Fields

FieldTypeDescription
timeTextobject | nullTime text
contentstring | nullContent text; may be null for records without text.
likesnumberLike count.
avatarstring | nullAvatar URL.
nicknamestring | nullAuthor display name.
nativeIdstringNative id
replyCountnumberPlatform-reported reply count.
profileUrlstring | nullAuthor profile URL.
parentIdstring | nullParent post or comment identifier.
replyToReplyIdstring | nullReply to reply id
usernamestring | nullUsername
userIdstring | nullUser id
secUidstring | nullsecUid from the profile; supplying it skips the profile lookup.
verifiedbooleanVerified
languagestring | nullSelected subtitle language.
isAuthorDiggedbooleanIs author digged
isPinnedbooleanIs pinned
imagesstring[]Images
labelsany[]Labels
replysany[]Nested replies.

Request Example

curl --request POST \
  --url https://scrapeapi.pangolinfo.com/api/v1/social/tiktok-comments \
  --header 'Authorization: Bearer YOUR_PANGOLINFO_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "target": "https://www.tiktok.com/@scout2015/video/6718335390845095173"
}'

Response Example

This excerpt shows the first item of each list. Long text and URLs are shortened; pointCost is the charge for the complete response. The playground contains the full schema.

{
  "code": 0,
  "message": "ok",
  "pointCost": 6.4,
  "data": {
    "type": "comments",
    "commentsCount": 5500,
    "comments": [
      {
        "timeText": {
          "text": "2019-07-27T13:35:22.000Z",
          "value": 1564234522000
        },
        "content": "Well it’s pretty easy...and obvious 😂 hlysa",
        "likes": 340,
        "avatar": "https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/7328085019259748357~tplv-tiktokx-cropcenter:100:100.jpg?dr=10399&refresh_token=f7179828&x-expire...",
        "nickname": "Quit",
        "nativeId": "6718336105873702917",
        "replyCount": 50,
        "profileUrl": "https://www.tiktok.com/@pretzelsticks0",
        "replys": [],
        "parentId": null,
        "replyToReplyId": null,
        "username": "pretzelsticks0",
        "userId": "6627564337508761605",
        "secUid": "MS4wLjABAAAABCmZv8sEMzxVXCLVjoVUMYM465WA0BMplKB9c7y5WWXDpV0OykgbTV3qOf0Jbleg",
        "verified": false,
        "language": "un",
        "isAuthorDigged": true,
        "isPinned": false,
        "images": [],
        "labels": [
          "Liked by creator"
        ]
      }
    ],
    "pagination": {
      "comments": {
        "cursor": "0",
        "hasMore": true
      }
    }
  },
  "meta": {
    "requestId": "pg-audit-r1-tiktok-comments-1793954336215544200",
    "durationMs": 3224
  },
  "billing": {
    "unitPrice": 0.8,
    "ruleVersion": "social-primary-v2",
    "billedCount": 8,
    "pointCost": 6.4
  }
}

Points Usage

0.8 points per root comment; included replies are free. Supported explicit reply modes charge 0.8 points per direct reply; nested replies included with those results are free.

Empty results and failed requests are not charged. Duplicate IDs are counted once within a response. Separate calls and pages are billed separately. See Social Media Reviews API billing.

Try it