TikTok Profile Scraper | Followers, Following & Bio Emails
Pricing
from $0.50 / 1,000 tiktok profiles
TikTok Profile Scraper | Followers, Following & Bio Emails
Scrape TikTok profiles with follower, following, heart and video counts, bio text, bio links and extracted emails. Pull full follower and following lists, and track follower growth between runs.
Pricing
from $0.50 / 1,000 tiktok profiles
Rating
0.0
(0)
Developer
Corvuslab
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
3 days ago
Last modified
Categories
Share
Turn any TikTok account into structured data — follower and heart counts, bio text, bio links, emails pulled out of the bio, and the full list of who follows them. Paste handles or profile URLs, press Start, and get JSON, CSV or Excel back. No proxy to configure.
What does TikTok Profile Scraper do?
It reads TikTok accounts and returns them as flat, joinable records.
Give it a handle (@tiktok) or a profile URL and you get that account's metadata: display name, bio, bio link, verification, account age, follower count, following count, total likes received, and how many videos it has posted. Turn on Scrape followers and it also walks that account's follower list, returning one full record per follower — with their stats and bio, not just a username. Scrape following does the same for the accounts the profile follows.
That second part is what makes this more than a lookup tool. A follower record carries the same fields as a profile record, so a single run can hand you an entire audience as a spreadsheet: 5,000 accounts with their follower counts, bios and contact details, each tagged with whose list it came from.
Emails and links are extracted from every bio automatically into extractedEmails, extractedPhones, extractedUrls and socialProfiles, so creator outreach lists come out ready to use instead of needing a second pass over the bio text.
What data can you extract from a TikTok profile?
Every record — whether it is an account you asked for or one of its followers — carries the same fields:
| Field | Description |
|---|---|
uniqueId | The @handle, without the @ |
nickname | Display name |
id | TikTok's internal user ID, stable across handle changes |
secUid | TikTok's secondary user ID — the identifier its own endpoints accept, so you can re-query this account yourself |
url | Link to the profile |
signature | Bio text |
bioLink | The clickable link in the bio |
verified | Blue-check status |
privateAccount | Whether the account is private |
followerCount | Followers |
followingCount | Accounts this profile follows |
heartCount | Total likes received across all videos |
videoCount | Public videos posted |
diggCount | Likes this account has given out |
friendCount | Mutual follows |
createTime / createTimeISO | When the account was created |
avatar / avatarThumb | Profile picture, full size and thumbnail |
commerceUser / ttSeller | Business account and TikTok Shop seller flags |
isOrganization | Official organization or brand account |
language | The account's declared language, e.g. en |
isLive | The account was live-streaming at the moment it was scraped |
nicknameModifiedAt / handleModifiedAt | When the display name and @handle were last changed — a rebrand signal |
extractedEmails | Emails found in the bio |
extractedPhones | Phone numbers found in the bio |
extractedUrls | Links found in the bio and bio link |
socialProfiles | Instagram, YouTube, LinkedIn and other handles found in the bio |
dataType | profile, follower or following |
relationTo | For follower/following records: whose list this account came from |
changeType | In monitoring mode: NEW, UPDATED, UNCHANGED or EXPIRED |
Six of these come only from the profile page itself: isOrganization, language, isLive, nicknameModifiedAt, handleModifiedAt and commerceUser. TikTok does not report them on a follower or following list, so those records carry null rather than a false that would read as a checked answer. Everything else — including secUid — is on every record. To resolve them for an account you found in a follower list, feed that handle back in as a profile.
heartCount is the field most worth understanding: it is lifetime likes across every video the account has posted, which is a far better measure of whether an audience actually engages than follower count on its own. Divide it by videoCount and you have an average-likes-per-video figure you can rank a list of creators by.
Key features
- Followers and following in one actor. Most tools split these into separate listings. Here they are two checkboxes on the same run.
- Full records, not usernames. Each follower arrives with their own follower count, bio, verification and engagement totals, so you can filter an audience without a second scrape.
- Emails and links pulled out of bios into their own fields, ready for outreach.
- Lead filters — minimum and maximum follower counts, verified-only, and "must have an email in the bio" — applied while the run is in progress.
- Growth monitoring. Run it on a schedule and get only the accounts whose numbers moved, each tagged with what changed.
- Unfollow detection. Track a follower list over time and accounts that disappear come back as
EXPIREDrecords. - Alerts to Telegram, Slack, Discord or any webhook.
- No proxy required. Leave the proxy setting alone and the run works.
- Custom map function to reshape records before they are saved.
- Clean exports — JSON, CSV, Excel, XML, or straight into your own systems via the API.
How to scrape a TikTok profile
- Open the actor. Profile URLs comes prefilled with an example, so you can press Start immediately and see real output.
- Replace it with the accounts you want. Full URLs (
https://www.tiktok.com/@khaby.lame) and bare handles (khaby.lame,@khaby.lame) both work, one per line. - To collect audiences, turn on Scrape followers and set Followers per profile. Start small — 30 or 60 — to see the shape of the output before you scale up to the 5,000 maximum.
- Optionally set Minimum followers or Require contact details to keep only the accounts worth acting on.
- Set Max results to cap the whole run, then press Start.
Leave Proxy configuration switched off. This actor does not need one, and turning it on only slows the run down.
Input
{"profileUrls": ["https://www.tiktok.com/@khaby.lame","@tiktok"],"includeFollowers": true,"followersPerProfile": 500,"minFollowers": 1000,"requireContact": "email","maxResults": 1000}
That run reads both accounts, walks up to 500 followers of each, and keeps only followers with at least 1,000 followers of their own and an email address in their bio — a creator-outreach list built in one pass.
The accounts you name yourself are always returned in full. Filters apply only to follower and following records, so a strict filter can never leave you with an empty dataset and no idea why.
Other inputs worth knowing: Scrape following and Following per profile for the outbound list, Verified accounts only, Start URLs if you prefer one mixed list of links, and Compact records to trim every record down to the core fields for AI agents and MCP clients.
Output
One record per account. This is a real profile record:
{"id": "127905465618821121","secUid": "MS4wLjABAAAAv3zolJLlWp-WbKXqSZwVSflDdwcbjPADRG-dhb68k30","uniqueId": "khaby.lame","nickname": "Khabane lame","url": "https://www.tiktok.com/@khaby.lame","signature": "Se vuoi ridere sei nel posto giusto If u wanna laugh u r in the right place","bioLink": null,"verified": true,"privateAccount": false,"createTime": 1470866554,"createTimeISO": "2016-08-10T22:02:34+00:00","followerCount": 162810090,"followingCount": 81,"heartCount": 2672524185,"videoCount": 1352,"diggCount": 0,"friendCount": 77,"commerceUser": false,"ttSeller": false,"isOrganization": false,"language": "it","isLive": false,"nicknameModifiedAt": "2021-03-14T09:12:05+00:00","handleModifiedAt": null,"dataType": "profile","source": "tiktok.com","scrapedAt": "2026-09-13T15:25:02.099912+00:00"}
A follower record looks the same, plus three fields that say where it came from:
{"id": "7502842562769847304","uniqueId": "creator_example","nickname": "Creator Example","url": "https://www.tiktok.com/@creator_example","signature": "collabs: hello@example.com","followerCount": 14620,"heartCount": 656000,"videoCount": 1196,"extractedEmails": ["hello@example.com"],"isOrganization": null,"language": null,"isLive": null,"dataType": "follower","relationTo": "khaby.lame","relationToId": "127905465618821121","relationToUrl": "https://www.tiktok.com/@khaby.lame"}
Because relationTo is on every row, you can scrape the followers of several accounts in one run and still separate the audiences afterwards — or intersect them to find the people who follow all of your competitors.
How can you monitor a TikTok profile over time?
Turn on Incremental mode. The actor remembers what it saw last time and compares each run against it.
Records come back tagged with a changeType: NEW for accounts it has not seen before, UPDATED for ones whose follower, likes or video counts moved, and UNCHANGED for the rest — which are hidden by default, so a scheduled run returns only movement.
Turn on Report accounts that disappeared and you also get EXPIRED records: an account that was in a follower list last week and is not there now. That is an unfollow, and it is the signal that is hardest to get any other way.
Give related runs the same State key to keep them on one shared history, or leave it empty and one is derived from your input automatically.
What alerts and notifications are available?
Fill in any of the notification fields and matching records are pushed out as they are found:
- Telegram — a bot token from @BotFather plus your chat or channel ID.
- Slack — an incoming-webhook URL.
- Discord — an incoming-webhook URL.
- Any webhook — an HTTPS endpoint that receives a JSON POST, which is how you wire this into n8n, Make or Zapier.
Every channel is off unless you fill it in, and a failing notification never breaks the run. Combined with monitoring mode and a schedule, this gives you a follower-growth alert without writing any code.
What can you do with TikTok profile data?
- Influencer discovery and vetting — pull a shortlist of creators and rank them on real engagement rather than follower count alone.
- Creator outreach lists — scrape the followers of an account in your niche, filter to those with an email in their bio, and export straight to your CRM.
- Audience overlap analysis — scrape the followers of several accounts and find the people who follow all of them.
- Competitor tracking — watch a rival's follower count, posting volume and bio link on a schedule, and get alerted when any of it changes.
- Campaign measurement — snapshot a creator's numbers before and after a campaign and measure what actually moved.
- Lead generation — business accounts and TikTok Shop sellers are flagged, and their contact details are extracted for you.
- Academic and market research — build a reproducible dataset of accounts in a category, with timestamps on every record.
How much does it cost to scrape TikTok profiles?
Pricing is pay-per-event and shown live on this actor's Store page. There are two kinds of record: the accounts you name, and the follower or following records collected underneath them. Each is priced for its own lane, so a run that only looks up a handful of profiles does not pay audience-scale prices.
The practical lever is Max results, which caps the total number of records a run can produce, and Followers per profile, which stops one huge account from consuming the whole budget. Set both before scaling a job up. You can also set a maximum spend per run in the actor's run options, and the actor stops cleanly when it is reached rather than overshooting.
Leaving the proxy off is the other saving — it is off by default, and it should stay that way unless you have a specific reason.
Integrations and export options
Results land in a standard Apify dataset, which you can download as JSON, CSV, Excel, XML or JSONL, or read through the API. From there the usual integrations apply: Zapier, Make, n8n, Airbyte, Google Sheets, and the webhook field above for anything else.
For AI workflows, Compact records trims each record to the core fields — handle, name, URL, follower count, type and change type — which keeps token counts down when the output is being fed to a model or served through an MCP client.
How do you use the TikTok Profile Scraper API?
Every Apify actor is an API endpoint. Start a run and wait for its results in one call:
curl -X POST "https://api.apify.com/v2/acts/corvuslab~tiktok-profile-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"profileUrls": ["@khaby.lame"],"includeFollowers": true,"followersPerProfile": 100,"maxResults": 101}'
The response is the dataset as a JSON array. Official clients are available for Python and JavaScript, and the actor can be triggered on a schedule from the Console without any code at all.
FAQ
Can I get the full follower list of a large account? You can collect up to 5,000 followers per account per run, newest-follower-first — a verified 5,000 out of 5,000 on an account with 95 million followers. TikTok throttles a walk that deep; the run rides that out rather than stopping early, and in the rare case a list is still cut short it says so explicitly in the log instead of pretending the account has fewer followers than it does. For accounts with millions of followers, 5,000 is a recent, complete-from-the-top sample rather than the whole list, and scheduled runs extend it over time.
Why do some accounts return no followers? Private accounts do not expose their lists, and TikTok withholds them for some accounts regardless of size. The run logs which account it was and carries on with the rest.
Does this actor scrape a creator's videos?
No, deliberately. This one sells the account: metadata, audiences and contacts — videoCount and heartCount tell you how much a creator posts and how much those posts are liked, without pulling the posts themselves. If you need the videos, scrape the account here first and use the handles it returns as input to a video-level actor.
Do I need a proxy? No. Leave the proxy setting off — both things this actor reads are served without one.
What is the difference between followerCount and heartCount?
followerCount is how many accounts follow the profile. heartCount is the total number of likes all of its videos have received, ever. A high follower count with a low heart count is the classic signature of an audience that does not engage.
Are the emails in extractedEmails verified?
They are taken verbatim from what the account put in its own bio, so they are self-published and current as of the scrape, but they are not deliverability-checked. Run them through your own verification before a large send.
Can I scrape accounts by keyword instead of naming them? Not in this actor — it works from accounts you name. Keyword-based creator discovery is a separate job with a different cost profile.
Is scraping TikTok profiles legal? This actor reads publicly visible profile pages — what anyone sees without logging in. Public data collection is broadly lawful in most jurisdictions, but profiles describe real people, so if you store or publish the results, handle them in line with GDPR, CCPA and TikTok's own terms. Take legal advice if you are unsure how that applies to your use.
Can I reshape the output? Yes — Custom map function applies a JavaScript function to every record before it is saved, so you can rename fields, drop the ones you do not need, or compute your own.
Related TikTok scrapers
- TikTok Comments Scraper — pulls the comments and replies under any TikTok video, each with its author, like count and reply thread. It is the natural next step after this actor: profile data tells you who an audience is, and comment data tells you what it says. Both use the same field conventions, so
uniqueIdjoins one dataset straight onto the other.
Keywords: TikTok profile scraper · scrape TikTok followers · TikTok follower list export · TikTok user data API · TikTok bio email extractor · TikTok influencer discovery · TikTok following scraper · export TikTok profiles CSV · TikTok creator lead generation · TikTok follower growth tracking · TikTok account monitoring · TikTok audience analysis · bulk TikTok profile lookup · TikTok unfollow tracker · TikTok engagement metrics · no-code TikTok scraper