TikTok Profile Scraper 🎡 Videos, Followers & Engagement avatar

TikTok Profile Scraper 🎡 Videos, Followers & Engagement

Pricing

from $1.30 / 1,000 results

Go to Apify Store
TikTok Profile Scraper 🎡 Videos, Followers & Engagement

TikTok Profile Scraper 🎡 Videos, Followers & Engagement

Scrape any TikTok creator profile plus their videos. Followers, likes, views, comments, shares, hashtags, music and engagement rate on every row. Paste handles or profile URLs. Export to JSON, CSV or Excel. No login, no cookies, no API key.

Pricing

from $1.30 / 1,000 results

Rating

5.0

(1)

Developer

GatherWorks

GatherWorks

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Give it a TikTok handle and get the creator plus their videos β€” followers, likes, bio link and verification on a clean row per handle, then every post with views, shares, hashtags, music and a calculated engagement rate.

No account, no cookies, no API key. Paste handles and run.


πŸ” What is the TikTok Profile Scraper?

Give it handles β€” tiktok, @tiktok or a full profile URL, all normalised for you. Every run returns the creator profile:

  • πŸ‘€ followers, following, total likes, video count, bio and verification
  • πŸ”— the link in the bio, normalised to a real URL
  • πŸ“Š average likes per video and a follower-to-following ratio

…and, in the same run, each creator's videos, with views, likes, comments, shares, saves, a per-video engagement rate, and the hashtags and music lifted out of each one. Every row costs the same, so there is nothing to weigh up β€” if you only want the profiles, switch videos off and stop paying for them.

⚑ What can it do?

  • πŸ‘₯ Take many creators at once and return one dataset covering all of them.
  • πŸ”— Get the link in the bio on every creator row, normalised to an absolute URL rather than the display text the creator typed.
  • πŸ“Š Rank by engagement, not follower count. Every creator carries an average-likes-per-video, and every video carries its own engagement rate.
  • πŸ”’ Filter by views or likes and ignore the long tail.
  • πŸ“… Filter by date. Keep only videos inside a window you set.
  • 🚧 Cap how far a filter searches, so a narrow filter stops rather than running away with your budget.
  • πŸ”Ž Filter before you pay. A video that does not match is never stored and never charged for.
  • πŸ“„ Export anywhere. JSON, CSV, Excel β€” the dataset is yours.

The filters and the scan cap decide which videos are kept. Switch videos off and a run returns creator profiles alone.

🎯 Engagement rate, calculated for you

Follower counts flatter dead accounts. Every video row carries engagementRate β€” likes, comments and shares as a percentage of views β€” and every creator carries averageLikesPerVideo. Those two columns are what separate a creator worth paying from one with a big number next to their name, and you get both without exporting to a spreadsheet first.

⚑ Speed and accuracy

Speed. Measured on real runs: 1 creator with 8 videos in 5 seconds, and 3 creators in 3 seconds with videos switched off.

Accuracy. Handles are normalised, so tiktok, @tiktok and a full profile URL resolve to the same creator and are collected once. Counts are numbers, not display text β€” no 1.2M strings to parse. Timestamps are ISO 8601. Engagement rate is computed from the raw counts on the same row, so you can check it. Hashtags come from the video's own entity list rather than a regex over the caption. A handle that does not resolve is reported and skipped rather than returned empty.

πŸ“Š What data does it return?

Creator rows (rowType: "creator") β€” one per handle, on every run:

FieldNotes
🏷️ handle, displayNameHandle and display name
πŸ”— profileUrlDirect link to the profile
πŸ“ bioTextThe bio text
πŸ”— externalUrlThe link in the bio, normalised to an absolute URL β€” null when the creator has not set one
πŸ”’ followersCount, followsCount, videosCountAudience and output, as numbers
πŸ“Š totalLikes, averageLikesPerVideoLifetime likes, and likes per video
βš–οΈ followerRatioFollowers divided by following
βœ… isVerified, 🚩 isPrivateAccount state

Video rows (rowType: "video") β€” the creator's posts, returned by default:

FieldNotes
πŸ“ videoCaption, captionLengthThe caption and its length
πŸ”— videoUrlDirect link to the video
πŸ“Š viewsCount, likesCount, commentsCount, sharesCount, savesCountEngagement, as numbers
πŸ“ˆ engagementRate, engagementTotalEngagement as a percentage of views, and as a total
⏱️ durationSecondsVideo length
🏷️ hashtags, mentionsLifted from the caption's entity list
🎡 musicTitle, musicAuthorThe sound used
πŸ–ΌοΈ coverUrl, playUrlCover image and video file
πŸ“… publishedAtWhen it was posted, ISO 8601

🚫 What it does not return

  • Anything from a private account. Its videos are not publicly visible.
  • Follower lists. Audience size is a number; the individual followers are not returned.
  • Analytics only the account owner can see β€” watch time, audience demographics, traffic sources.
  • Deleted or region-blocked videos.

πŸ’° How much does it cost?

You pay per row, for what the run actually produces β€” never for runtime, and never on a subscription.

πŸ’΅ $0.0022 per row. One price for everything the run returns, creator rows and video rows alike:

RunRowsCost
🟩 100 creators, videos switched off100πŸ’΅ $0.22
🟨 10 creators + 50 videos each510πŸ’΅ $1.12
🟧 1 creator + 1,000 videos1,001πŸ’΅ $2.20

A handle that does not resolve is free. So is a video your filters remove. A month you do not run it costs nothing at all β€” there is no plan to keep alive.

What you get for that

Included here
πŸ“ˆ Engagement rate computed per videoβœ… free
πŸ“Š Average likes per video, per creatorβœ… free
🏷️ Hashtags and mentions as arraysβœ… free
🎡 Music title and authorβœ… free
πŸ”Ž View, like and date filtersβœ… free
πŸ’³ Minimum spendnone

πŸš€ How do I use it?

  1. Add one or more usernames or profile URLs.
  2. Run as-is β€” the default returns each creator plus their videos, every row at the same rate.
  3. Set maximum videos per creator to control how many video rows you get, or switch videos off entirely for profiles alone.
  4. Optionally set a views, likes or date filter on the videos.
  5. Run, then export the dataset as JSON, CSV or Excel.

βš™οΈ Input

FieldNotes
πŸ‘€ usernamesHandles, @handles or profile URLs
🎬 includeVideosCollect their videos. On by default
πŸ”’ maxVideosPerCreatorHow many videos to return per creator
πŸ”’ minViews, minLikesKeep only videos above these thresholds
πŸ“… postedAfter, postedBeforeKeep only videos inside this window
🚧 maxScannedHow far a filter may search before stopping
{
"usernames": ["tiktok", "@khaby.lame"],
"includeVideos": true,
"maxVideosPerCreator": 50,
"minViews": 10000
}

πŸ“„ Output example

A real creator row, captured from a live run:

{
"rowType": "creator",
"handle": "gordonramsayofficial",
"displayName": "Gordon Ramsay",
"profileUrl": "https://www.tiktok.com/@gordonramsayofficial",
"bioText": "I cook sometimes too.....",
"externalUrl": "https://GordonRamsay.com/",
"followersCount": 40700000,
"followsCount": 572,
"videosCount": 709,
"totalLikes": 729600000,
"averageLikesPerVideo": 1029055,
"followerRatio": 71153.85,
"isVerified": true
}

Each creator is then followed by their video rows:

{
"rowType": "video",
"videoUrl": "https://www.tiktok.com/@tiktok/video/7679101730352565535",
"viewsCount": 80757,
"likesCount": 1888,
"engagementRate": 3.101,
"musicTitle": "original sound - tiktok",
"durationSeconds": 62,
"authorHandle": "tiktok"
}

❓ Frequently asked questions

Do I need a TikTok account? No. No account, no cookies, no API key.

What forms of username work? tiktok, @tiktok, and https://www.tiktok.com/@tiktok all resolve to the same creator.

How is engagement rate calculated? Likes plus comments plus shares, divided by views, as a percentage. The raw counts are on the same row so you can check it.

Does it return videos? Yes, by default. A plain run returns one profile row per handle followed by that creator's videos, and every row costs the same. Turn includeVideos off if you only want the profiles.

Can I get the comments on a video? That is a different job β€” use the TikTok Video Scraper, which takes video URLs.

🏷️ Pricing

Pay per event β€” you are charged for output, not for platform time.

EventPriceCovers
πŸ“„ result β€” primaryπŸ’΅ $0.0022Any row returned, creator or video, at one price
▢️ apify-actor-startπŸ’΅ $0.00005Starting one run, charged once per GB of memory
πŸ”— Link in bio, follower and like countsβœ… freeOn every creator row
πŸ“ˆ Engagement rate on every videoβœ… freeComputed on the row
πŸ”Ž Filtering and sortingβœ… freeFiltered-out videos are not charged for
❌ Handles that do not resolveβœ… freeReported, never charged

One event, one price. A creator row and a video row cost exactly the same, so there is nothing to work out in advance: count the rows you expect and multiply.

πŸ… Rates by tier

The prices above are the standard rate. Higher Apify plans are billed at the discounted tiers below, automatically:

EventFREEBRONZESILVERGOLD
πŸ“„ resultπŸ’΅ $0.0022πŸ’΅ $0.0019πŸ’΅ $0.0016πŸ’΅ $0.0013
▢️ apify-actor-startπŸ’΅ $0.00005πŸ’΅ $0.00005πŸ’΅ $0.00005πŸ’΅ $0.00005

πŸ›‘ You are never billed past your limit

Set a maximum charge on the run and the Actor stops when it reaches it, with every creator collected up to that point complete and saved. Filtered-out videos are never stored and never billed.