TikTok Followers & Following Scraper
Pricing
from $0.39 / 1,000 accounts
TikTok Followers & Following Scraper
Export the followers or following list of any TikTok profile: each account's username, name, bio, followers, following, likes, verified badge, email in bio and profile link, newest follow first. Whole following lists, the newest ~10,000 followers. Usernames in, CSV or JSON out. No login.
Pricing
from $0.39 / 1,000 accounts
Rating
0.0
(0)
Developer
DeepMine
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
A TikTok followers scraper and following scraper in one: enter TikTok usernames and get the accounts that follow them, or the accounts they follow, as clean rows. Each row has the username, name, bio, exact follower, following and like counts, verified badge, the email written in the bio, the profile link, and its place in the list, newest follow first.
No TikTok account, no cookies, no login. Turn on Creator details to add each account's join date, bio link, app language and friends count.
| Account | 👤 Name | 📝 Bio | 👥 Followers | ❤️ Likes | 📋 List | 🎯 Source Profile | 🏅 Rank |
|---|---|---|---|---|---|---|---|
| @lindseystirling | Lindsey Stirling | Snow Waltz Tour 2026 ✨ Master of Tides Cruise 2027… | 5,194,586 | 119,950,011 | following | zachking | 2 |
| @insaneshayne | Shayne Boyle | Sports Stunts Skits Best 👄 Bluuue 42 🏈 Brands: tea… | 3,995,679 | 193,998,230 | following | zachking | 3 |
| @cooperkupp | Cooper Kupp | Believed. Achieved! 📌 Seattle ☕️ @dodocoffeeco | 694,492 | 6,793,036 | following | zachking | 5 |
$0.49 per 1,000 accounts on the Starter plan ($0.59 Free, $0.45 Scale, $0.39 Business). The prefilled run (100 accounts) costs about $0.05.
Why this one
- Exact counts. Followers, following and likes are TikTok's exact numbers (3,787,370 followers, not "3.8M"), for every account in the list.
- The whole following list. The Actor walks a profile's following list to its end, up to TikTok's 10,000 cap (2,546 accounts for a profile following 2,632 in a test; TikTok leaves out deleted and banned accounts). For followers, TikTok shows the newest ~10,000; the Actor reads all of them.
- Lead-list ready. The first email address written in each account's bio comes in its own
emailcolumn, withhasEmailandhasPhoneflags. - Creator details, same price. Turn on
creatorDetailsand each row also gets the account's join date, bio link, app language, friends count and business-account flag from its profile page. No extra charge. - Who follows whom. Each row names whose list it is (
sourceUsername) and which list (listType), so the lists of many profiles in one run stay apart: an account that follows two of your profiles is a row under each. - Hidden lists cost nothing. Some creators hide their following list. The Actor checks the profile first, skips the list, and marks the profile
hiddenin the run summary. - Fails loudly, never silently. Every run saves a per-profile summary (
OUTPUT). If TikTok stops answering part-way, that profile is markedpartialand says how far it got.
Input
| Field | What it does | Default |
|---|---|---|
profiles | TikTok usernames or profile URLs, one per line: zachking, @zachking, https://www.tiktok.com/@zachking. | zachking |
listType | followers (accounts that follow each profile) or following (accounts each profile follows). | followers |
maxUsersPerProfile | Accounts per profile's list, newest follow first, up to 10,000. | 100 |
creatorDetails | Also read each listed account's profile page: join date, bio link, app language, friends count, business-account flag. Same price; about 30 seconds per 100 accounts instead of 3. | off |
proxyConfiguration | Apify Proxy. Keep datacenter (the default); residential doesn't help here. | Apify datacenter |
Example:
{"profiles": ["zachking", "khaby.lame"],"listType": "following","maxUsersPerProfile": 1000}
Output
One row per account in a list, profile by profile in your order, each list newest follow first. Table views in the Console:
- 📊 Overview: 🖼️ Photo, 🏷️ Username, 👤 Name, 📝 Bio, 🔗 TikTok, ✔️ Verified, 👥 Followers, ❤️ Likes, 📋 List, 🎯 Source Profile, 🏅 Rank
- 📈 Stats: 🏷️ Username, 🔗 TikTok, ✔️ Verified, 👥 Followers, ➕ Following, ❤️ Likes, 🎬 Videos, 💗 Liked Videos, 🔒 Private, ⭕ Active Story, 🎯 Source Profile, 🏅 Rank
- 👤 Creator Details (with Creator details on): 🖼️ Photo, 🏷️ Username, 👥 Followers, 🤝 Friends, 📅 Joined, 🌐 Bio Link, 📧 Email, 📞 Phone, 🌐 App Language, 💼 Business Account, 🎯 Source Profile
The profiles you entered are in a second dataset, 👤 Profiles (free): one row each, with their own follower and following counts, join date and bio link.
Output fields
Every row has these keys, in this order; the ones marked "With Creator details" are there only with creatorDetails on. A value TikTok didn't send is null (never an empty string or a made-up 0); with Creator details, a profile TikTok wouldn't show leaves its columns null.
avatar: profile picture.name: display name.bio: the full bio, line breaks kept.bioSnippet: the bio's first 50 characters on one line, for tables.username: TikTok username, without @.profileUrl: the profile on TikTok.verified: TikTok's verified badge.followers: followers (exact).following: accounts they follow.likes: total likes on all their videos.videos: their public videos.likedVideos: videos they have liked, as TikTok counts them.friends: accounts they follow that follow them back. With Creator details (the list doesn't say).private: the account is private.isSeller: TikTok marks the account as a TikTok Shop seller.hasActiveStory: the account had a story up when the list was read (the ring around its photo). Stories last 24 hours.email: the first email address written in their bio, when there is one.hasEmail: their bio shows an email address.hasPhone: their bio shows a phone number.joinedAt: when the account was created (UTC). With Creator details.bioLinkUrl: the link in their bio. With Creator details.isCommerceAccount: a TikTok business (commerce) account. With Creator details.language: their TikTok app language (en,es, ...). With Creator details.rank: place in the list, newest follow first (1 = followed most recently).listType:followingorfollowers.sourceUsername: whose list it is (the profile you entered, as TikTok spells it).input: the profile you entered, exactly as entered.userId: TikTok's user ID.secUid: TikTok's secUid, the ID its own web API uses.scrapedAt: when it was collected (UTC).
Example row (Creator details on):
{"avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/b01af4dd7d733828f3e5493902ecfac2~tplv-tiktokx-cropcenter:1080:1080.jpeg?...","name": "The Johnson Brothers","bio": "Brands@TheJohnsonBrothers.com\n \nAll Socials + Merch ⬇️","bioSnippet": "Brands@TheJohnsonBrothers.com All Socials + Merch…","username": "the.johnsonbrothers","profileUrl": "https://www.tiktok.com/@the.johnsonbrothers","verified": false,"followers": 3787370,"following": 13,"likes": 255010057,"videos": 569,"likedVideos": 1648,"friends": 12,"private": false,"isSeller": false,"hasActiveStory": false,"email": "Brands@TheJohnsonBrothers.com","hasEmail": true,"hasPhone": false,"joinedAt": "2021-05-26T20:01:34Z","bioLinkUrl": "https://thejohnsonbrothers.com","isCommerceAccount": false,"language": "en","rank": 1,"listType": "following","sourceUsername": "zachking","input": "zachking","userId": "6966691146177496070","secUid": "MS4wLjABAAAACLPzWS76nojm2K2EguU_ybZ0c4yo5WQVpFBz_dXt04Fs8hR_mIrUsiAvbBiNb5sq","scrapedAt": "2026-10-19T18:52:46Z"}
The 👤 Profiles dataset has one row per profile you entered, with these keys:
avatar: profile picture.name: display name.bio: the full bio.bioSnippet: the bio's first 50 characters.username: TikTok username.profileUrl: the profile on TikTok.verified: TikTok's verified badge.followers: followers (exact).following: accounts they follow.likes: total likes on all their videos.videos: their public videos.joinedAt: when the account was created (UTC).bioLinkUrl: the link in their bio.userId: TikTok's user ID.secUid: TikTok's secUid.scrapedAt: when it was collected (UTC).
Notes:
- Lists are newest first. TikTok orders both lists by when the follow happened, newest first, so
maxUsersPerProfile100 gives the 100 most recent follows. - Followers stop at about 10,000. TikTok shows logged-out visitors the newest ~10,000 followers of a profile and then ends the list (9,885 for @khaby.lame in a test). Following lists are complete, up to TikTok's own 10,000 cap.
- A little under the profile's count. TikTok leaves deleted and banned accounts out of the lists, so a list usually comes out a few percent shorter than the count on the profile (about 96% in our tests).
- Image links expire.
avataris signed by TikTok and stops working about 2 days after the run. Download the images you need soon after the run.
Run summary (OUTPUT)
{"results": 100,"inputs": [{"input": "zachking", "status": "ok", "results": 100, "stopReason": "max_results", "username": "zachking", "listSize": 86821865}]}
listSize is the list's size on the profile. status per profile: ok, hidden (the profile hides its following list; free), private, not_found, no_results (an empty list), partial (TikTok stopped answering part-way; the rows read are kept), blocked (the run fails so you notice), stopped (your spending limit). stopReason: max_results, or end when the list ended.
How long does a run take?
The first accounts usually arrive about 2 to 4 seconds after the run starts, counted on Apify's own clock from the run's start time, so the container start and loading the Apify SDK are included (2.1 to 4.2 s in five test runs; the slowest was a new build's first run, which loads its image). The prefilled run takes 4 to 6 seconds in all. A list reads at about 30 accounts per second (one page of 30 a second), so 1,000 accounts take under a minute and 10,000 about 5 to 6 minutes. With Creator details, each account's profile page is read too, 10 at a time: about 30 seconds per 100 accounts (182 in 58 seconds in a test). Several profiles in one run are read in parallel.
Pricing
Pay per result, no start fee and no minimum. Example: 1,000 accounts cost $0.49 on the Starter plan.
| Your Apify plan | Per 1,000 accounts |
|---|---|
| Free | $0.59 |
| Starter | $0.49 |
| Scale | $0.45 |
| Business | $0.39 |
You pay only for rows that reach your dataset. Profiles, hidden lists, private or missing profiles cost nothing. When your spending limit is reached, the run stops.
FAQ
Do I need a TikTok account? No. The Actor reads only what TikTok shows logged-out visitors.
Can I get both lists of a profile? Run it once with followers and once with following. Each row says which list it came from.
Why are there fewer followers than the profile shows? TikTok shows logged-out visitors only the newest ~10,000 followers, and leaves deleted or banned accounts out of every list.
Can I find similar creators? Run the following lists of a few creators in one niche: the accounts several of them follow are usually creators of the same niche. Count username per sourceUsername in the export.
Need their videos too? Use our TikTok Profile & Videos API with the usernames from this run.
Feedback
Missing a field, or a result that doesn't look right? Open an issue on the Issues tab and we'll look into it. If the data helps you, a short review on this page helps other people find it.