TikTok Scraper avatar

TikTok Scraper

Pricing

Pay per event

Go to Apify Store
TikTok Scraper

TikTok Scraper

Extract TikTok profile stats, video lists from any user, and individual video details. Get followers, views, likes, comments, hashtags, and music info without login.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

2 hours ago

Last modified

Categories

Share

Scrape TikTok profiles and video details without login. Extract follower counts, engagement stats, video captions, music info, and more from any public TikTok account or video.

What does TikTok Scraper do?

TikTok Scraper extracts publicly available data from TikTok. It supports three modes:

  • Profiles — Get user metadata: followers, following, hearts, video count, bio, avatar, verification status
  • Posts — Get a user's video list with full metadata: views, likes, comments, shares, duration, music, hashtags
  • Video details — Get full video data from specific URLs: play count, likes, comments, shares, duration, music, hashtags, mentions

Profiles mode uses lightweight HTTP requests. Posts and video details modes use a real browser to handle TikTok's anti-bot protections.

Why use this scraper?

  • No login required — Works with public data only, no TikTok account needed
  • Fast and lightweight — Profiles and video URLs use HTTP-only mode (256 MB memory)
  • Smart browser mode — Posts mode uses a real browser to intercept TikTok's signed API, getting video lists others can't
  • Reliable — Automatic retries with proxy rotation on every request
  • Clean output — Flat JSON with consistent field names, ready for analysis

Use cases

Marketing and brand teams

  • Social media monitoring — Track follower growth and engagement for influencers or competitors
  • Content analysis — Extract video metadata, hashtags, and music to understand what drives engagement
  • Market research — Analyze engagement rates and content performance by niche

Agencies and influencer platforms

  • Influencer research — Compare profile stats across multiple TikTok creators before partnerships
  • Campaign tracking — Monitor video performance metrics during sponsored campaigns
  • Lead generation — Build lists of TikTok creators by follower count and engagement

Research and data teams

  • Academic research — Collect TikTok data for social media studies and trend analysis
  • Trend detection — Track viral sounds, hashtags, and content formats as they emerge
  • Dataset building — Create structured TikTok datasets for analytics or ML training

How to scrape TikTok

  1. Create an Apify account (free tier available)
  2. Open TikTok Scraper in Apify Console
  3. Choose a scraping mode: Profiles, Posts, or Video URLs
  4. Enter TikTok usernames or video URLs
  5. Click "Start" and wait for results
  6. Download data as JSON, CSV, or Excel

Output data

Profile output

FieldTypeDescription
usernamestringTikTok username
nicknamestringDisplay name
verifiedbooleanBlue checkmark status
followersCountnumberNumber of followers
followingCountnumberNumber of accounts followed
heartsCountnumberTotal likes received
videosCountnumberNumber of videos posted
signaturestringBio/description
avatarUrlstringProfile picture URL
urlstringProfile URL

Video output

FieldTypeDescription
idstringVideo ID
urlstringVideo URL
descriptionstringVideo caption
playCountnumberNumber of views
diggCountnumberNumber of likes
commentCountnumberNumber of comments
shareCountnumberNumber of shares
collectCountnumberNumber of saves
durationnumberVideo duration in seconds
authorUsernamestringCreator username
musicNamestringSound/music name
hashtagsarrayHashtags used
coverUrlstringThumbnail URL
createTimestringISO timestamp

Input parameters

  • modeprofiles (default), posts, or videoUrls
  • usernames — List of TikTok usernames (without @). Used in profiles and posts modes
  • videoUrls — List of full TikTok video URLs. Used in videoUrls mode
  • maxVideos — Maximum videos to extract per profile (default: 10, max: 100). Used in posts mode

How much does it cost to scrape TikTok?

TikTok Scraper uses pay-per-event pricing. You only pay for what you scrape.

EventCostDescription
Start$0.01One-time per run
Profile$0.005Per profile extracted
Browser session$0.15Per profile in Posts mode
Video$0.005Per video extracted

Example costs:

  • 10 profiles: $0.06
  • 100 profiles: $0.51
  • 1 profile + 5 posts: $0.19
  • 1 profile + 50 posts: $0.42
  • 2 profiles + 10 posts each: $0.42

The Apify free plan ($5/month) lets you scrape ~900 profiles or ~25 profiles with their video lists per month.

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('automation-lab/tiktok-scraper').call({
mode: 'profiles',
usernames: ['charlidamelio', 'khaby.lame'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('automation-lab/tiktok-scraper').call(run_input={
'mode': 'profiles',
'usernames': ['charlidamelio', 'khaby.lame'],
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl "https://api.apify.com/v2/acts/automation-lab~tiktok-scraper/runs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode": "profiles", "usernames": ["charlidamelio"]}'

Tips

  • Use usernames without @ — Enter charlidamelio not @charlidamelio
  • Video URLs must be full links — Use the complete URL like https://www.tiktok.com/@user/video/1234567890
  • Profiles mode is fastest — Each profile takes ~5 seconds with proxy rotation
  • Posts mode scrolls for videos — It loads the profile in a browser and scrolls to trigger API calls. More videos = more scrolling time
  • Error handling — If a username or video URL fails, the scraper skips it and continues with the rest

Integrations

Connect TikTok Scraper to your workflow using Apify integrations:

  • Google Sheets — Export profiles and video stats to a spreadsheet for tracking creator performance over time
  • Slack / Discord — Get notifications when scraping completes or when new videos exceed engagement thresholds
  • Zapier / Make — Automate workflows, e.g., save top-performing TikTok videos to a content calendar or trigger outreach for high-follower creators
  • Webhooks — Send results to your own API endpoint for custom processing
  • Scheduled runs — Set up daily or weekly scrapes to monitor creator accounts or trending content
  • Data warehouses — Pipe data to BigQuery, Snowflake, or PostgreSQL for large-scale analytics
  • AI/LLM pipelines — Feed video captions and engagement data into trend analysis or content recommendation models

Use with AI agents via MCP

TikTok Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP). This lets you use natural language to scrape data — just ask your AI assistant and it will configure and run the scraper for you.

Setup for Claude Code

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/tiktok-scraper"

Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

{
"mcpServers": {
"apify-tiktok-scraper": {
"url": "https://mcp.apify.com?tools=automation-lab/tiktok-scraper"
}
}
}

Your AI assistant will use OAuth to authenticate with your Apify account on first use.

Example prompts

Once connected, try asking your AI assistant:

  • "Get the latest 20 TikTok videos from @khaby.lame"
  • "Search TikTok for videos about 'cooking hacks'"
  • "Scrape trending TikToks in the US"

Learn more in the Apify MCP documentation.

Legality

This scraper only accesses publicly available data on TikTok. It does not bypass any login walls, CAPTCHAs, or access controls. The data collected is the same as what any visitor can see on TikTok's website.

Web scraping of publicly available data is generally legal, but you should review TikTok's Terms of Service and applicable laws in your jurisdiction. Use the data responsibly and in compliance with privacy regulations like GDPR.

FAQ

Does this scraper require a TikTok account? No. It works with public data only — no login, cookies, or account needed.

Can it scrape private accounts? No. Only public profiles and videos are accessible.

Can it scrape video lists from a profile? Yes! Use the Posts mode. It launches a browser, loads the profile page, and intercepts TikTok's signed API responses to extract the video list with full metadata. Set maxVideos to control how many videos to collect per profile.

How many profiles can I scrape at once? There's no hard limit. The scraper processes profiles sequentially with random delays to avoid rate limiting. Expect ~5 seconds per profile.

Why did some profiles fail? TikTok occasionally blocks requests from certain proxy IPs. The scraper retries with a fresh proxy, but some requests may still fail. Re-running usually resolves intermittent failures.

What data format is the output? Flat JSON objects with consistent field names. You can export as JSON, CSV, Excel, or XML from the Apify Console.

Posts mode is slow or timing out — what can I do? Posts mode launches a real browser and scrolls through the profile page to intercept TikTok's signed API calls. Requesting many videos (50+) from a single profile requires multiple scroll cycles. Try reducing maxVideos or splitting across multiple runs. TikTok's aggressive anti-bot protection can also cause intermittent failures — re-running usually resolves this.

Some profiles return 0 videos in posts mode — why? TikTok may block the browser session for certain profiles, especially those with very high follower counts that receive extra protection. The scraper retries with fresh proxies, but some profiles may require multiple attempts. Profile mode (metadata only) is much more reliable.

Other social media scrapers