Tiktok Followers Following Scraper avatar

Tiktok Followers Following Scraper

Pricing

from $2.40 / 1,000 relationship results

Go to Apify Store
Tiktok Followers Following Scraper

Tiktok Followers Following Scraper

TikTok Followers / Following Scraper extracts public follower and following lists from TikTok profiles, including usernames, profile URLs, bios, stats, and relationship context. Use it for influencer research, lead generation, audience analysis, and competitor mapping.

Pricing

from $2.40 / 1,000 relationship results

Rating

0.0

(0)

Developer

Delowar Munna

Delowar Munna

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

TikTok Followers / Following Scraper

Extract TikTok followers and following lists with public profile metadata for influencer research, lead generation, audience mapping, and analytics workflows.

TikTok Followers / Following Scraper

What does this actor do?

TikTok Followers / Following Scraper is an Apify Actor that extracts public follower and following lists from one or more TikTok profiles, including:

  • Relationship records — one row per follower/following with full profile metadata, stats, and relationship lineage
  • Lead-gen fields — email-in-bio detection, Instagram/YouTube handles, and external URLs
  • Summary records — per-profile/mode run stats with item counts, duration, and status
  • Deduplication — within-profile and cross-profile dedup for clean audience lists

This actor is designed as a relationship intelligence tool — not just a list extractor, but an analytics-ready pipeline for audience research, lead generation, and network mapping.

Modes

ModeDescription
followersScrape accounts that follow the target profile
followingScrape accounts that the target profile follows
bothScrape both followers and following in a single run

Input

ParameterTypeDefaultDescription
profilesstring[]["@tiktok"]TikTok profiles to scrape — accepts username, @handle, or profile URL (required)
modestring"followers"followers, following, or both (required)
maxItemsPerProfileinteger100Max accounts per profile per mode (1–5000)
includeSourceProfilebooleantrueInclude source profile metadata on each row
includeSummarybooleantrueEmit summary records per profile/mode
deduplicateWithinProfilebooleantrueRemove duplicate users within each profile
deduplicateAcrossProfilesbooleanfalseRemove users already seen from other profiles
stopOnErrorbooleanfalseStop entire run on first profile failure
debugModebooleanfalseEnable verbose logging
proxyConfigurationobjectApify proxy configuration (residential recommended)

Profile input formats

The actor accepts profiles in any of these formats — you can mix them freely:

  • Username: charlidamelio
  • With @: @charlidamelio
  • Profile URL: https://www.tiktok.com/@charlidamelio

Duplicates are removed automatically after normalization.

Sample input: Influencer audience research

Scrape followers of AI-related profiles to discover audience composition and find adjacent creators.

{
"profiles": ["claude", "@openai", "https://www.tiktok.com/@google"],
"mode": "followers",
"maxItemsPerProfile": 100,
"includeSourceProfile": true,
"includeSummary": true,
"deduplicateWithinProfile": true,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Sample input: Competitor audience overlap

Scrape followers of competitor accounts with cross-profile dedup enabled to find unique audiences per brand and measure overlap.

{
"profiles": ["@nike", "@adidas", "@puma"],
"mode": "followers",
"maxItemsPerProfile": 500,
"includeSourceProfile": true,
"includeSummary": true,
"deduplicateAcrossProfiles": true,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Sample input: Creator network mapping

Discover who top creators follow to find niche communities and potential collaborators.

{
"profiles": ["@charlidamelio", "@khaby.lame"],
"mode": "following",
"maxItemsPerProfile": 200,
"includeSourceProfile": true,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Output

The actor outputs a dataset where each relationship is one row with full source lineage. Results are available in four dataset views:

  • Overview — record type, source profile, relationship type, key profile data, and stats
  • Profiles — full profile details with follower/following counts and metadata
  • Lead Gen — contact signals: email-in-bio, Instagram handle, YouTube handle, external URL
  • Summary — per-profile/mode run stats with items returned, dedup counts, and duration

TikTok Followers / Following Scraper — Output Overview Table View

Overview record

The Overview view shows each relationship with the key profile data at a glance.

{
"recordType": "relationship",
"sourceUsername": "claude",
"relationshipType": "followers",
"position": 12,
"username": "hannahustles",
"displayName": "Hanna 🤍",
"profileUrl": "https://www.tiktok.com/@hannahustles",
"isVerified": false,
"accountPrivate": false,
"followersCount": 8475,
"followingCount": 1361,
"likesCount": 77777,
"videosCount": 417,
"bio": "Tech • Fashion • Creator Commerce\nFounder scaling @Love and War\nI build income systems in public\n↓ Partnerships + collabs\nHannalaikin@gmail.com",
"scrapedAt": "2026-03-17T04:16:08.732Z"
}

Profiles record

The Profiles view shows full profile details including avatar, external URL, and user ID.

{
"username": "hannahustles",
"displayName": "Hanna 🤍",
"profileUrl": "https://www.tiktok.com/@hannahustles",
"userId": "7500424991441290271",
"isVerified": false,
"accountPrivate": false,
"bio": "Tech • Fashion • Creator Commerce\nFounder scaling @Love and War\nI build income systems in public\n↓ Partnerships + collabs\nHannalaikin@gmail.com",
"followersCount": 8475,
"followingCount": 1361,
"likesCount": 77777,
"videosCount": 417,
"profilePictureUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/e4a99e9aa571bc1fe51fae0669da808d~tplv-tiktokx-cropcenter:1080:1080.jpeg?...",
"externalUrl": null,
"sourceUsername": "claude",
"relationshipType": "followers",
"position": 12
}

Lead Gen record

The Lead Gen view surfaces contact signals extracted from bios and links — useful for outreach targeting.

{
"username": "chiefofstafftok",
"displayName": "KG | Chief of Staff",
"profileUrl": "https://www.tiktok.com/@chiefofstafftok",
"bio": "👩🏻‍💻 Chief of Staff in NYC helping you grow your career & work smarter \n📩 kg@coachingwithkg.com\n💡 Views and ideas are my own (not my employers)",
"emailInBio": "kg@coachingwithkg.com",
"instagramHandle": null,
"youtubeHandle": null,
"externalUrl": null,
"isVerified": false,
"followersCount": 18101,
"likesCount": 110683,
"videosCount": 210,
"sourceUsername": "claude",
"relationshipType": "followers"
}

Summary record

When includeSummary is enabled, the actor emits one summary record per profile/mode with run statistics.

{
"recordType": "summary",
"sourceUsername": "claude",
"sourceProfileUrl": "https://www.tiktok.com/@claude",
"relationshipType": "followers",
"requestedMaxItems": 100,
"returnedItems": 100,
"deduplicatedItems": 0,
"runStatus": "completed",
"isPrivateOrRestricted": false,
"startedAt": "2026-03-17T04:16:06.351Z",
"finishedAt": "2026-03-17T04:16:16.514Z",
"durationSeconds": 10,
"scrapedAt": "2026-03-17T04:16:16.514Z"
}

Error record

Failed profiles emit structured error records so individual failures don't break the run.

{
"recordType": "error",
"sourceInput": "@deleteduser",
"sourceUsername": "deleteduser",
"sourceProfileUrl": "https://www.tiktok.com/@deleteduser",
"relationshipType": "followers",
"errorType": "secUid_extraction_failed",
"errorMessage": "Could not extract secUid for @deleteduser. Profile may be private, deleted, or page structure changed.",
"sourceResolved": false,
"isPartial": false,
"scrapedAt": "2026-03-17T05:30:00.000Z",
"runMode": "followers"
}

Output fields

Relationship / lineage fields

FieldDescription
recordTypeAlways "relationship" for relationship rows
sourceInputThe original profile input as provided
sourceUsernameNormalized username of the source profile
sourceProfileUrlFull TikTok profile URL of the source
sourceUserIdTikTok user ID of the source profile
relationshipType"followers" or "following"
positionPosition/rank in the returned list
scrapedAtISO 8601 timestamp of extraction
runModeThe mode setting for this run
FieldDescription
usernameTikTok username
profileUrlFull TikTok profile URL
userIdTikTok user ID
displayNameDisplay name / nickname
bioProfile bio/signature
isVerifiedVerified badge status
profilePictureUrlAvatar URL
accountPrivateWhether the account is private

Profile stats fields

FieldDescription
followersCountFollower count
followingCountFollowing count
likesCountTotal likes/hearts received
videosCountNumber of videos posted

Lead-gen / contact fields

FieldDescription
externalUrlBio link URL
emailInBioEmail address detected in bio text
instagramHandleInstagram handle detected in bio or bio link
youtubeHandleYouTube handle detected in bio or bio link

Source profile fields (when includeSourceProfile is enabled)

FieldDescription
sourceDisplayNameSource profile display name
sourceBioSource profile bio
sourceIsVerifiedSource profile verified status
sourceFollowersCountSource profile follower count
sourceFollowingCountSource profile following count
sourceLikesCountSource profile total likes
sourceVideosCountSource profile video count

Quality / parsing fields

FieldDescription
inputNormalizedNormalized source username
sourceResolvedWhether the source profile was successfully resolved
isPartialWhether results are partial (interrupted)
errorTypeError classification (null on success)
errorMessageError message (null on success)

Best-effort fields

The following fields depend on what TikTok includes in its API responses. They are extracted when available and returned as null when not: emailInBio, instagramHandle, youtubeHandle, externalUrl, profilePictureUrl

Use cases

  • Influencer audience research — get follower lists from seed creators to find adjacent creators in the same niche
  • Competitor audience mining — scrape follower lists of competitor accounts to identify potential audience pools
  • Creator network mapping — understand who a creator follows and how creators cluster in a niche
  • Lead generation — extract public bio links, emails, Instagram handles for outreach targeting
  • Community segmentation — compare accounts across several seed profiles and identify overlap with cross-profile dedup
  • Enrichment pipeline — use returned usernames as input into TikTok Profile Scraper or external CRMs

How this differs from TikTok Profile Scraper

FeatureProfile ScraperFollowers/Following Scraper
FocusSingle profile metadataRelationship lists
Output1 row per profile1 row per follower/following
Lead-genBasic profile fieldsEmail, Instagram, YouTube detection from bios
ModesN/AFollowers, following, or both
DedupN/AWithin-profile and cross-profile
SummaryN/APer-profile/mode run stats
BatchingMultiple profilesMultiple seed profiles with error isolation

Tips and best practices

  • Start small — use maxItemsPerProfile: 20–50 for initial exploration, then increase
  • Use both mode sparingly — it doubles the API calls per profile
  • Enable cross-profile dedup for audience overlap reduction across competitor accounts
  • Filter by recordType — use "relationship" to get only relationship rows, "summary" for run health
  • Use the Lead Gen view — surfaces contact signals (email, Instagram, YouTube) for outreach workflows
  • Schedule for monitoring — run on a schedule to track audience changes over time
  • Chain with other actors — feed returned usernames into TikTok Profile Scraper for deeper analysis

Proxy configuration

Residential proxies are recommended for reliable TikTok scraping.

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Integrations

  • Google Sheets — export follower/following data to spreadsheets for team dashboards
  • Slack/email — set up notifications when a run completes
  • Webhooks — trigger downstream workflows on completion
  • API — access results programmatically via the Apify API
  • Other actors — feed discovered usernames into TikTok Profile Scraper for deeper analysis

Limitations

  • Results per profile depend on how much data TikTok returns via its API. The actual number may be lower than maxItemsPerProfile.
  • Some fields are best-effort and may be null depending on what TikTok includes in its responses (see "Best-effort fields" above).
  • This actor scrapes public data only. Private accounts will return error records.
  • Very large follower lists (millions) may be partially extracted depending on TikTok's rate limiting.
  • TikTok may change its API structure, which could affect extraction reliability.

FAQ

How many results can I get per profile? Up to 5000 per profile per mode. The actual number depends on TikTok's API response behavior and rate limiting.

Why are some fields null? Lead-gen fields (emailInBio, instagramHandle, youtubeHandle) and externalUrl depend on what users have in their bios and what TikTok includes in its API responses. They are extracted on a best-effort basis and returned as null when not available.

What happens if a profile fails? Failed profiles emit a structured error record with recordType: "error" and errorMessage. Other profiles continue unless stopOnError is enabled.

What is the difference between within-profile and cross-profile dedup? Within-profile removes duplicate users in a single profile's list. Cross-profile removes users already seen from other profiles in the same run — useful for identifying unique followers across competitors.

Can I scrape private accounts? No. Private accounts will return an error record indicating the profile is restricted.

How does "both" mode work? The actor navigates to the profile once, extracts the secUid, then runs both the followers and following API pagination loops sequentially. This is more efficient than two separate runs.

What is the recordType field? Every output row has a recordType for easy filtering: "relationship" for follower/following rows, "summary" for run stats, or "error" for failed profiles. Use this to separate record types in spreadsheets or downstream workflows.

How does the actor extract emails and social handles? The actor scans each user's bio text for email patterns, Instagram mentions (e.g., "IG: @handle", "instagram: handle"), and YouTube references. It also checks bio link URLs for Instagram and YouTube domains.