TikTok Follower Scraper API
Our TikTok follower scraper takes a creator's @username or URL and is built to return their follower list as JSON: each follower's handle, nickname, bio, verified status, avatar, and follower counts, paged with a cursor. Read the note below on TikTok's signature wall before you rely on it.
Why TikTok Follower data fights back
TikTok's follower list is served by a web XHR (api/user/list) that requires a browser-minted X-Bogus and msToken signature tied to session cookies. Logged-out residential egress without that signature returns an empty 200, so a plain request gets no follower rows back.
Fire your first TikTok Follower Scraper API call
curl "https://api.tiktokscraperapi.com/api/v1/tiktok/follower?username=nba&count=30&api_key=$API_KEY" import requests
BASE = "https://api.tiktokscraperapi.com/api/v1"
API_KEY = "YOUR_API_KEY"
# Pass whose followers (username or url), a page size, and a cursor.
resp = requests.get(
f"{BASE}/tiktok/follower",
params={"username": "nba", "count": 30, "api_key": API_KEY},
timeout=30,
)
data = resp.json()
# When the signed list is available, iterate the followers array.
for f in data.get("followers", []):
print(f["uniqueId"], "-", f["nickname"], "|", f["followerCount"], "followers") Parameters
| Parameter | Required | Default | Notes |
|---|---|---|---|
username | optional | - | The @handle whose followers you want, with or without the leading @. Required unless you pass url. |
url | optional | - | A full TikTok profile URL; the handle is parsed out of it. One of username or url is required. |
count | optional | 30 | How many followers to request this call. TikTok caps a page at roughly 30 to 50. |
cursor | optional | 0 | The opaque pagination cursor. Pass the next_cursor from a prior response to page deeper. |
country | optional | us | Two-letter country code for the exit region the request is routed through. Defaults to US. |
api_key | required | - | Your API key, passed as a query parameter. Get one free at signup. |
What the TikTok Follower Scraper API hands back
{
"uniqueId": "nba",
"secUid": "MS4wLjABAAAAsny0dcfyctb1_fdyyiu7JOLnblf8y3jd64yTHQLQoc9O5m57HhjT94OdgfSmNgaG",
"url": "https://www.tiktok.com/@nba",
"socialPlatform": "tiktok",
"follower_count": 27100000,
"followers": [
{
"position": 1,
"id": "6700000000000000000",
"uniqueId": "examplefan",
"nickname": "Example Fan",
"signature": "hoops all day",
"verified": false,
"secUid": "MS4wLjABAAAA_examplesecuid_value_here",
"avatar": "https://p16-common-sign.tiktokcdn-us.com/...",
"url": "https://www.tiktok.com/@examplefan",
"followerCount": 128,
"followingCount": 412
}
],
"followers_count": 30,
"has_more": true,
"next_cursor": "30",
"total": 27100000
} | Field | Type | Description |
|---|---|---|
uniqueId | string | The creator @handle whose follower list this is. |
secUid | string | The creator's secUid, which TikTok keys the follower list by. |
follower_count | integer | The creator's total follower count, for context. |
followers | array | Followers on this page. Each has position, id, uniqueId, nickname, signature, verified, secUid, avatar, url, followerCount, and followingCount. |
followers[].uniqueId | string | The follower's @handle. |
followers[].verified | boolean | Whether the follower account is verified. |
followers[].followerCount | integer | The follower's own follower count. |
followers_count | integer | Number of followers returned on this page. |
has_more | boolean | True when another page of followers is available. |
next_cursor | string | The cursor to pass on the next call to page deeper. |
total | integer | Total followers reported for the creator. |
Where teams put TikTok Follower data to work
Audience analysis
Influencer vetting
Lookalike discovery
Overlap studies
Growth tracking
Outreach targeting
Why build on our TikTok Follower Scraper API
The endpoint runs the two hops correctly: it reads the profile to resolve the creator's secUid, then calls the follower-list XHR with the full web-app parameter block and maps each follower into a clean row with cursor pagination. We are honest that TikTok gates this list behind a browser-minted signature, so on a logged-out tier it returns a classifiable followers_gated_needs_signature rather than faking a feed. It runs on residential proxies with retries and success-only billing.
Username or URL input
secUid resolution
Cursor pagination
Honest signature reporting
Residential routing
Pay for success
TikTok Follower Scraper API vs rolling your own
| Our API | DIY (requests / headless) | TikTok official API | |
|---|---|---|---|
| Input by handle or URL | Yes, username or url | Manual two-hop with signed params | Not exposed to general devs |
| Follower rows | Mapped rows when authorised | You mint the signature yourself | No public follower endpoint |
| secUid resolution | Handled for you | You parse it from the profile | Not applicable |
| Signature wall | Reported honestly, not faked | You solve X-Bogus / msToken | Not applicable |
| Anti-bot and proxies | Built in, US residential | You build and maintain it | Not applicable |
| Output | Flat JSON, stable schema | Raw XHR JSON you parse | Not available |
Start free, then pay per call
| Plan | Price | Best for |
|---|---|---|
| Free | 1,000 requests | Testing and small jobs |
| Pro | $0.60 / 1k | Production workloads |
| Pay-as-you-go | $0.90 / 1k | Spiky or one-off volume |
Median response 2.6s. You only pay for successful requests.
FAQ
A TikTok follower scraper is a tool that reads a creator's follower list and returns it in a structured format. Our TikTok follower scraper API is built to take an @username or profile URL and return each follower as JSON, with the handle, nickname, bio, verified status, avatar, and the follower's own counts, paged with a cursor.
Not reliably, and we say so plainly. TikTok serves the follower list through a web XHR that requires a browser-minted X-Bogus and msToken signature tied to session cookies. Logged-out residential egress without that signature receives an empty 200, so the endpoint returns a classifiable followers_gated_needs_signature response in that case rather than pretending to have followers.
TikTok keys its follower-list API by secUid, a stable secondary user id, not by the @handle. So the first hop fetches the profile page to read the creator's secUid, and the second hop calls the list endpoint with that secUid. Both hops are implemented; the list hop is the one gated by the signature wall.
When authorised, each follower returns position, id, uniqueId, nickname, signature, verified, secUid, avatar, url, followerCount, and followingCount. The top-level response adds the creator's follower_count, followers_count for the page, has_more, next_cursor, and total.
Set count for the page size and pass cursor starting at 0. Each response returns next_cursor and has_more; pass next_cursor back as cursor on the next call and stop when has_more is false. TikTok caps a page at roughly 30 to 50 followers.
A follower list is public, but follower handles and bios can be personal data, so you are responsible for handling it lawfully under GDPR and similar laws and for following TikTok's terms. This is general information, not legal advice; confirm your specific use with counsel before collecting follower data at scale.