tiktok_profile reads up to 1,000 TikTok profiles per job. By default it returns one profile row per handle; with
resultsPerPage it returns each profile’s latest posts instead. One result is one row.
Run it
gofetch-client 0.8.0 does not list
tiktok_profile yet. client.actor("tiktok_profile") works, and Python prints
a UserWarning: Unknown actor URL 'tiktok_profile', passing through as scraper type you can ignore.Inputs
shouldDownloadVideos and the other download flags are accepted for compatibility and do nothing: this scraper
returns TikTok’s links, not stored copies, and mediaUrls is always empty.
Output
Rows come back in the order the handles finish, not the order you sent them: match them oninput. A real profile
row for @nasa:
Profile row:
id (the account’s id), text (always null), input, fromProfileSection, authorMeta, and
profileScrapeNote when there is something to explain: private account — posts are not accessible,
profile has no posts, no posts matched the filters, or a note that the profile was found through search and its
bioLink and commerce fields are not available. On such a row, a 0 count means unknown.
authorMeta: id, name (handle), nickName, profileUrl, verified, signature (bio), bioLink, avatar,
originalAvatarUrl, privateAccount, region, roomId, ttSeller, commerceUserInfo, createTime, and counts
fans (followers), following, friends, heart (likes received), video, digg (likes given). Avatar links
expire.
Post row: id, text, textLanguage, createTime, createTimeISO, webVideoUrl, diggCount,
shareCount, playCount, collectCount, commentCount, repostCount, mentions, detailedMentions,
hashtags (each {"name": ...}), musicMeta, videoMeta, isSlideshow, isPinned, isAd, isSponsored,
input, fromProfileSection, and authorMeta of the profile you asked for. Slideshows add slideshowImageLinks;
tagged posts add locationMeta. A post on two of your profiles is returned once.
Error row: {"input", "error", "detail"}. error is not_found (deleted or never existed), banned
(suspended), blocked (TikTok refused every attempt) or error. detail is a sentence for people, for example
Profile @nasa could not be fetched: blocked by TikTok. Retry the job., or Profile @nasa could not be fetched. Retry the job. when the request failed on the way; it ends in (HTTP 429) when TikTok rate-limited it. Branch on
error, not on detail.
What logged-out means here
You get: each public profile’s details and counts, and its latest public posts. Not available:- The posts of private accounts. Their profile row comes back, with
privateAccount: true. - Profiles TikTok withholds from signed-out visitors, unless search finds them; those that stay hidden return a
blockedrow, not billed.
error_code BLOCKED, when every handle was blocked or nothing billable
was collected. With one handle, the job completes with its blocked row.
Completeness
scraper_metadata.completeness adds up per handle: