TikTok Creator & Video Scraper
Pricing
from $0.01 / 1,000 results
TikTok Creator & Video Scraper
Enterprise-grade TikTok scraper that extracts 25+ data points per creator with built-in engagement analytics and video performance metrics. Perfect for influencer marketing, competitor analysis, and trend research.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
The Howlers
Maintained by CommunityActor stats
0
Bookmarked
49
Total users
4
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape TikTok profiles, videos, and hashtags. Extract follower counts, engagement metrics, video stats, and creator data for influencer research and competitive analysis. Built by John Rippy (https://johnrippy.link/).
BYOK (Bring Your Own Key) -- you provide your own API credentials.
Before You Start
This actor requires your own API credentials to fetch real data.
Where to get your key: JSON array of cookies exported from Cookie-Editor browser extension. Helps bypass TikTok login walls and CAPTCHAs. Log into TikTok, export cookies, then paste the JSON here.
You can test with Demo Mode first (free, no key needed) to see the output format before committing.
Automatic anti-blocking (cookie priming)
TikTok aggressively blocks automated traffic. To stay robust, this actor
automatically primes each run with fresh session cookies from a companion
actor, tiktok-cookie-refresh, which runs on a schedule, solves TikTok's
CAPTCHA once, and publishes anonymous cookies for the whole TikTok actor fleet
to share. You do not need to configure anything — if you supply no cookies of
your own, the actor fetches the latest refreshed cookies before scraping.
Cookie source priority (first available wins):
sessionCookies— cookies you paste in yourself (highest priority).cookieStorageKey— cookies captured via the Cookie Manager actor.tiktok-cookie-refreshlast run — automatic fleet-shared cookies (default).
Supplying your own logged-in sessionCookies still gives the most complete
data (some profile fields only render for authenticated sessions), but the
automatic priming is what keeps unauthenticated runs from hitting the wall.
Quick Start
Test with Demo Mode (free, no API key needed)
{"demoMode": true,"usernames": ["charlidamelio"]}
Run with real data
{"demoMode": false,"scrapeType": "profiles","usernames": ["charlidamelio"],"includeVideos": true,"videosPerProfile": 12,"maxResults": 50,"minFollowers": 0,"minViews": 0,"sortBy": "followers"}
Cookies are optional — leave them out and the actor auto-primes with
fleet-shared anti-bot cookies. To supply your own for the most complete data,
add "sessionCookies": "[{...cookie JSON...}]".
Input Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
scrapeType | string | "profiles" | No | What to scrape from TikTok |
usernames | array | - | No | TikTok usernames to scrape (without @) |
hashtags | array | - | No | Hashtags to scrape videos from (without #) |
searchQueries | array | - | No | Search terms to find creators (with scrapeType: "search") |
searchReturnsCreators | boolean | true | No | With scrapeType: "search", return creator profiles (with real follower counts) instead of raw video rows |
sounds | array | - | No | TikTok sound/music IDs to scrape |
includeVideos | boolean | true | No | Scrape recent videos for each profile |
videosPerProfile | integer | 12 | No | Number of videos to scrape per profile |
maxResults | integer | 50 | No | Maximum items to return |
minFollowers | integer | 0 | No | Only return profiles with at least this many followers |
minViews | integer | 0 | No | Only return videos with at least this many views |
sortBy | string | "followers" | No | How to sort results |
proxyConfiguration | object | - | No | Required for TikTok - use residential proxies |
demoMode | boolean | true | No | Run with sample data. Set to false for real scraping. |
webhookUrl | string | - | No | Optional webhook URL to receive results when scraping completes |
sessionCookies | string | - | No | JSON array of cookies exported from Cookie-Editor browser extension. Optional — improves data completeness for authenticated-only fields. If omitted, the actor auto-primes with fleet-shared anti-bot cookies (see above). |
cookieStorageKey | string | - | No | Key to load cookies from the Cookie Manager's Named KV Store. Use this instead of manually pasting sessionCookies. Run Cookie Manager in 'capture' mode first to store cookies, then reference the same storageKey here. |
cookieKvStoreName | string | "cookie-sessions" | No | Name of the Named Key-Value Store where Cookie Manager saved the session. Defaults to 'cookie-sessions'. |
No field is strictly required — with Demo Mode off and no cookies, the actor scrapes using auto-primed fleet cookies. Supplying your own cookies is recommended for the most complete data.
Pricing
This actor uses pay-per-event billing:
| Event | Description | Price |
|---|---|---|
| Actor Start | Charged once when the run starts (one event per GB of memory) | $0.10 |
| result | Each item written to the default dataset | $0.00001 |
| Profile Scraped | Each TikTok creator profile scraped with full metrics | $0.05 |
| Video Scraped | Each TikTok video extracted with engagement data | $0.002 |
Demo mode is free -- no charges for sample data.
Troubleshooting
Empty results / blocked by TikTok
- TikTok is rate-limiting or wall-blocking the run. Use residential proxies
(
proxyConfiguration→ Apify Residential group). - Supply your own
sessionCookiesfor authenticated access to more fields. - Retry — the auto-primed fleet cookies refresh on a schedule.
Missing follower counts or private profiles
- Some fields only render for logged-in sessions. Provide your own
sessionCookiesfrom a browser where you are logged into TikTok.
No results or empty dataset
Check the run log for error messages. Common causes:
- Invalid input format (check the examples above)
- Usernames/hashtags that do not exist
- Filters (
minFollowers,minViews) too strict for the target
How do I test without scraping?
Enable Demo Mode in the input. This returns realistic sample data so you can verify the output format works for your workflow.
Built by John Rippy | Actor Arsenal