Get TikTok profile engagement audit Get TikTok profile engagement audit
GET /v1/tiktok/profiles/{handle}/engagement
x-api-key* string header
API key (`sfk_...`)
handle* string required path
TikTok handle to look up, with or without a leading @.
min 1 chars · max 128 chars
Response fields 66 Expand all Collapse all Collapse all Endpoint-specific response payload.
Whether the profile was resolved. Engagement cannot be calculated for private or not-found profiles.
one of: found, private, not_found
data . canCalculateEngagement
boolean
data . profile . handle
string
data . profile . displayName
string nullable
data . profile . bio
string nullable
data . profile . avatarUrl
string nullable
data . profile . verified
boolean
data . profile . profileUrl
string
data . profile . privateAccount
boolean
data . metrics . followers
number nullable
data . metrics . averageEngagementRatePercent
number nullable
data . metrics . medianEngagementRatePercent
number nullable
data . metrics . averageLikesPerVideo
number nullable
data . metrics . averageCommentsPerVideo
number nullable
data . metrics . averageSharesPerVideo
number nullable
data . metrics . averageViewsPerVideo
number nullable
data . metrics . commentToLikeRatio
number nullable
data . metrics . engagementVolatilityPercent
number nullable
data . metrics . bestVideoId
string nullable
data . metrics . worstVideoId
string nullable
data . metrics . qualityLabel
string nullable
Rough directional band by follower size — not an industry benchmark.
one of: excellent, strong, moderate, low, directional, null
data . metrics . qualityLabelNote
string nullable
data . videos [] . caption
string nullable
data . videos [] . createdAt
string nullable
data . videos [] . likeCount
number nullable
data . videos [] . commentCount
number nullable
data . videos [] . shareCount
number nullable
data . videos [] . saveCount
number nullable
data . videos [] . viewCount
number nullable
data . videos [] . engagementRatePercent
number nullable
(likes + comments + shares) / followers * 100.
data . videos [] . isOutlierHigh
boolean
data . videos [] . isOutlierLow
boolean
data . videos [] . skipReason
string nullable
data . videos [] . videoUrl
string nullable
data . videos [] . pinned
boolean
How many of the recent videos had usable engagement counts.
data . sampleCoverage . totalRecentVideos
integer
data . sampleCoverage . usableVideos
integer
data . sampleCoverage . skippedVideos
integer
data . sampleCoverage . skippedReasons object
data . sampleCoverage . skippedReasons . missingLikes
integer
data . sampleCoverage . skippedReasons . missingComments
integer
data . sampleCoverage . skippedReasons . missingShares
integer
data . sampleCoverage . skippedReasons . missingMultiple
integer
data . formulaDescription
string
data . dataFreshnessNote
string nullable
Best-effort AI-generated narrative over the audit. Null when generation was unavailable or failed — never blocks or fails the request.
data . insight . headlineInsight
string
data . insight . engagementAssessment
string
data . insight . contentPatternObservations array
data . insight . contentPatternObservations []
string optional
data . insight . risksAndCaveats array
data . insight . risksAndCaveats []
string optional
data . insight . recommendedExperiments array
data . insight . recommendedExperiments []
string optional
data . insight . apiUseCaseTeaser
string
Metadata describing the request and billing outcome.
Unique request identifier for tracing this API call.
meta . creditsCharged
integer
Credits charged for this request.
Public API version that served the response.
meta . cached
boolean optional
True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present.