TikTok hub

TikTok profile followers API

Walk the inbound follower graph for a TikTok handle: paginated public follower rows with handles, avatars, verification, and light metrics in the shared Social Fetch envelope.

GET /v1/tiktok/profiles/{handle}/followers

1 credit per successful request.

About this endpoint

Audience research usually starts with a follower total on the profile card and then stalls. Outreach queues, fan CRM imports, and competitor-audience overlap jobs need the people behind that number: who follows the seed handle, which of those accounts look real enough to enrich, and which handles to queue for a second profile or videos call. Rebuilding the followers sheet from signed mobile traffic means inventing pagination tokens every time TikTok reshuffles the payload.

`GET /v1/tiktok/profiles/{handle}/followers` is the inbound list. Pass the TikTok username (with or without a leading `@`) and read `data.followers` plus `data.page` (`hasMore`, `nextCursor`). When TikTok exposes it, `data.totalFollowers` is the aggregate count for the seed — useful as a progress check while you page. Each follower row can include handle, displayName, avatarUrl, optional avatarUrls (large, medium, thumb), optional platformUserId and secUid, bio, verified, privateAccount, and metrics (followers, following). Optional query params: `cursor` for the next page, `userId` when you already store the numeric id (faster resolve on later pages), and `trim` for a smaller payload.

Branch on `data.lookupStatus` before you write edges. `found` means this page of the list could be returned. `hidden` means TikTok is not exposing the follower list even when the profile card may still resolve on `GET /v1/tiktok/profiles/{handle}`. `private` and `not_found` are explicit too — an empty `followers` array with `found` is not the same as `hidden`. When `hasMore` is true, pass `nextCursor` unchanged on the next call and keep the same handle (and optional `userId`). Each page is a separate billed request; trust the credit amount shown on this page and confirm with `meta.creditsCharged`. Country-level audience mix without named accounts is `GET /v1/tiktok/profiles/{handle}/audience`. The outbound list (accounts this handle follows) is the sibling route below.

TikTok profile followers API FAQ

How do I page TikTok followers for a handle via API?

Call `GET /v1/tiktok/profiles/{handle}/followers` with your Social Fetch API key (`x-api-key`). Pass the TikTok username as the path parameter, with or without a leading `@`. Read `data.lookupStatus` first, then `data.followers` and `data.page`. On later pages, send `cursor` from `data.page.nextCursor` and reuse optional `userId` when you have it.

How much does the TikTok profile followers API cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.

What fields does each inbound follower row include?

handle, displayName, avatarUrl, optional avatarUrls (large, medium, thumb), optional platformUserId and secUid, bio, verified, privateAccount, and metrics (followers, following). With `trim=true`, some optional identity fields may be omitted. Exact nullability lives in the OpenAPI schema for this route.

How should I paginate large TikTok follower lists?

Treat `data.page.nextCursor` as opaque. When `hasMore` is true, pass that cursor as the `cursor` query param on the next request. Keep the same handle across pages; if you resolved `userId` on an earlier call, pass it again to speed up subsequent pages. Stop when `hasMore` is false or `nextCursor` is null. Do not invent or parse the cursor string.

Why is a follower list hidden or empty for a public TikTok profile?

`lookupStatus: hidden` means TikTok is not exposing the follower list for that handle — common when the list is restricted even though the profile card still exists. `private` means the account is private. `found` with an empty `followers` array can mean zero public followers on that page, not a hidden list. Always branch on `lookupStatus` before treating emptiness as "no audience."

How is this different from the following list or audience demographics?

This route pages the inbound follower graph under `data.followers` (who follows the seed). Accounts the seed follows are `GET /v1/tiktok/profiles/{handle}/following` under `data.accounts`. Country-level audience mix without named accounts is `GET /v1/tiktok/profiles/{handle}/audience`. Aggregate follower counts without any list live on `GET /v1/tiktok/profiles/{handle}` under `data.metrics`.

Do I need TikTok OAuth to list a profile's followers?

No. You authenticate to Social Fetch with an API key. The route reads publicly available follower-list data when TikTok exposes it; it does not act on behalf of a logged-in TikTok user.

Can I use this for TikTok audience research or outreach queues?

Yes. Teams page followers for a seed handle, upsert each row by handle or platformUserId, filter on verified / privateAccount / metrics, then fan out selected accounts to the profile or videos routes. Keep `meta.requestId` if you need support on a failed page.