Skip to main content

tiktok-followers-scraper

Export the followers and following list of any public TikTok profile to CSV from Python.

The scraping runs on Apify as the TikTok Followers Scraper actor (no login, no cookies). This repo is a small client: it starts the actor with apify-client, waits for the run and saves the rows to a CSV file.

Each row is one account: username, name, bio, email in bio, followers, likes, videos, verified badge and the time of the follow. The CSV columns are taken from the actor output, so new fields appear automatically.

Install

pip install -r requirements.txt
export APIFY_TOKEN=your_token      # Windows PowerShell: $env:APIFY_TOKEN="your_token"

Get a token in Apify Console → Settings → Integrations. A free Apify account works.

Usage

# last 200 followers of two profiles
python tiktok_followers.py @nasa garyvee --max 200 -o output/followers.csv

# followers and following of one profile
python tiktok_followers.py @nasa --lists both

# influencers only: 10k+ followers, with an email in the bio
python tiktok_followers.py @nasa --min-followers 10000 --only-email

# accounts whose bio mentions coaching
python tiktok_followers.py @garyvee --keywords coach coaching
Option Meaning
--lists followers (default), following or both
--max accounts per list per profile, up to 10 000 (TikTok shows only the latest 10 000)
--exact-time exact follow time per account, slower
--min-followers / --max-followers filter by the account's own follower count
--verified-only blue badge only
--only-email only accounts with an email in the bio
--keywords words in bio, name or username
-o output CSV path

Use from your own code

from apify_client import ApifyClient
import tiktok_followers as tf

client = ApifyClient("your_token")
rows = tf.fetch(client, {"profiles": ["@nasa"], "lists": "followers", "maxPerProfile": 50})
tf.write_csv(rows, "output/nasa.csv")

Track new followers on a schedule

The actor can return only new followers and unfollows since the previous run (onlyNew, detectUnfollows). Set that up as a scheduled task in Apify Console; see the actor page for how it works.

Sample output

A real run on 4 Nov 2026: python tiktok_followers.py @nasa --max 5 returned 5 rows and 28 columns. Usernames are masked here; the CSV you get has full values.

list position username nickname bio verified followerCount likeCount videoCount
followers 1 sp*******ah 💤 False 22 9 7
followers 2 jo*******43 💰 The ultimate pursuit of truth False 19 5 1
followers 3 mi*******cc minh skibidi bell False 54 37 3

All columns: input, sourceUsername, sourceNickname, sourceUserId, sourceFollowerCount, sourceFollowingCount, list, position, userId, username, nickname, profileUrl, bio, bioEmail, verified, privateAccount, isSeller, followerCount, followingCount, likeCount, videoCount, friendCount, avatarUrl, secUid, followedAt, followedAfter, followedBefore, scrapedAt.

Without --exact-time each row carries a time window (followedAfter / followedBefore) instead of the exact followedAt.

What it is useful for

  • Influencer and lead lists: followers of a competitor or niche account, filtered by follower count and email in the bio, as a CSV for outreach.
  • Audience analysis: load the CSV into pandas or Google Sheets and look at follower sizes, verified share and bio keywords.
  • Competitor research: the accounts a profile follows (--lists following).
  • Growth tracking: schedule the actor to get only new followers and unfollows.

FAQ

Do I need to log in to TikTok? No. The actor works on public profiles without a login or cookies.

How many followers can I export? Up to 10 000 per list per profile: TikTok shows only the latest 10 000 followers of an account to anyone.

Does it work with private accounts? No, only public ones.

Where does my token go? Nowhere but to Apify. The script reads APIFY_TOKEN from the environment and never writes it to a file or to the CSV.

Is it legal to use? The data is public, but what you do with it, including emails from bios, is on you: check GDPR and TikTok's terms before using it for outreach.

Notes

  • Only public accounts. Some accounts hide their following list.
  • Pricing is set by the actor and shown on its Apify page; this repo adds nothing to it.
  • More: Baltic Assets, TikTok data tools

MIT licence.

Metadata

Release files for tiktok-followers-scraper 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tiktok-followers-scraper 0.1.0
File Size Uploaded Provenance Actions
tiktok_followers_scraper-0.1.0.tar.gz 6.1 kB Without provenance Details for tiktok_followers_scraper-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tiktok-followers-scraper 0.1.0
File Interpreter ABI Platform Actions
tiktok_followers_scraper-0.1.0-py3-none-any.whl Python 3 none any Details for tiktok_followers_scraper-0.1.0-py3-none-any.whl

Total release size: 13.0 kB

Release files / tiktok_followers_scraper-0.1.0.tar.gz

Download URL tiktok_followers_scraper-0.1.0.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ee5f77c0422b4a3001c1f346cdd819c192d93fb49c4562776339fe2b25e7b32a
BLAKE2b-256 checksum
How to use checksums
4a26e30aa36690e5cc4e5485b2e0929c60b953c513650437941d105396e272a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / tiktok_followers_scraper-0.1.0-py3-none-any.whl

Download URL tiktok_followers_scraper-0.1.0-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
75c198179a2a103d02b2fae106789a6bff19d3fa842d78885b890efe18464510
BLAKE2b-256 checksum
How to use checksums
e17abab01f5f51d255522c8261bba6820cccd3b74778924f4e550bdfea7e82f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Security for tiktok-followers-scraper 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page