TikTok Data Scraper
Pricing
$10.00 / 1,000 results
TikTok Data Scraper
🎵 Scrape TikTok public data at scale — extract profile stats, video metadata, captions, hashtags, and engagement metrics. Search by username, hashtag, or direct URLs. Built on Crawlee + Playwright with proxy rotation to handle TikTok's anti-bot protections. Perfect for influencer analysis,
Extract public TikTok profile and video data at scale.
Fully managed, proxy-resilient, built on Crawlee + Playwright.
🚀 Overview
TikTok Data Scraper is a high-performance Apify actor that extracts public data from TikTok profiles and videos. It navigates TikTok using headless Chromium (Playwright), handles anti-bot protections via Apify's proxy rotation, and outputs clean structured data ready for analysis, archiving, or integration.
Whether you're building a creator database, monitoring brand mentions, analyzing trending hashtags, or backing up content, this scraper gives you the raw data without the hassle.
✨ Features
- Profile scraping – username, display name, bio, follower count, following count, likes
- Video scraping – video URL, caption, hashtags, poster image
- Hashtag exploration – discover videos by hashtag
- Custom start URLs – seed with any TikTok URL
- Proxy rotation – built-in Apify proxy support to avoid IP blocks
- Configurable limits – set max videos to scrape
- Structured output – JSON dataset ready for export, API, or webhook delivery
- Resumable – built on Crawlee; can resume interrupted runs
📋 Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
startUrls | Array | No | List of TikTok URLs to start scraping from |
user | String | No | TikTok username to scrape (without @) |
hashtag | String | No | Hashtag to scrape videos from (without #) |
maxVideos | Integer | Yes (default: 50) | Maximum number of videos to scrape (1–10,000) |
proxyConfiguration | Object | Yes | Apify proxy configuration |
You can provide startUrls, user, hashtag, or any combination. If all are provided, they are merged into the crawl queue.
📤 Output Fields
Each dataset entry contains:
| Field | Type | Description |
|---|---|---|
url | String | TikTok URL |
username | String | TikTok username |
displayName | String | Profile display name (profile pages) |
bio | String | Profile bio text (profile pages) |
followers | String | Follower count (profile pages) |
following | String | Following count (profile pages) |
likes | String | Like count |
caption | String | Video caption / description |
hashtags | Array | Extracted hashtags from caption |
videoUrl | String | Direct video file URL |
posterUrl | String | Video thumbnail URL |
comments | Null | Placeholder for future comment scraping |
🧰 Use Cases
- Influencer marketing – build creator databases with follower counts and engagement
- Trend analysis – monitor hashtag performance over time
- Brand monitoring – track mentions and branded content
- Content archiving – backup TikTok videos and metadata
- Competitive research – analyze competitor content strategies
- Academic research – study social media trends and virality patterns
💰 Pricing
Suggested price range: $20 – $99 per month depending on platform plan tier.
- Starter (~500 videos/month): $20
- Pro (~5,000 videos/month): $49
- Enterprise (unlimited, custom): $99
Pricing covers compute + proxy usage. Actual Apify platform charges depend on your usage tier.
🔧 Technical Details
- Runtime: Node.js 20 + Playwright Chromium
- Framework: Crawlee with
PlaywrightCrawler - Proxy: Apify proxy (residential rotation recommended for high-volume runs)
- Output: Apify dataset (JSON, CSV, XML, XLSX)
- Docker image:
apify/actor-node-playwright-chrome:20
⚠️ Limitations
- TikTok heavily obfuscates its frontend; numeric metrics (followers, likes, comments) may not be available from static HTML alone
- Rate limiting and CAPTCHAs may reduce yield; use proxy rotation and keep
maxConcurrencylow - This scraper accesses public data only — no login or private content
- TikTok's DOM changes frequently; the scraper may need periodic updates to maintain compatibility
🚦 Getting Started
Run on Apify Cloud
- Go to Apify Console
- Search for "TikTok Data Scraper"
- Configure input and run
Run locally
git clone <your-repo-url>cd tiktok-data-scrapernpm installnpx playwright install chromiumACTOR_INPUT='{"user":"example","maxVideos":10}' node src/main.js
📄 License
Apache 2.0