TikTok Scraper - Profiles, Videos, Comments & Followers avatar

TikTok Scraper - Profiles, Videos, Comments & Followers

Pricing

$3.00 / 1,000 results

Go to Apify Store
TikTok Scraper - Profiles, Videos, Comments & Followers

TikTok Scraper - Profiles, Videos, Comments & Followers

Scrape TikTok profiles, videos, comments and hashtag results. Pay per result.

Pricing

$3.00 / 1,000 results

Rating

5.0

(2)

Developer

Scrape Lads

Scrape Lads

Maintained by Community

Actor stats

3

Bookmarked

4

Total users

1

Monthly active users

9 hours ago

Last modified

Categories

Share

TikTok Scraper

Extract profiles, videos, comments, and followers from any public TikTok account or video — no login, no API key, no rate limits from TikTok's official API. Get clean structured JSON you can download, schedule, or pipe straight into your own tools.

Pay only for results. $1 per 1,000 items scraped (profile videos: $0.50 per 1,000). One of the lowest prices on the platform.


What can it scrape?

ModeInputData you get
Profile info@handles or profile URLsFollowers, following, total likes, post count, bio, verified status, avatar
Profile videos@handles or profile URLsEvery video with views, likes, comments, shares, saves, caption, hashtags, upload date
Video metricsVideo URLsFull engagement stats for specific videos — views, likes, shares, comments, saves, duration
Video commentsVideo URLsComment text, author, likes, reply count, pinned/liked-by-author flags, timestamp
Followers list@handles or profile URLsFollower profiles — username, display name, follower count, verified status

Why use this scraper?

  • No TikTok account needed. Runs headlessly against public data — no cookies to manage, no sessions to refresh.
  • Cheaper than alternatives. At $1 per 1,000 results, it costs up to 40% less than comparable TikTok scrapers on the platform.
  • Five modes in one actor. Profile stats, full video catalogs, per-video metrics, comments, and followers — all from a single integration.
  • Structured output every time. Every field has a consistent name and type across all runs. No post-processing required to normalize the data.
  • Schedule it. Run on a cron schedule to track an account or video weekly without writing any code.

How to use it

In the Console (no code):

  1. Click Try for free above
  2. Choose a Scrape mode from the dropdown
  3. Paste your handles or video URLs
  4. Set Max results and click Start Run
  5. Download results as JSON, CSV, or Excel from the Output tab

Via API:

// JavaScript / Node.js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('scrape-lads/tiktok-scraper').call({
mode: 'profile',
handles: ['@charlidamelio', '@khaby.lame', '@zachking'],
maxResults: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
# Python
from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('scrape-lads/tiktok-scraper').call(run_input={
'mode': 'profileVideos',
'handles': ['@zachking'],
'maxResults': 100,
})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['caption'], item['views'])

Input reference

FieldTypeRequiredDescription
modestringYesprofile · profileVideos · video · comments · followers
handlesstring[]For profile / profileVideos / followers modesTikTok handles — @tiktok, tiktok, or full profile URL
videoUrlsstring[]For video / comments modesFull TikTok video URLs
maxResultsintegerNoMax items to collect. Default: 100. Max: 1000
maxConcurrencyintegerNoParallel requests (1–5). Default: 1. Keep at 1 for large runs

Handles accept any format: @tiktok, tiktok, or https://www.tiktok.com/@tiktok — all work the same.


Output reference

Profile

{
"username": "charlidamelio",
"displayName": "charli d'amelio",
"bio": "probably dancing :)",
"followers": 155400000,
"following": 1642,
"likes": 11100000000,
"postCount": 2341,
"verified": true,
"privateAccount": false,
"avatarUrl": "https://p16-sign.tiktokcdn-us.com/...",
"profileUrl": "https://www.tiktok.com/@charlidamelio",
"scrapedAt": "2026-06-29T12:00:00.000Z"
}

Video (profile videos + video metrics)

{
"videoId": "6768504823336815877",
"videoUrl": "https://www.tiktok.com/@zachking/video/6768504823336815877",
"authorUsername": "zachking",
"authorName": "Zach King",
"caption": "They rejected my application to Hogwarts but I still found a way in",
"hashtags": ["magic", "harrypotter", "fyp"],
"views": 2373556960,
"likes": 28492049,
"comments": 312041,
"shares": 1872930,
"saves": 4201882,
"duration": 14,
"coverUrl": "https://p16-sign.tiktokcdn-us.com/...",
"musicTitle": "original sound - zachking",
"uploadedAt": "2019-12-09T00:00:00.000Z",
"scrapedAt": "2026-06-29T12:00:00.000Z"
}

Comment

{
"commentId": "7112196704363414273",
"videoUrl": "https://www.tiktok.com/@zachking/video/6768504823336815877",
"authorUsername": "user_example",
"text": "This is genuinely the most viewed TikTok ever and it deserves it",
"likes": 48201,
"replyCount": 234,
"isReply": false,
"pinned": false,
"likedByAuthor": true,
"postedAt": "2021-04-12T17:42:00.000Z",
"scrapedAt": "2026-06-29T12:00:00.000Z"
}

Follower

{
"sourceProfile": "charlidamelio",
"connectionType": "follower",
"username": "user_example",
"displayName": "Example User",
"bio": "just here for the content",
"followers": 3820,
"following": 941,
"verified": false,
"privateAccount": false,
"profileUrl": "https://www.tiktok.com/@user_example",
"scrapedAt": "2026-06-29T12:00:00.000Z"
}

Use cases

Influencer vetting before a campaign Pull profile stats for 50 creator candidates in a single run. Compare follower counts, posting frequency, and total engagement to shortlist based on real numbers — not self-reported media kits.

Track competitor content over time Run profile videos mode weekly on a competitor's account. Watch which formats, captions, and hashtags drive their best numbers — before the trend peaks.

Audience research from comments Scrape 500–1,000 comments from your category's viral videos. Feed the text into a sentiment model to understand what your potential customers care about and how they talk.

Lead generation from follower lists If your target buyer persona follows specific niche accounts, export their follower list. Filter by follower count or bio keywords to build a qualified outreach list.

Content strategy reverse engineering Scrape the full video catalog of the top 10 creators in your niche. Analyze upload timing, caption length, hashtag choice, and engagement rate to see exactly what drives views.

Social listening and brand monitoring Pull comments mentioning your brand, product, or keywords from relevant videos. Track sentiment shifts in real time without manual searching.


Pricing

WhatCost
Actor start (per run)$0.005
Profile, video, comment, or follower result$0.001
Profile video result$0.0005

Example costs:

  • Scrape stats for 1,000 TikTok accounts → $1.00
  • Pull 500 comments from a video → $0.50
  • Get 200 videos from a creator's profile → $0.10
  • Export 1,000 follower profiles → $1.00

Gold, Platinum, and Diamond subscribers get automatic discounts applied on top of these rates.


Scheduling and automation

Set up a weekly tracker: Actor page → Schedules → add a cron expression like 0 9 * * 1 (every Monday at 9 AM). Results accumulate in the dataset so you can diff week over week.

Connect to your stack:

ToolWhat you can do
Zapier / MakePush new results to Google Sheets, Airtable, Notion, Slack, or 1,000+ other apps
WebhooksPOST results to your own endpoint the moment a run finishes
REST APITrigger runs and retrieve data from any backend or script
MCPUse this scraper directly inside Claude or other AI agents via the Apify MCP server

FAQ

Is scraping TikTok legal? This actor collects only publicly visible data — the same information anyone can see on TikTok.com without an account. It does not bypass authentication, access private content, or violate any access controls. That said, you are responsible for how you use the data and for complying with TikTok's Terms of Service, GDPR, CCPA, and any other laws that apply in your jurisdiction.

Why are some fields null? TikTok doesn't expose every field for every piece of content. Some creators hide their like counts; some older videos have no music metadata. When a field isn't available, it returns null rather than an incorrect value.

Can I scrape private accounts? No. Private profiles and their content are not visible without being an approved follower. This actor only works on fully public accounts and videos.

I got fewer results than my maxResults limit. Why? TikTok limits how many comments or videos are accessible on some content — particularly older videos or accounts with low engagement. The actor collects everything available up to your limit.

What happens if a video is deleted mid-run? That URL is skipped and logged. The run continues with the remaining URLs and still exits successfully.

How do I track a creator week over week? Use the Schedules feature to run the same task on a cron schedule. Each run appends to the same dataset, so you can export and compare results across dates.

Something looks broken or the data is wrong. TikTok updates its site regularly. Open an issue on the Issues tab with your input configuration and we will investigate and push a fix fast.