Poll an async TikTok profile scrape task and retrieve a cursor-paginated page of videos.
Cursor pagination: The cursor encodes an absolute offset, so it is safe to change limit between calls without skipping or duplicating videos. Pass the next_cursor returned from a previous response as cursor in the next request. Omit cursor to start from the beginning.
TTL: Tasks (and their download_url availability) expire ~1 hour after creation. Poll while task_status is processing, and switch to download_url for very large profiles.
This endpoint does not consume credits.
POST /tiktok/profile.
It serves three purposes:
download_url for the full JSON result when available| Parameter | In | Required | Description |
|---|---|---|---|
task_id | path | Yes | Task ID returned by POST /tiktok/profile |
cursor | query | No | Opaque pagination cursor from a previous response |
limit | query | No | Maximum number of videos to return, between 1 and 500. Default is 50. |
limit between requests without skipping or duplicating videos.
Typical flow:
cursor.data.pagination.next_cursor.cursor.has_next is false.task_status field will be one of:
processing: the scrape is still runningcompleted: the scrape finished and results are readyfailed: the scrape ended with an errorprofile may be nullvideos will be emptydownload_url will usually be nullvideos contains a cursor-paginated page of matching postspagination tells you whether more pages existdownload_url may contain a temporary signed URL for the full JSON resultprofilestatsvideos_scanned: total TikTok entries iterated before filteringvideos_matched: entries that passed your filterspages_consumed: estimated number of TikTok API pages fetched during the scrapevideosidtitledescriptiontimestampviewslikescommentsurldownload_urlnull, either:
videos instead400 invalid_cursor: the supplied cursor is invalid404 task_not_found: task does not exist, expired, or does not belong to the current usertask_status is processingdownload_url for large completed jobsdownload_urlexpires_at value to avoid polling a task after it has already expiredAPI key authentication. Include your VidNavigator API key in the X-API-Key header.
ID returned by POST /tiktok/profile.
Opaque pagination cursor returned as next_cursor from the previous response. Omit to fetch the first page.
Maximum number of videos to include in the response.
1 <= x <= 500