All guides

How to scrape TikTok Profile

TikTok public profiles and latest posts: followers, likes, video count, bio, bio link, emails and links in bio, verified, business category, plus each recent video's plays, likes, comments, shares, saves, hashtags, music and engagement rate. Video URLs too. No login.

Open TikTok Profile Scraper on Apify

Turn any public TikTok account into clean rows: followers, following, total likes, video count, verified badge, bio, link in bio, emails and links written in the bio, business category and account creation date, plus the latest posts with views, likes, comments, shares, saves, post date, hashtags, mentions, music, duration and engagement rate. Paste usernames, profile URLs or video URLs. Public pages only. No login, no cookies.

What it outputs

Post rows (type: "post"):

Field Meaning
id, webVideoUrl Video ID and public URL
text Caption
createTime, createTimeISO When it was posted
playCount, diggCount, commentCount, shareCount, collectCount Views, likes, comments, shares, saves
engagementRate (likes + comments + shares) / views, percent
hashtags, mentions From the caption
likelyPinned Post looks pinned (older than the posts after it)
isAd, isSlideshow, isAiGenerated, textLanguage, locationCreated Flags TikTok publishes
videoMeta duration, height, width, definition, format, coverUrl, subtitle languages
musicMeta musicId, musicName, musicAuthor, musicOriginal, musicAlbum
authorMeta The full author profile (see below)
detailsLoaded, input, scrapedAt Row provenance

Profile rows (type: "profile", or nested as authorMeta):

Field Meaning
username / name, nickName, id, secUid, profileUrl Identity
fans, following, heart, video, digg, friends Followers, following, total likes, videos, liked videos, friends
verified, privateAccount, isOrganization, ttSeller, commerceCategory Account flags and business category
signature Bio text
bioLink Link in bio as a full URL
bioEmails, bioUrls Emails and other links written in the bio
avatar, accountCreateTimeISO, language Avatar URL, account creation date, language
avgPlaysLatest, medianPlaysLatest, avgEngagementRateLatest Performance of the latest posts read
lastPostTimeISO, postsPerWeekLatest Activity
latestPosts id, url, caption, views and date of each latest post
fansChange, heartChange, fansLastRun, lastRunAt Monitor mode only

Example input

{
  "profiles": ["natgeo", "nba"],
  "resultsPerPage": 10,
  "resultsType": "posts",
  "includeVideoDetails": true
}

FAQ

Do I need a TikTok account or cookies?

No. Only public pages are read.

How many posts per profile?

Up to about 10-13, TikTok's public limit. Set resultsPerPage lower to save money.

Can I get emails?

If the creator wrote an email in the bio, it is in bioEmails. The link in bio is in bioLink. Nothing hidden is accessed.

What is engagement rate?

(likes + comments + shares) / views, in percent, per post; profile rows average it over the latest posts.

How do I track a creator?

Turn on monitor mode and schedule the actor daily. You get only new posts, and profile rows carry fansChange since the last run.

Does it download videos?

No. It returns cover image URLs and metadata only.

Where do I run it?

On Apify: https://apify.com/transparent_meteorite/tiktok-public-profile-scraper. Check the Pricing tab there for current prices.

Try TikTok Profile Scraper on Apify