TikTok Followers Scraper - Follower & Following Lists avatar

TikTok Followers Scraper - Follower & Following Lists

Pricing

Pay per event

Go to Apify Store
TikTok Followers Scraper - Follower & Following Lists

TikTok Followers Scraper - Follower & Following Lists

Export a TikTok account's followers or the accounts it follows, one row each with handle, display name, bio, follower count, video count, verification and avatar. The account itself comes back with its own full numbers.

Pricing

Pay per event

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

TikTok Followers Scraper: follower and following lists

Give it TikTok accounts and get their followers as rows, or the accounts they follow, or both. Each row carries the handle, display name, bio, follower count, how many accounts they follow, video count, verification and avatar. The account you asked about comes back as its own row with its full numbers.

No login, no API key, no TikTok developer account.

What you get

Per follower, or per followed account: handle, url, nickname, author_id, sec_uid, bio, follower_count, following_count, video_count, total_likes, author_verified, is_private, is_live, avatar_url, and of_account saying whose list the row came from.

Per account you asked about: everything above plus bio_link, friend_count (mutual follows), is_organization, region, language and following_visible.

Counts arrive as integers, not as the 1.2M strings the site shows.

Speed

150 followers in 1.2 seconds, five pages of thirty, with a follower count on all 150. Resolving the account itself took 0.8 seconds.

Thirty rows per request is TikTok's page size and there is no way to raise it, so a walk of five thousand is roughly 167 requests.

Three reasons a list comes back empty, and they are not the same

This is the part worth reading before you trust a result, because TikTok returns all three as an ordinary success and they mean entirely different things.

The account hides who it follows. This is a setting, and it is independent of whether the account is private. Duolingo is a fully public, verified account with 18 million followers, and its following list returns nothing because the setting is off. Measured across four large accounts: one hidden, three open.

The row for such an account carries following_visible: false, and the run reports it as list_hidden with a message saying the followers are still readable. It is not retried, because retrying will never help.

The account is private. Both lists are hidden. The account row still comes back with its own numbers and is_private: true.

The account does not exist. A mistyped handle returns a normal-looking TikTok page, and the only thing distinguishing it from a real account is a status code buried in the page data. That is checked, so a typo is reported as no_such_account rather than becoming a row claiming somebody has no followers.

TikTok truncates long lists, and the run says when

An account with tens of millions of followers will not hand over tens of millions of rows. TikTok sets a flag when it has decided to serve a partial list, and the run reports it as listsTruncatedByTikTok in the summary.

A truncated walk of a huge account and a complete walk of a small one produce the same-looking table, and the difference matters. So it is a number in the summary rather than something you have to infer from the row count.

Input

FieldTypeNotes
profilesarrayProfile links, @handle or bare handles, one per line. Required.
listTypeselectfollowers, following or both. Both costs two walks per account.
maxFollowersPerProfileintegerDefault 200, up to 5,000.
maxFollowingPerProfileintegerDefault 200. Only used when the following list is requested.
includeProfilebooleanDefault on. The account's own row. Free.
countrystringTwo-letter code. Lists are served regionally, so this can change the ordering.
languagestringTwo-letter code.
proxyCountryCodestringWhere the request should appear to come from.

Why the account's own row is free

Finding an account's followers requires resolving the account first, and that resolution loads the page that already contains every number about it: followers, following, video count, lifetime likes, bio, bio link, verification, region. Charging for a second read of a page the run had to load anyway would be charging for nothing, so includeProfile is on by default and costs nothing.

What people use this for

Audience overlap. Run two competing accounts and intersect the follower handles. The size of the overlap is how much of an audience is already shared, which is the number that decides whether a partnership adds reach or repeats it.

Lead lists from a niche account. The followers of a small, sharply defined account are a better-targeted list than any interest filter, and the bio and follower count on each row are enough to rank them.

Who a brand watches. The following list of a company account is its competitor set, its agencies and the creators it is considering, stated in public and rarely read.

Bot and quality checks. Followers with no videos, no bio and a handle like user8837261 are visible in one sort. A follower list where most rows look like that is an audience worth discounting.

Notes

Follower counts are live and change through the day. A run is a snapshot.

Rows are deduplicated within a run, so an account appearing on two pages appears once.

An account that does not exist, is private, or has hidden its following list is reported by name with which of the three it was, rather than contributing zero rows that read as an account nobody follows.

Free Apify plans are capped at 10 results per run. The run stops walking at that point rather than reading the whole list and discarding it.