This TikTok followers scraper exports public TikTok follower and following relationship rows for audience research, influencer outreach, creator monitoring, and audience overlap analysis.
Use this Actor as a TikTok followers tracker when you need the identity graph behind public TikTok profiles: who a creator follows, which public followers are visible, and which related accounts overlap across multiple creators. It can also produce a TikTok follower list for research workflows when TikTok exposes the public follower surface.
What can you do with it?
- Build creator outreach lists from public TikTok relationship data
- Compare audiences across multiple creator profiles
- Monitor public relationship lists on a schedule
- Enrich influencer research with biographies, public emails, explicitly labelled Instagram, YouTube, and X/Twitter handles, bio links, account regions when available, all avatar sizes, account timestamps, friend counts, public stats, and account metadata
- Keep private, limited, empty, or blocked profiles visible through diagnostic rows instead of silent failures
- Resume the same run after a migration or restart without duplicating completed profiles, relationship rows, or the start charge
Who is it for?
- Influencer marketers building creator or outreach lists
- Agencies comparing public creator audiences
- Researchers mapping public TikTok account relationships
- Analysts monitoring public follower and following lists over time
- Automation teams connecting TikTok relationship data to APIs, schedules, or AI agents
Input example
{
"profiles": ["natgeo", "tiktok"],
"direction": "following",
"maxRelationshipsPerProfile": 20,
"includeOverlapSummary": true
}
Output example
{
"recordType": "relationship",
"sourceProfileHandle": "natgeo",
"sourceProfileId": "6780344874811442181",
"sourceProfileSignature": "Step into wonder and find your inner explorer with National Geographic 🌎",
"sourceProfileBioLinkUrl": "spr.ly/natgeotiktok",
"sourceProfileLanguage": "en",
"sourceProfileVerified": true,
"sourceFriendCount": 58,
"sourceProfileUrl": "https://www.tiktok.com/@natgeo",
"direction": "following",
"relatedProfileId": "6731478322289017861",
"relatedProfileHandle": "izzy_observes",
"relatedProfileUrl": "https://www.tiktok.com/@izzy_observes",
"relatedProfileName": "Izzy | Brooklyn Mom",
"relatedProfileSignature": "Wildly specific parenting analogies nobody asked for.",
"relatedProfileLanguage": "en",
"relatedProfileCreatedAt": "2019-08-31T23:40:17.000Z",
"relatedProfileVerified": false,
"relatedFollowerCount": 401,
"relatedFollowingCount": 534,
"relatedFriendCount": 49,
"relatedHeartCount": 11721,
"relatedVideoCount": 37,
"relatedProfileEnrichmentStatus": "complete",
"relatedProfileMetadata": {
"avatarThumbUrl": "https://...",
"avatarMediumUrl": "https://...",
"avatarLargeUrl": "https://...",
"followingVisibility": 2,
"commentSetting": 0,
"duetSetting": 0,
"stitchSetting": 0,
"downloadSetting": 0,
"organization": false,
"commerceUser": false,
"playlistTabVisible": false
},
"firstSeenAt": "2026-07-30T01:08:21.552Z",
"changeType": "unknown",
"truncated": false,
"scrapedAt": "2026-07-30T01:08:21.552Z"
}
Input settings
| Field | Type | Description | Default |
|---|---|---|---|
profiles |
array of strings | TikTok handles or profile URLs to inspect. | [] |
direction |
string | following or followers. Public follower visibility depends on TikTok's logged-out surface. |
following |
maxRelationshipsPerProfile |
integer | Maximum relationship rows per source profile. | 20 |
changedSince |
string | Optional ISO timestamp for scheduled monitoring workflows. | none |
includeOverlapSummary |
boolean | Add summary rows for related profiles seen under more than one source profile. | false |
proxy |
object | Apify Proxy configuration. Automatic routing is used unless you explicitly select a group available to your account. | Apify Proxy enabled |
Tips and limits
- Start with
following; TikTok may limit public follower lists more aggressively than following lists. - Use smaller limits for new profiles, then increase after you confirm output quality.
- Leave the proxy group empty to use automatic Apify Proxy routing. Choose a named group only if your Apify account has access to it.
- Private, limited, unavailable, or blocked profiles produce diagnostic rows when possible.
- The Actor only exports public TikTok data visible through TikTok's logged-out public experience. It does not use login cookies or access private account data.
- Email and social-handle fields are emitted only for explicit biography text or direct public bio links. Ordinary unlabelled
@mentionsare not guessed as Instagram handles. - Region is emitted only when TikTok explicitly returns an account-region value. The Actor does not substitute the proxy country, viewer locale, language, or latest-video location.
API usage
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/tiktok-followers-scraper').call({
profiles: ['natgeo'],
direction: 'following',
maxRelationshipsPerProfile: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
Python:
from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/tiktok-followers-scraper').call(run_input={
'profiles': ['natgeo'],
'direction': 'following',
'maxRelationshipsPerProfile': 20,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
cURL:
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~tiktok-followers-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"profiles":["natgeo"],"direction":"following","maxRelationshipsPerProfile":20}'
MCP and AI agents
Claude CLI setup:
claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/tiktok-followers-scraper"
Claude Desktop configuration:
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=fetch_cat/tiktok-followers-scraper"
}
}
}
Example prompts:
- "Export the first 20 public accounts followed by
natgeoand return their profile URLs." - "Compare the public following lists for these two creators and show any overlap."
- "Run this Actor for this TikTok handle and summarize verified related accounts."
Support
Open an issue from the Actor page if a run fails, returns unexpected diagnostics, or has missing fields. Include the Apify run ID or run URL, the input JSON, expected output, actual output, and one reproducible public TikTok profile URL.