TikTok Creator & Video Scraper avatar

TikTok Creator & Video Scraper

Pricing

from $50.00 / 1,000 profile scrapeds

Go to Apify Store
TikTok Creator & Video Scraper

TikTok Creator & Video Scraper

Scrape TikTok creator profiles and their recent videos to extract profile data, video cover images, engagement metrics, hashtag usage, and aggregate analytics. Built with richer output including cover image URLs (for photo harvesting), per-video engagement stats, and aggregate content analytics.

Pricing

from $50.00 / 1,000 profile scrapeds

Rating

0.0

(0)

Developer

The Howlers

The Howlers

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

TikTok Creator & Video Scraper — Profiles, Videos, Cover Images & Analytics

Scrape TikTok creator profiles and their recent videos. Extract profile data, video cover images (for photo harvesting), engagement metrics, hashtag usage, and aggregate content analytics. Uses Camoufox stealth browser with residential proxies for reliable extraction.

Before You Start

Demo Mode is available. Set demoMode: true to preview the output format with sample data (free, no scraping, no cookies needed).

StepWhat to Do
1Run with demoMode: true to see the output format (free)
2Set demoMode: false and add profile URLs
3For best results, set up Cookie Manager (see below)

What Data Does It Extract?

Profile Data

  • Username, display name, bio
  • Avatar URL (high-resolution)
  • Follower count, following count, total likes
  • Video count
  • Verified status

Video Data (per video)

  • Video URL (direct link to the TikTok video)
  • Cover image URL — high-quality thumbnail from TikTok CDN (the key field for photo harvesting)
  • Description / caption text
  • Hashtags used
  • Create time
  • View count, like count, comment count, share count, save count
  • Video duration (seconds)
  • Sound / music name
  • Whether the video is a paid ad
  • Per-video engagement rate

Aggregate Analytics

  • Average views, likes, comments, shares, saves across all scraped videos
  • Overall engagement rate
  • Top performing content types (viral / high / average / low brackets)
  • Most frequently used hashtags with frequency counts
  • Posting frequency analysis

Quick Start Examples

1. Demo Mode (Free, No Setup)

{
"demoMode": true
}

Returns realistic sample data for a fictional TikTok creator with 20 sample videos.

2. Scrape a Single Profile

{
"profiles": ["https://www.tiktok.com/@altered_state_comics"],
"maxVideos": 10,
"demoMode": false
}

3. Scrape Multiple Profiles

{
"profiles": ["altered_state_comics", "garyvee", "hubspot"],
"maxVideos": 20,
"includeAnalytics": true,
"demoMode": false
}

Accepts full URLs, @username, or bare usernames — all formats work.

{
"profiles": ["altered_state_comics"],
"maxVideos": 30,
"cookieStorageKey": "tiktok-john",
"demoMode": false
}

5. With Manual Cookies

{
"profiles": ["altered_state_comics"],
"maxVideos": 20,
"sessionCookies": "[paste your TikTok cookie JSON here]",
"demoMode": false
}

6. With Webhook Delivery

{
"profiles": ["altered_state_comics"],
"maxVideos": 10,
"webhookUrl": "https://hooks.zapier.com/hooks/catch/123456/abcdef/",
"demoMode": false
}

Input Parameters

ParameterTypeDefaultDescription
profilesstring[]TikTok profile URLs or usernames to scrape
maxVideosnumber30Max videos per profile (1-100)
includeAnalyticsbooleantrueInclude aggregate analytics in output
demoModebooleanfalseReturn sample data without scraping (free)
cookieStorageKeystringCookie Manager KV store key (e.g., tiktok-john)
cookieKvStoreNamestringcookie-sessionsNamed KV store for Cookie Manager
sessionCookiesstringRaw JSON cookie array (manual override)
webhookUrlstringURL to POST results when complete
proxyConfigurationobjectResidentialProxy settings

Output Format

{
"username": "altered_state_comics",
"displayName": "Altered State Comics",
"bio": "Your local comic shop in Manchester, MO",
"profileUrl": "https://www.tiktok.com/@altered_state_comics",
"avatarUrl": "https://p16-sign.tiktokcdn-us.com/...",
"followers": 87,
"following": 42,
"likes": 1523,
"videoCount": 45,
"verified": false,
"videos": [
{
"videoUrl": "https://www.tiktok.com/@altered_state_comics/video/7394...",
"coverImageUrl": "https://p19-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/...",
"description": "Cant beat an old adventure/romace comic #vintagecomics #backissues",
"hashtags": ["vintagecomics", "backissues"],
"createTime": "2026-03-15T18:30:00.000Z",
"views": 771,
"likes": 45,
"comments": 3,
"shares": 2,
"saves": 8,
"duration": 22,
"soundName": "Original Sound",
"isAd": false,
"engagementRate": 7.52
}
],
"analytics": {
"avgViews": 580,
"avgLikes": 35,
"avgComments": 4,
"avgShares": 2,
"avgSaves": 6,
"engagementRate": 7.52,
"topHashtags": [
{ "tag": "vintagecomics", "count": 8 },
{ "tag": "comicbooks", "count": 6 }
],
"contentTypes": {
"viral": 0,
"high_performing": 2,
"average": 5,
"low_performing": 3
},
"avgPostingFrequency": "every 3.1 days"
},
"scrapedAt": "2026-03-28T21:04:00.000Z"
}

TikTok aggressively blocks unauthenticated scrapers. For best results, use the Cookie Manager actor:

{
"mode": "capture",
"platform": "tiktok",
"storageKey": "tiktok-yourname"
}

Log into TikTok via Apify's Live View. Cookies are saved to the cookie-sessions Key-Value Store.

Step 2: Use stored cookies in this actor

{
"profiles": ["altered_state_comics"],
"cookieStorageKey": "tiktok-yourname",
"demoMode": false
}

No manual cookie pasting needed. Schedule Cookie Manager to refresh every 3-5 days.

Priority Order

ConditionWhat Happens
sessionCookies providedUses manual cookies (always wins)
cookieStorageKey providedLoads from Cookie Manager KV Store
Neither providedAttempts unauthenticated scraping (may be blocked)

Pricing (Pay-Per-Event)

EventDescriptionPrice
profile_scrapedPer TikTok profile scraped (includes all videos + analytics)$0.05

Example costs:

  • 1 profile: $0.05
  • 10 profiles: $0.50
  • 50 profiles: $2.50
  • Demo mode: $0.00

Use Cases

Photo Harvesting / Content Curation

The coverImageUrl field on each video provides a high-quality thumbnail image — perfect for building client photo libraries, social media content curation, and visual competitor analysis.

Content Strategy Research

Analyze what types of content perform best for creators in your niche. Compare engagement rates, hashtag strategies, and posting frequency across competitors.

Influencer Discovery

Scrape multiple profiles to compare follower counts, engagement rates, and content quality. Identify rising creators before they go mainstream.

Voice Training / AI Content

Collect writing samples (captions, hashtags, hooks) from successful creators to train AI content generators.

Competitor Monitoring

Schedule weekly runs to track competitor video performance, new content, and audience growth trends.

Troubleshooting

"CAPTCHA / login wall detected"

TikTok blocks unauthenticated scraping. Use Cookie Manager or provide sessionCookies.

"Profile not found or private"

  • Check the username spelling
  • The profile may be set to private
  • Try the full URL format: https://www.tiktok.com/@username

"Empty video list"

  • TikTok may require login to show videos. Add cookies.
  • The profile may have no public videos
  • Try reducing maxVideos to 5 for a quick test

"Timeout errors"

  • Reduce maxVideos (default 30 may be too many for some profiles)
  • Increase actor memory to 4 GB in Run Options
  • TikTok rate-limits aggressively — the actor uses delays between requests

"Blocked by TikTok (403 error)"

  • Make sure residential proxies are enabled (the default)
  • Add session cookies via Cookie Manager — authenticated sessions are far more reliable
  • Try running at a different time (TikTok's blocking varies by time of day)

"Cover image URLs are missing"

  • Some videos have restricted thumbnails
  • The actor extracts all available cover images
  • Videos with missing covers are still included in the output (other fields are populated)

Technical Details

  • Browser: Camoufox stealth browser (C++ level fingerprinting) with standard Firefox fallback
  • Crawler: Crawlee PlaywrightCrawler with automatic retries (up to 3)
  • Proxy: Apify residential proxies by default
  • Video Enrichment: First 10 videos get detailed data from individual page visits (exact like/comment/share/save counts)
  • Rate Limiting: Human-like delays between page visits (1.5s between video pages)
  • Memory: 2 GB default, supports up to 8 GB
  • Timeout: 5 minutes per profile (configurable)

FAQ

Q: Do I need a TikTok account?

A: No, but unauthenticated scraping may be blocked. For reliable results, use Cookie Manager to capture your TikTok session.

Q: How many videos can I scrape per profile?

A: Up to 100 per profile. The first 10 get detailed engagement data (individual page visits). Videos 11+ get estimated metrics from the grid view.

Q: Will this get my TikTok account banned?

A: The actor uses Camoufox stealth browser, residential proxies, and human-like delays. Scrape at reasonable volumes (< 50 profiles/run) and you should be fine.

Q: Can I schedule recurring runs?

A: Yes. Use Apify's scheduling for daily, weekly, or monthly runs. Combine with Cookie Manager auto-refresh for fully automated monitoring.

Q: How fresh are the cover image URLs?

A: TikTok CDN URLs typically remain valid for 2-4 weeks. For long-term storage, download the images after scraping.

Q: What's the difference between this and clockworks/tiktok-profile-scraper?

A: This actor provides richer output (engagement metrics, analytics, hashtags, sound names), Cookie Manager integration, Camoufox stealth browser, and is maintained by Actor Arsenal. The clockworks actor focuses on basic profile data and engagement analytics without cover image URLs suitable for photo harvesting.


Support


Built by John Rippy | Actor Arsenal