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
12
Total users
7
Monthly active users
25 days ago
Last modified
Categories
Share
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 core fields as a profile record — follower count, likes, videos, bio and contacts — 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.
Related TikTok scrapers
- TikTok Comments Scraper — every comment and reply under any TikTok video, with its author and like count. Joins onto this actor's data on
uniqueId. - TikTok Shop Scraper — TikTok Shop products by keyword or URL, with price, units sold, reviews, seller details and the video selling each listing. Its creator IDs lead back to the accounts this actor profiles.
What data can you extract from a TikTok profile?
There are two kinds of row. A profile row is an account you named in the input. A follower row is an account found on a follower or following list. TikTok reports slightly different details in each place, so each row carries only the fields TikTok actually provides for it — no columns that are empty on every row.
| Field | Description | Profile rows | Follower rows |
|---|---|---|---|
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 | ✓ | ✓ |
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 | ✓ | ✓ |
avatar / avatarThumb | Profile picture, full size and thumbnail | ✓ | ✓ |
ttSeller | TikTok Shop seller flag | ✓ | ✓ |
extractedEmails | Emails found in the bio | ✓ | ✓ |
extractedPhones | Phone numbers found in the bio | ✓ | ✓ |
extractedUrls | Links found in the bio and bio link | ✓ | ✓ |
socialProfiles | Instagram, Snapchat, YouTube, LinkedIn and other profiles found in the bio, whether posted as a link or written as a handle like ig: name | ✓ | ✓ |
dataType | profile, follower or following | ✓ | ✓ |
changeType | In monitoring mode: NEW, UPDATED, UNCHANGED or EXPIRED | ✓ | ✓ |
bioLink | The clickable link in the bio | ✓ | |
createTime / createTimeISO | When the account was created | ✓ | |
friendCount | Mutual follows | ✓ | |
commerceUser | Business account flag | ✓ | |
isOrganization | Official organization or brand account | ✓ | |
language | The account's declared language, e.g. en | ✓ | |
nicknameModifiedAt / handleModifiedAt | When the display name and @handle were last changed — a rebrand signal | ✓ | |
diggCount | Likes this account has given out | ✓ | |
relationTo / relationToId / relationToUrl | Whose list this account came from | ✓ |
To get the profile-only details for an account you found in a follower list, feed that handle back in as a profile.
bioLink, nicknameModifiedAt and handleModifiedAt are null when the account has no bio link or never changed its name or handle. If TikTok ever serves part of a follower list without follower and following counts, the scraper asks again; if the counts still do not come back, those two fields are null on the affected rows and the run log says how many.
The four contact fields appear only when the bio actually contains something to extract.
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,"friendCount": 77,"commerceUser": false,"ttSeller": false,"isOrganization": false,"language": "it","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 carries the same core fields, plus diggCount and three fields that say whose list it came from. The profile-only details (account age, language, bio link and so on) are left off, because TikTok does not report them on a follower list:
{"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,"diggCount": 2512,"extractedEmails": ["hello@example.com"],"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.
Why did I get only 50 followers from a big account? For some accounts TikTok shows only the first 50 entries of a follower or following list, however large the account is. This is TikTok's own limit, not an error, and it applies the same way from any connection. The run returns those 50, bills you only for them, and says in the log that TikTok limited the list and how large the account really is. Re-running will not return more. Most accounts are not limited this way: full lists up to the 5,000 maximum come back as normal.
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.
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.
Is it legal to scrape TikTok profiles and followers?
This actor collects only what TikTok shows publicly to anyone who is not logged in: public profile pages, and the follower and following lists an account has left visible. It never logs in and does not get around TikTok's privacy settings. Hidden lists come back empty, private accounts show only what TikTok shows about them publicly, and lists TikTok limits are returned exactly as TikTok limits them.
Public is not the same as free to use, though. A follower list is mostly ordinary people, some of them young, and bios can contain emails and phone numbers. In the EU, the UK and many other places that is personal data, protected by the GDPR and similar laws even when anyone can see it. If you collect it, you need a lawful reason to do so, should keep only what your purpose actually needs, and must honour people's rights, including requests to delete their data.
Contacting the people you find brings its own rules. Email and phone outreach is regulated by laws such as the GDPR and ePrivacy rules in Europe, CAN-SPAM in the US, and the TCPA for US calls and texts. Do not use the results for spam, harassment, targeting minors, or anything TikTok's terms or your local law prohibit.
You are responsible for how you use the data you collect. This section is general information, not legal advice. If your use involves personal data at scale or outreach, check with a lawyer first. This actor is not affiliated with, endorsed by, or sponsored by TikTok or ByteDance.
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