All posts

Best TikTok profile scrapers: followers, likes and bios at scale

November 8, 2026

A TikTok profile scraper turns a handle into structured data: name, bio, avatar, follower count, following count, total likes, video count and whether the account is verified or private. That is the raw material for influencer shortlists, CRM enrichment and competitor tracking. Here are the realistic ways to get it and a working script.

What a profile record should contain

FieldWhy it matters
idStays the same when the creator changes their handle. Store it.
handle, name, bioMatching, search and contact hints such as an email in the bio.
followers, followingReach, and a quick bot check (very high following with low followers is a flag).
likes, postsLifetime likes divided by videos gives a rough likes-per-video.
verified, privatePrivate accounts have no public videos to analyse.

The options

TikTok Research API

Its user info endpoint returns display name, bio, avatar, verified flag, follower, following, likes and video counts, and the bio link source. It is the official source, but only eligible academic and non-profit researchers can apply source.

TikTok Display API

Returns basic profile info for a creator who signs in to your app and grants access source. Good for creator onboarding. You cannot look up arbitrary handles with it.

TikTok-Api (open source)

Free and MIT licensed, but it runs a browser and needs your own cookie token, and its README warns about bot blocking source. Fine for a few hundred profiles on a laptop. Not something to put behind a customer-facing feature.

Bright Data

Has a dedicated TikTok profiles scraper, priced at $1.50 per 1,000 records pay as you go, with 5,000 free records a month source. It suits batch jobs: upload a list, get a file back.

EnsembleData

Offers TikTok user data on monthly plans from $100 for 1,500 units a day source. A fit if you check a steady number of profiles every day.

ScrapeIO

tiktok profile API returns one profile for 1 credit, and tiktok profile videos API returns the account's recent videos with plays, likes, comments, shares and saves. Private and not-found accounts are not charged, which matters when your list is old.

Script: enrich a list of handles

This reads handles from a text file and writes a CSV. Swap the URL and field names for whichever source you use.

import csv, requests

KEY = "YOUR_KEY"
rows = []
for handle in open("handles.txt").read().split():
    r = requests.get("https://scrapeio.com/v1/tiktok/profile",
                     params={"handle": handle},
                     headers={"x-api-key": KEY}, timeout=30).json()
    if not r.get("success"):
        rows.append({"handle": handle, "status": "missing"})
        continue
    p = r["data"]
    rows.append({
        "handle": p["handle"], "id": p["id"], "followers": p["followers"],
        "likes": p["likes"], "posts": p["posts"], "verified": p["verified"],
        "likes_per_video": round(p["likes"] / p["posts"]) if p["posts"] else None,
        "status": "ok",
    })

with open("profiles.csv", "w", newline="") as f:
    w = csv.DictWriter(f, fieldnames=sorted({k for r in rows for k in r}))
    w.writeheader()
    w.writerows(rows)

Profile numbers lie a little. Check videos too.

Follower counts are cumulative. An account that went viral in 2022 can have two million followers and 3,000 views per video today. Before you rank creators, pull their last 20 to 30 videos and compute:

  • Median plays of recent videos. Use the median, not the mean, so one viral hit does not skew it.
  • Engagement rate by views: (likes + comments + shares) / plays.
  • Views to followers: median plays / followers. Under 5% often means a stale audience.
  • Posting cadence: videos in the last 30 days.

Common mistakes

  • Keying your database on handle. Handles change. Use the id.
  • Treating a missing count as zero. Store null when the source did not report a value.
  • Re-pulling every profile daily. Follower counts move slowly; weekly is usually enough.

Spotting inflated profiles

A profile scraper also helps you avoid paying for fake reach. Four quick checks catch most problems:

  • Likes per follower. Lifetime likes far below followers suggests followers that never engage.
  • Views to followers. Median plays under 1% of followers on recent videos is a warning sign.
  • Sudden jumps. If you snapshot weekly, a follower jump with no viral video behind it deserves a question.
  • Comment quality. Generic one-word or emoji-only comments on every video often come from engagement groups.

None of these proves fraud alone. Two or more together are worth a conversation with the creator before you sign.

How to do it with ScrapeIO

Use tiktok profile API for the profile and tiktok profile videos API for the recent videos. Both cost 1 credit per call, so a 1,000-creator list with one page of videos each is about 2,000 credits, under $4 on the Starter pack. The same script works for Instagram or YouTube by changing the path, because the field names match.

Sources

Checked on 8 November 2026 from each vendor's own pages. Prices and limits change; follow the links before you decide.

100 free credits, no card. Credits never expire.

Get API key