TikTok Followers & Following Scraper avatar

TikTok Followers & Following Scraper

Pricing

from $0.39 / 1,000 accounts

Go to Apify Store
TikTok Followers & Following Scraper

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

DeepMine

Maintained by Community

Actor 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
@lindseystirlingLindsey StirlingSnow Waltz Tour 2026 ✨ Master of Tides Cruise 2027…5,194,586119,950,011followingzachking2
@insaneshayneShayne BoyleSports Stunts Skits Best 👄 Bluuue 42 🏈 Brands: tea…3,995,679193,998,230followingzachking3
@cooperkuppCooper KuppBelieved. Achieved! 📌 Seattle ☕️ @dodocoffeeco694,4926,793,036followingzachking5

$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 email column, with hasEmail and hasPhone flags.
  • Creator details, same price. Turn on creatorDetails and 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 hidden in the run summary.
  • Fails loudly, never silently. Every run saves a per-profile summary (OUTPUT). If TikTok stops answering part-way, that profile is marked partial and says how far it got.

Input

FieldWhat it doesDefault
profilesTikTok usernames or profile URLs, one per line: zachking, @zachking, https://www.tiktok.com/@zachking.zachking
listTypefollowers (accounts that follow each profile) or following (accounts each profile follows).followers
maxUsersPerProfileAccounts per profile's list, newest follow first, up to 10,000.100
creatorDetailsAlso 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
proxyConfigurationApify 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: following or followers.
  • 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 maxUsersPerProfile 100 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. avatar is 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 planPer 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.