TikTok Followers Scraper - Followers & Following avatar

TikTok Followers Scraper - Followers & Following

Pricing

from $0.90 / 1,000 scraped tiktok profiles

Go to Apify Store
TikTok Followers Scraper - Followers & Following

TikTok Followers Scraper - Followers & Following

Scrape public TikTok followers and following profiles from any account. Export usernames, IDs, bios, avatars, verification, region, and audience stats. No cookies required. MCP/API-ready.

Pricing

from $0.90 / 1,000 scraped tiktok profiles

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

4 days ago

Last modified

Share

Scrape public TikTok followers and following profiles from one or more source accounts. This Apify Actor accepts TikTok usernames or profile URLs, and each dataset record represents one collected profile from a source account's followers or following list. The output includes profile identity fields such as username, TikTok ID, secUid, and profile URL, plus useful profile context like display name, avatar URL, bio, verification status, region, follower and following counts, total likes, video count, favoriting count, source account, relationship type, and scraped timestamp. Use it on Apify directly, or through Apify MCP, for public TikTok audience graph collection.

Best fit and connected workflows

This Actor fits workflows that start with a known TikTok account and need the public follower or following graph for that account. It works well when you already have a source profile and want structured rows for enrichment, segmentation, reporting, or downstream automation.

Common connected workflows include:

  • Audience research from a specific creator or brand account
  • Lead list creation from public follower or following profiles
  • Social graph enrichment using usernames, profile URLs, and secUid values
  • Pairing with a discovery step before profile extraction

If you first need to find accounts from videos, hashtags, or user search, use [TikTok Search Scraper - [Videos, Hashtags & Users]](the referenced Actor page) as the upstream discovery step, then pass the verified public profile URL or ID into this Actor.

Use For trend-led discovery, TikTok Trending Videos Scraper can help surface public TikTok records that you can route into this Actor for profile graph extraction when the next workflow needs that Actor's focused input and output contract.

Practical scenario

Maya is building an outreach list for a creator partnership campaign. She starts with the public handle khaby.lame and selects followers as the list type. The Actor returns rows with username, display_name, profile_url, is_verified, region, follower_count, following_count, video_count, relationship, and source_username.

Maya reviews the returned region and verification fields to segment the list, then uses profile_url and sec_uid for follow-up enrichment. Her next step is to export the dataset into her CRM workflow and continue with audience qualification.

Input

The Actor accepts one or more source profiles, a list type, a per-profile result cap, and an optional raw provider object.

FieldTypeRequiredDescription
profilesarray of stringsYesTikTok usernames or profile URLs to collect. One per line.
modestringNoChoose followers, following, or both.
maxResultsPerProfileintegerNoMaximum number of profiles to collect per source account and selected list type. Range: 1 to 50000.
includeRawDatabooleanNoIncludes the original provider user object under raw for debugging and enrichment workflows.

Focused input example:

{
"profiles": ["khaby.lame", "https://www.tiktok.com/@stoolpresidente"],
"mode": "followers",
"maxResultsPerProfile": 100,
"includeRawData": false
}

Output

Each dataset item is one collected TikTok profile. The default dataset contains the collected rows, and the key-value store contains RUN_SUMMARY with totals and provider diagnostics.

FieldTypeDescription
usernamestringTikTok username of the collected profile.
display_namestring or nullDisplay name on the profile.
tiktok_idstringTikTok numeric user ID.
sec_uidstring or nullTikTok secure user ID.
profile_urlstringDirect TikTok profile URL.
avatar_urlstring or nullProfile avatar image URL.
biostring or nullTikTok bio or signature.
is_verifiedbooleanVerification status.
verification_labelstring or nullCustom verification label when available.
is_privateboolean or nullPrivate status when available.
regionstring or nullTwo-letter region code when available.
follower_countinteger or nullFollower count of the collected profile.
following_countinteger or nullFollowing count of the collected profile.
total_likesinteger or nullTotal likes received across the profile's videos.
video_countinteger or nullNumber of videos posted by the profile.
favoriting_countinteger or nullNumber of videos the profile has liked when available.
account_created_atstring or nullISO timestamp derived from account creation time when available.
relationshipstringfollower or following relative to the source account.
source_usernamestringSource account that produced the record.
scraped_atstringISO timestamp when the record was collected.
rawobjectOriginal provider user object when includeRawData is enabled.

Illustrative output record:

{
"username": "creator",
"display_name": "Creator Name",
"tiktok_id": "6659752019493208069",
"sec_uid": "MS4wLjABAAAA...",
"profile_url": "https://www.tiktok.com/@creator",
"avatar_url": "https://p16-sign.tiktokcdn-us.com/avatar.jpg",
"bio": "Founder. Creator. Email in bio.",
"is_verified": true,
"verification_label": "Verified account",
"is_private": false,
"region": "US",
"follower_count": 12000,
"following_count": 812,
"total_likes": 245000,
"video_count": 134,
"favoriting_count": 33,
"account_created_at": "2023-11-14T22:13:20.000Z",
"relationship": "follower",
"source_username": "khaby.lame",
"scraped_at": "2026-06-10T12:00:00.000Z"
}

How it works

This Actor is provider-backed and HTTP-only. It accepts public TikTok source profiles, then collects the selected list type for each source account: followers, following, or both. The implementation does not require user cookies. The dataset stores the collected profiles, and the key-value store stores a RUN_SUMMARY record with totals, selected mode, provider credits used, and completion timestamp. The live manifest also includes PPE charge guards.

Pricing

TikTok Followers Scraper - Followers & Following uses Pay per event plus Apify platform usage. The live pricing tab in the Apify Console is the source of truth for current charges.

Billing includes:

  • an Actor start event
  • a Scraped TikTok Profile event for each successfully collected profile written to the dataset

For example, if a execution collects ten profiles, the event total includes one Actor start event and ten scraped-profile events, plus normal Apify platform usage for the run. Check the live Pricing tab before scheduling or scaling runs.

Use with AI agents (MCP)

This Actor is available as an Apify Actor usable through Apify MCP. The exact Actor identity is khadinakbar/tiktok-followers-scraper.

Tool description: collect public TikTok follower and following profiles from source accounts, then return structured profile rows with identity, audience, and source fields for downstream agent workflows.

Find the public follower list for khaby.lame, return the dataset rows, and summarize any verified profiles with their profile URLs and follower counts.

Output interpretation:

  • results points to the default dataset items endpoint
  • summary points to RUN_SUMMARY in the key-value store
  • Each dataset row is one profile collected from the source account's follower or following list
  • relationship identifies whether the row came from the followers list or the following list
  • source_username links the row back to the originating TikTok account

Provenance and scope:

  • Data comes from public TikTok profile graphs
  • The Actor returns profile-level records, not a full account management layer
  • includeRawData can add the original provider object under raw for advanced workflows

Pagination and cost guidance:

  • Use maxResultsPerProfile to control the number of rows collected per source account and list type
  • For multiple source accounts, the total row count grows with the number of selected profiles and the chosen mode
  • The live Pricing tab reflects current charges and platform usage details

Apify API example

Use the Apify API to run the Actor, then read back the dataset items. Replace the input values as needed and set APIFY_TOKEN in your environment.

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const input = {
profiles: ['khaby.lame'],
mode: 'followers',
maxResultsPerProfile: 50,
includeRawData: false,
};
const run = await client.actor('khadinakbar/tiktok-followers-scraper').call(input);
const dataset = await client.dataset(run.defaultDatasetId).listItems();
console.log('Run ID:', run.id);
console.log('Rows:', dataset.items.length);
console.log(dataset.items.slice(0, 3));

Best results and outcome guidance

Start with a small maxResultsPerProfile value when you are validating source accounts or shaping an integration. Use followers for audience collections, following for visible relationship mapping, and both when your workflow needs both directions for the same source account.

When the output is part of a larger pipeline:

  • Use username and profile_url as stable row identifiers for exports
  • Use sec_uid for joins when your enrichment workflow expects a TikTok secure user ID
  • Use relationship and source_username to preserve graph context
  • Enable includeRawData only when your next step benefits from the provider object

Continue the workflow

Design note

I found that the live dataset contract exposes a clear split between profile identity fields and source-context fields. That made it straightforward to present each record as one collected profile while keeping relationship, source_username, and scraped_at visible as the audit trail.

FAQ

Can I collect followers, following, or both?

Yes. Set mode to followers, following, or both based on the graph you want to collect.

What input format works for source accounts?

You can send TikTok usernames such as khaby.lame or full profile URLs such as https://www.tiktok.com/@khaby.lame.

What does one dataset row mean?

One row is one collected public TikTok profile from the selected source account and list type.

How can I connect this Actor to discovery workflows?

Use [TikTok Search Scraper - [Videos, Hashtags & Users]](the referenced Actor page) or TikTok Trending Videos Scraper to discover public TikTok records, then route the verified public profile URL or ID into this Actor.

Where is the run summary stored?

The run summary is stored in the key-value store under RUN_SUMMARY.

Responsible use

Use this Actor for public TikTok profile collection and workflow automation. Respect TikTok's terms, the visibility of the data you collect, and your own compliance requirements for storage, enrichment, and outreach.