Skip to main content
GET
List a TikTok profile’s public playlists
Pass a handle (with or without @) or a numeric user_id. If both are supplied, both must match the resolved public profile. Costs 1 credit on a successful nonempty response. Errors, empty directories, cache hits and successful idempotent replays cost zero. Use X-Max-Credits: 1 to cap the charge. The response contains each playlist’s native ID, name and post.ext.video_count, in source order. It resolves the profile first, verifies playlist ownership, then walks the available directory to its end. The request is bounded to three pages of 30 playlists and 45 seconds. A directory that exceeds this ceiling returns an uncharged 503 LOOKUP_SCAN_LIMIT; it is never presented as a complete partial list. total counts the returned available directory, not private or deleted playlists. The source does not publish playlist timestamps or engagement totals. Those fields, verification badges and computed estimates remain null. since and until accept calendar dates or ISO timestamps with timezones; undated rows are retained. Date aliases published_after, start_date, from_date, published_before, end_date and to_date must agree with explicit bounds. Relative publish_time and max_age_days bounds are also accepted. Because playlist dates are unknown, these filters usually retain the whole directory. This endpoint supplies playlist metadata. Video playback through /v1/tiktok/playlist/videos remains unavailable: a tested source media URL returned 403. It is not advertised as a working download route. Source: TikHub public API, using the existing free-trial allowance shared with comment lookup. Trial limits are finite. Successful directories may be cached for five minutes; Cache-Control: no-cache requests a fresh read.

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

handle
string
user_id
string
since
string
until
string
published_after
string

Date-filter alias. Undated playlist rows are kept. Explicit date aliases must agree. publish_time accepts yesterday, this-week, this-month, last-3-months or last-6-months; max_age_days accepts 0–36500.

start_date
string

Date-filter alias. Undated playlist rows are kept. Explicit date aliases must agree. publish_time accepts yesterday, this-week, this-month, last-3-months or last-6-months; max_age_days accepts 0–36500.

from_date
string

Date-filter alias. Undated playlist rows are kept. Explicit date aliases must agree. publish_time accepts yesterday, this-week, this-month, last-3-months or last-6-months; max_age_days accepts 0–36500.

published_before
string

Date-filter alias. Undated playlist rows are kept. Explicit date aliases must agree. publish_time accepts yesterday, this-week, this-month, last-3-months or last-6-months; max_age_days accepts 0–36500.

end_date
string

Date-filter alias. Undated playlist rows are kept. Explicit date aliases must agree. publish_time accepts yesterday, this-week, this-month, last-3-months or last-6-months; max_age_days accepts 0–36500.

to_date
string

Date-filter alias. Undated playlist rows are kept. Explicit date aliases must agree. publish_time accepts yesterday, this-week, this-month, last-3-months or last-6-months; max_age_days accepts 0–36500.

publish_time
string

Date-filter alias. Undated playlist rows are kept. Explicit date aliases must agree. publish_time accepts yesterday, this-week, this-month, last-3-months or last-6-months; max_age_days accepts 0–36500.

max_age_days
string

Date-filter alias. Undated playlist rows are kept. Explicit date aliases must agree. publish_time accepts yesterday, this-week, this-month, last-3-months or last-6-months; max_age_days accepts 0–36500.

Response

List the complete available public playlist directory for a corroborated TikTok handle or numeric user ID. Each playlist preserves its source ID, name and video count. Reads at most three 30-playlist pages after resolving the profile, within 45 seconds. An unfinished directory fails uncharged instead of returning a partial list. Dates and engagement are unavailable and remain null; undated playlists are kept under date filters. This endpoint does not return playable video files.

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.