API Description

TikTok Search API — Search TikTok content by keyword and return matching results.

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

Request URL

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

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
typeNostringSearch result type.
Values: [“video”, “user”]
cursorNostringContinuation cursor from the previous response. Pass the value unchanged.

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.

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
videosobject[]Videos
usersobject[]Users
countnumberNumber of result items.
paginationobjectContinuation cursor and whether more results are available.

data.videos[] Fields

FieldTypeDescription
workIdstringWork id
parentIdstringParent post or comment identifier.
typestringResult type.
videoIdstringVideo id
urlstringContent URL.
descstring | nullDesc
contentstring | nullContent text; may be null for records without text.
createTimenumber | nullCreate time
createdISOstring | nullCreated iso
publishedAtnumber | nullPublication time.
coverstring | nullCover
playUrlstring | nullPlay url
durationnumber | nullDuration
widthnumber | nullWidth
heightnumber | nullHeight
statsobjectStats
isPinnedbooleanIs pinned
isAdbooleanIs ad
hashtagsstring[]Hashtags
musicobject | nullMusic
authorobjectAuthor

data.videos[].stats Fields

FieldTypeDescription
diggCountnumber | nullDigg count
shareCountnumber | nullShare count
commentCountnumber | nullComment count
playCountnumber | nullPlay count
collectCountnumber | nullCollect count
repostCountnumber | nullRepost count

data.videos[].music Fields

FieldTypeDescription
idstringRecord identifier.
titlestring | nullTitle
authorNamestring | nullAuthor name

data.videos[].author Fields

FieldTypeDescription
idstring | nullRecord identifier.
uniqueIdstring | nullUnique id
nicknamestring | nullAuthor display name.
secUidstring | nullsecUid from the profile; supplying it skips the profile lookup.
avatarstring | nullAvatar URL.
verifiedbooleanVerified
privateAccountbooleanPrivate account
profileUrlstring | nullAuthor profile URL.

data.users[] Fields

FieldTypeDescription
userIdstringUser id
secUidstring | nullsecUid from the profile; supplying it skips the profile lookup.
usernamestring | nullUsername
nicknamestring | nullAuthor display name.
signaturestring | nullSignature
avatarstring | nullAvatar URL.
profileUrlstring | nullAuthor profile URL.
followersCountnumber | nullFollowers count
likesCountnumber | nullLikes count
verifyReasonstring | nullVerify reason

data.pagination Fields

FieldTypeDescription
cursorstring | nullContinuation cursor from the previous response. Pass the value unchanged.
hasMorebooleanWhether more results are available.

Request Example

curl --request POST \
  --url https://scrapeapi.pangolinfo.com/api/v1/social/tiktok-search \
  --header 'Authorization: Bearer YOUR_PANGOLINFO_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "target": "cat"
}'

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": 8.8,
  "data": {
    "videos": [
      {
        "workId": "7704275624587840790",
        "parentId": "7693181669365236758",
        "type": "video",
        "videoId": "7704275624587840790",
        "url": "https://www.tiktok.com/@dream_life_daily/video/7704275624587840790",
        "desc": "funny kitten videos #tiktokgrowthchallenge #cat #funnycat #funnycatsoftiktok #fyp ",
        "content": "funny kitten videos #tiktokgrowthchallenge #cat #funnycat #funnycatsoftiktok #fyp ",
        "createTime": 1793791461,
        "createdISO": "2026-11-04T11:24:21.000Z",
        "publishedAt": 1793791461000,
        "cover": "https://p16-common-sign.tiktokcdn.com/tos-no1a-p-0037-no/osK5Eh36gNzRAIseqvQ3XVF0EpFWkxfKBEBEDB~tplv-tiktokx-origin.image?dr=14575&x-expires=1794124800&x-sig...",
        "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/no1a/tos-no1a-ve-0068c001-no/osvBsEvrOTZ0iEYuaAIKirCU2QgwaSiFBBP5i/?a=1988&bti=ODszNWYuMDE6&&bt=1399&ft=-Csk_mm...",
        "duration": 61,
        "width": 576,
        "height": 1024,
        "stats": {
          "diggCount": 279,
          "shareCount": 88,
          "commentCount": 5,
          "playCount": 4187,
          "collectCount": 37,
          "repostCount": 0
        },
        "isPinned": false,
        "isAd": false,
        "hashtags": [
          "tiktokgrowthchallenge"
        ],
        "music": {
          "id": "7704275646259694358",
          "title": "original sound",
          "authorName": "Funny Binge"
        },
        "author": {
          "id": "7693181669365236758",
          "uniqueId": "dream_life_daily",
          "nickname": "Funny Binge",
          "secUid": "MS4wLjABAAAAH-V48G3lzu90zM792LdzPCC321Svtn_2TNYk2kbmyrVrcsWfRWBkYMnKtcVlGr3e",
          "avatar": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/8f57b1ffd6e9df98ee3da66220a77d18~tplv-tiktokx-cropcenter:720:720.jpeg?dr=14579&refresh_token=3fabaa...",
          "verified": false,
          "privateAccount": false,
          "profileUrl": "https://www.tiktok.com/@dream_life_daily"
        }
      }
    ],
    "users": [],
    "count": 11,
    "pagination": {
      "cursor": "12:202611061639069A8AEB72879A3B072285",
      "hasMore": true
    }
  },
  "meta": {
    "requestId": "pg-audit-r1-tiktok-search-1793954343843401000",
    "durationMs": 4478
  },
  "billing": {
    "unitPrice": 0.8,
    "ruleVersion": "social-primary-v2",
    "billedCount": 11,
    "pointCost": 8.8
  }
}

Points Usage

0.8 points per primary result.

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