# TikTok Followers & Following Scraper \[$0.99/1k] No Login (`memo23/tiktok-followers-scraper`) Actor

Scrape the followers, following, or suggested accounts of any public TikTok profile — no login, no cookies, zero risk to your account. Get username, nickname, bio, verified & private flags, avatar, profile URL, and full stats (followers, likes, videos) for every account.

- **URL**: https://apify.com/memo23/tiktok-followers-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Social media, Lead generation, AI
- **Stats:** 1 total users, 1 monthly users, 85.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.99 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## TikTok Followers & Following Scraper

<p align="center">
  <img src="https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/tiktok-followers-logo.png" alt="TikTok Followers & Following Scraper" width="240" />
</p>

**Scrape the followers, following, or suggested accounts of any public TikTok profile — no login, no cookies, zero risk to your own account.** Paste one or more usernames and get back every account with username, nickname, bio, verification status, avatar, profile URL, **and its own follower / following / like / video counts** on every row. From **$0.99 per 1,000 results**. Export as JSON, CSV, or Excel.

### Why Use This Scraper?

- **Zero account risk** — you never hand over TikTok cookies or log in, so your account can't be flagged, throttled, or banned. Cookie-based scrapers make *you* supply a session and take that risk; this one never does.
- **No TikTok account needed** — nothing to configure, no 2FA, no checkpoints.
- **Three lists in one Actor** — followers, following, and TikTok's suggested/similar accounts, selected per run.
- **Stats on every row** — each follower comes with its own follower, following, like, and video counts. Vet audience quality or rank accounts by size without paying for a separate profile lookup per account.
- **Complete lists** — walks the entire follower list cursor by cursor, not just the first page.
- **Multiple profiles per run** — pass a whole list of usernames; every row is tagged with its source account.
- **Clean, flat output** — one row per account, tagged with its list `type`, ready for CRM import, influencer analysis, or network graphs.

### Overview

This Actor returns **one dataset row per account** in the requested list(s). For each input username it first resolves the profile, then walks the requested lists page by page. It does **not** return the input user's own profile — it returns the accounts in their lists. Data is retrieved through a third-party TikTok data provider, so no TikTok credentials are ever required.

### Supported Inputs

| Input | What you get |
|---|---|
| A single username (e.g. `tiktok`) | Its followers, following, and/or suggested list, per `dataToScrape` |
| Multiple usernames | Lists for all of them in one run, each row tagged by `sourceUsername` and `type` |

- Handles are accepted with or without the leading `@`, and full profile URLs work too — `https://www.tiktok.com/@tiktok`, `tiktok.com/@tiktok/`, or the mobile `m.tiktok.com` variant, with or without query parameters.
- **Not supported:** private accounts (their lists aren't public — the Actor returns an error item for them), video URLs, tag URLs.

> Pure HTTP. No browser, no CAPTCHA solver, no cookies.

### Use Cases

| Audience | How they use it |
|---|---|
| Influencer marketers | Vet a creator's audience quality — the per-follower stats expose bot-heavy or dormant followings at a glance |
| Growth / social teams | Build lookalike audiences from a competitor's followers, or mine TikTok's own suggested accounts for adjacent creators |
| Researchers / OSINT | Reconstruct interest and affiliation networks from public follows |
| Sales / lead gen | Surface brands and creators a target account follows, pre-ranked by their own audience size |

### How It Works

<p align="center">
  <img src="https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/how-it-works-tiktok-followers.png" alt="How the TikTok Followers & Following Scraper works" width="900" />
</p>

1. **Resolve** — each input username is looked up to get its secure ID and follower/following counts.
2. **Paginate** — each requested list is walked cursor by cursor until complete (or until your cap).
3. **Emit** — every account is pushed to the dataset as its own row with full stats, tagged with `sourceUsername` and `type` so multi-user, multi-list runs stay separable.

### Input Configuration

| Field | Type | Required | Notes |
|---|---|---|---|
| `usernames` | array of strings | Yes | Public usernames to scrape, with or without `@`, or profile URLs. |
| `dataToScrape` | string | No | Dropdown: `followers`, `following`, `suggested`, or `all`. Default: `followers`. |
| `maxResultsPerUser` | integer | No | Cap results per username per list. Omit for complete lists. |

#### Example input

```json
{
    "usernames": ["tiktok", "https://www.tiktok.com/@charlidamelio"],
    "dataToScrape": "all",
    "maxResultsPerUser": 500
}
```

### Output Overview

Each item is a flat object describing one account in a requested list, tagged with `type` (`follower`, `following`, or `suggested`) and carrying that account's own public stats. Runs stream to the default dataset, exportable as JSON, CSV, Excel, or via the API.

### Output Samples

```json
{
    "sourceUsername": "tiktok",
    "type": "follower",
    "userId": "7367771871134336008",
    "secUid": "MS4wLjABAAAAManI9wSQacyQasJwwc-qc2k9H9Ayc2B5AGyhupxb1mfp...",
    "username": "khoanho1009",
    "nickname": "khoa nhỏ",
    "bio": "",
    "isVerified": false,
    "isPrivate": false,
    "avatarUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/...",
    "profileUrl": "https://www.tiktok.com/@khoanho1009",
    "followerCount": 460,
    "followingCount": 3189,
    "likeCount": 5796,
    "videoCount": 0
}
```

### Key Output Fields

| Field | Description |
|---|---|
| `sourceUsername` | The input account this row came from |
| `type` | `follower`, `following`, or `suggested` — which list the row belongs to |
| `userId` / `secUid` | TikTok's numeric and secure IDs of the listed account |
| `username` / `nickname` | Handle and display name of the listed account |
| `bio` | Profile signature text (may be empty) |
| `isVerified` / `isPrivate` | Verification badge and privacy flag |
| `avatarUrl` / `profileUrl` | Profile picture and direct TikTok profile link |
| `followerCount` / `followingCount` | The listed account's own audience counters |
| `likeCount` / `videoCount` | Total likes received and videos posted by the listed account |

### FAQ

**Do I need to provide my TikTok cookies or log in?**
No. This Actor never asks for cookies, passwords, or a session — that's the point. Cookie-based scrapers advertise a lower headline price but require *you* to paste your own TikTok session, which puts your account at risk. Here your account stays completely out of it.

**Does it work on private accounts?**
Only public accounts. A private account's lists aren't public, so the Actor emits an error item for it and continues with your other usernames.

**What if an account hides its lists?**
TikTok lets users hide their following list even on public profiles. When a list is hidden, the Actor emits a `list_not_public` error item for that account and list instead of failing the run.

**What are "suggested" accounts?**
TikTok's own "similar accounts" recommendations for that profile — typically around 30 accounts in a single batch. Useful for finding adjacent creators in the same niche.

**How fresh is the data?**
Fetched live at run time, including every account's current stats.

**What does it cost?**
Pay per result: from **$0.99 per 1,000 accounts**, plus a small per-run start fee. No subscription.

### Support

Found a bug or need a field added? Open an issue on the Actor's **Issues** tab in Apify Console, or email <muhamed.didovic@gmail.com>.

### Additional Services

Need a custom TikTok or social-media scraper, enrichment pipeline, or a private version of this Actor? Custom builds available — reach out at <muhamed.didovic@gmail.com>.

### Explore More Scrapers

- **[TikTok Hashtag Scraper](https://apify.com/memo23/tiktok-hashtag-scraper)** — every video posted under a hashtag, with engagement stats and creator follower counts
- **[TikTok Search Scraper](https://apify.com/memo23/tiktok-search-scraper)** — TikTok's ranked search results for any keyword
- **[Social Video Transcript Scraper](https://apify.com/memo23/tiktok-profile-videos-cheerio)** — captions and AI transcripts for TikTok and Instagram videos
- **[TikTok Keyword Suggestions Scraper](https://apify.com/memo23/tiktok-suggestions-scraper)** — autocomplete and keyword expansion
- **[Instagram Followers & Following Scraper](https://apify.com/memo23/instagram-following-scraper)** — the same product for Instagram

Browse the full portfolio: [muhamed-didovic.github.io](https://muhamed-didovic.github.io/)

### 🤖 For AI Agents & LLM Apps

**Purpose:** Return the followers, following, and/or suggested-accounts lists of public TikTok profiles.

**Minimal tested input:**

```json
{ "usernames": ["tiktok"], "dataToScrape": "followers", "maxResultsPerUser": 50 }
```

**Output:** array of flat objects, one per account. Fields: `sourceUsername`, `type`, `userId`, `secUid`, `username`, `nickname`, `bio`, `isVerified`, `isPrivate`, `avatarUrl`, `profileUrl`, `followerCount`, `followingCount`, `likeCount`, `videoCount`.

**Behavior & billing:** Pay-per-event — one charge per result. Private accounts and hidden lists yield one error item instead of rows. Multiple usernames allowed per call; each result carries its `sourceUsername`. No login/cookies required.

### ⚠️ Disclaimer

This Actor accesses publicly available data on TikTok for legitimate research, market-intelligence, and business-analysis purposes. It does not log in, bypass authentication, or access private content. Use of this Actor must comply with TikTok's Terms of Service and all applicable laws, including data-protection regulations (GDPR, CCPA, etc.). The authors are not responsible for any misuse. Users must:

- Respect rate limits and avoid overloading TikTok's infrastructure
- Not use scraped data to violate user privacy or platform terms
- Process any personal data only with a lawful basis and in compliance with their jurisdiction
- Not republish scraped content in violation of copyright

We do not store scraped data; the Actor returns it directly to your Apify dataset for your authorized use. TikTok is a trademark of ByteDance Ltd.; this Actor is not affiliated with or endorsed by TikTok or ByteDance.

### SEO Keywords

tiktok followers scraper, tiktok following scraper, scrape tiktok followers, tiktok followers export, tiktok followers list download, who follows a tiktok account, tiktok following list scraper, tiktok followers to csv, tiktok suggested accounts scraper, tiktok similar accounts finder, tiktok network analysis, tiktok graph scraper, tiktok osint tool, tiktok followers api, no login tiktok scraper, no cookies tiktok scraper, tiktok data extraction, influencer audience analysis, tiktok audience quality check, tiktok lookalike audience, social media scraper, tiktok public data, competitive intelligence tiktok, apify tiktok scraper

# Actor input Schema

## `usernames` (type: `array`):

Public TikTok accounts whose follower/following/suggested lists you want to scrape. Accepts plain handles (tiktok), @-handles (@tiktok), or profile URLs (https://www.tiktok.com/@tiktok) — one per line, mixed formats are fine. Private accounts return an error item. Example: \["tiktok", "https://www.tiktok.com/@charlidamelio"]. Required, no default.

## `dataToScrape` (type: `string`):

Which list to collect for each account: Followers (accounts that follow them), Following (accounts they follow), Suggested (accounts TikTok recommends as similar), or all three at once. Default: Followers.

## `maxResultsPerUser` (type: `integer`):

Maximum number of accounts to collect per username per list. Use it to cap cost or sample a profile. Leave empty to fetch complete lists. Example: 500. Default: unlimited.

## Actor input object example

```json
{
  "usernames": [
    "tiktok",
    "https://www.tiktok.com/@charlidamelio"
  ],
  "dataToScrape": "followers"
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "usernames": [
        "tiktok"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/tiktok-followers-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "usernames": ["tiktok"] }

# Run the Actor and wait for it to finish
run = client.actor("memo23/tiktok-followers-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "usernames": [
    "tiktok"
  ]
}' |
apify call memo23/tiktok-followers-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=memo23/tiktok-followers-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/sQQjLddRyelrsZtQy/builds/1rTH3hssNPtRPfaV0/openapi.json
