Skip to main content
GET
TikTok Post Comments
Pass a canonical public post url. The current source preserves native comment order. An explicit sort is rejected because this source does not implement the requested ordering. Each response contains one source page in items[].comment, including the comment ID, post ID, author, text, publication time and available like/reply counts. Missing values are null, including reply bodies: a reply count does not mean replies were fetched. Return next_cursor unchanged with the same URL, sort and date filters to continue. Cursors are bound to those inputs and deduplicate earlier pages. The current adapter allows at most three pages or 200 remembered IDs. If more source data remains at that boundary, truncated and source_has_more are true and next_cursor is null. A missing cursor alone does not establish that every historical comment was retrieved. since and until accept inclusive YYYY-MM-DD comment-publication dates. They filter the current source page; a filtered empty page can still have a cursor. Enrichments, reply expansion, classification and scan_pages are unavailable and return 422. This is a changing public window, not a complete archive.
The EnsembleData trial shares 50 provider units per rolling day and stops October 19, 2026 UTC. Failed reservations block source calls. Instagram reserves four units per page, including a fresh shortcode-to-media identity check; TikTok reserves one. These provider units are separate from SocialQuery’s documented customer credit price. No paid source plan or automatic renewal is enabled.
Fresh successful pages use the documented customer credit price; cached responses and successful idempotent replays are free. Malformed or mismatched source responses fail without a net customer charge.

Authorizations

x-api-key
string
header
required

Headers

Cache-Control
string
Idempotency-Key
string
X-Max-Credits
integer

Optional nonnegative integer cap on the maximum request hold. A live request whose hold exceeds this cap returns 422 CREDIT_BUDGET_EXCEEDED before spending. Metered holds use the requested limit; cache hits and successful idempotent replays cost zero.

Required range: x >= 0

Query Parameters

url
string
required
cursor
string
trim
boolean
sort
enum<string>
Available options:
top,
recent
scan_pages
integer
Required range: 1 <= x <= 3
label
string
exclude
string
judgments
enum<string>
Available options:
on,
off
dry_run
enum<string>
Available options:
1
label_evidence
enum<string>
Available options:
1
fit
enum<string>
Available options:
goal
goal
string
fit_tokens
integer
since
string
until
string

Response

Normalized public comment page with explicit continuation and truncation state.

success
boolean
required
platform
string
required
endpoint
string
required
credits_used
integer
required
Required range: x >= 0
credits_remaining
integer | null
required
request_id
string
required
cached
boolean
required
data
object
required

The selected operation determines the resource fields in this object. Source data can omit a metric or report it as null.