TikTok Profile Scraper π΅ Videos, Followers & Engagement
Pricing
from $1.30 / 1,000 results
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
Maintained by CommunityActor 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:
| Field | Notes |
|---|---|
π·οΈ handle, displayName | Handle and display name |
π profileUrl | Direct link to the profile |
π bioText | The bio text |
π externalUrl | The link in the bio, normalised to an absolute URL β null when the creator has not set one |
π’ followersCount, followsCount, videosCount | Audience and output, as numbers |
π totalLikes, averageLikesPerVideo | Lifetime likes, and likes per video |
βοΈ followerRatio | Followers divided by following |
β
isVerified, π© isPrivate | Account state |
Video rows (rowType: "video") β the creator's posts, returned by default:
| Field | Notes |
|---|---|
π videoCaption, captionLength | The caption and its length |
π videoUrl | Direct link to the video |
π viewsCount, likesCount, commentsCount, sharesCount, savesCount | Engagement, as numbers |
π engagementRate, engagementTotal | Engagement as a percentage of views, and as a total |
β±οΈ durationSeconds | Video length |
π·οΈ hashtags, mentions | Lifted from the caption's entity list |
π΅ musicTitle, musicAuthor | The sound used |
πΌοΈ coverUrl, playUrl | Cover image and video file |
π
publishedAt | When 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:
| Run | Rows | Cost |
|---|---|---|
| π© 100 creators, videos switched off | 100 | π΅ $0.22 |
| π¨ 10 creators + 50 videos each | 510 | π΅ $1.12 |
| π§ 1 creator + 1,000 videos | 1,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 spend | none |
π How do I use it?
- Add one or more usernames or profile URLs.
- Run as-is β the default returns each creator plus their videos, every row at the same rate.
- Set maximum videos per creator to control how many video rows you get, or switch videos off entirely for profiles alone.
- Optionally set a views, likes or date filter on the videos.
- Run, then export the dataset as JSON, CSV or Excel.
βοΈ Input
| Field | Notes |
|---|---|
π€ usernames | Handles, @handles or profile URLs |
π¬ includeVideos | Collect their videos. On by default |
π’ maxVideosPerCreator | How many videos to return per creator |
π’ minViews, minLikes | Keep only videos above these thresholds |
π
postedAfter, postedBefore | Keep only videos inside this window |
π§ maxScanned | How 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.
| Event | Price | Covers |
|---|---|---|
π result β primary | π΅ $0.0022 | Any row returned, creator or video, at one price |
βΆοΈ apify-actor-start | π΅ $0.00005 | Starting one run, charged once per GB of memory |
| π Link in bio, follower and like counts | β free | On every creator row |
| π Engagement rate on every video | β free | Computed on the row |
| π Filtering and sorting | β free | Filtered-out videos are not charged for |
| β Handles that do not resolve | β free | Reported, 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:
| Event | FREE | BRONZE | SILVER | GOLD |
|---|---|---|---|---|
π 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.