🎵 TikTok Scraper - Videos, Profiles & Engagement Data avatar

🎵 TikTok Scraper - Videos, Profiles & Engagement Data

Pricing

Pay per usage

Go to Apify Store
🎵 TikTok Scraper - Videos, Profiles & Engagement Data

🎵 TikTok Scraper - Videos, Profiles & Engagement Data

Scrape TikTok profiles, hashtags, search results, and video URLs. Extract video metadata, play counts, likes, shares, comments, author info, music data, and hashtags. Export to JSON, CSV, Excel, or XML. Supports date filtering, engagement filters, proxy rotation, and anti-detection.

Pricing

Pay per usage

Rating

5.0

(1)

Developer

Ani Björkström

Ani Björkström

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Categories

Share

TikTok Scraper - Extract Videos, Profiles & Engagement Data

Scrape TikTok at scale. Extract video metadata, engagement metrics, author information, music data, hashtags, and more from TikTok profiles, search results, hashtags, and individual video URLs.

What data can you extract?

For each TikTok video, the scraper extracts:

FieldDescription
idUnique video ID
descVideo description/caption
createTimeUpload timestamp (Unix + ISO)
durationVideo length in seconds
webVideoUrlDirect link to the video
playCountNumber of views
diggCountNumber of likes
shareCountNumber of shares
commentCountNumber of comments
collectCountNumber of saves/bookmarks
authorMetaAuthor ID, username, display name, avatar, bio, verified status
musicMetaSound ID, title, artist, original flag
hashtagsAll hashtags with IDs
coverUrlVideo thumbnail URL
isPinnedWhether the video is pinned
isAdWhether the video is an ad

For TikTok profiles, the scraper also extracts:

FieldDescription
uniqueIdUsername
nicknameDisplay name
followerCountNumber of followers
followingCountNumber of accounts followed
heartCountTotal likes received
videoCountNumber of videos posted
signatureBio text
verifiedVerification status

Features

  • Profile scraping - Get all videos from any TikTok profile with sorting (latest, popular, oldest) and section selection (videos, reposts, likes)
  • Search scraping - Find videos by keyword search queries
  • Hashtag scraping - Discover videos by hashtag
  • Direct video URLs - Scrape specific video pages
  • Date filtering - Only get videos from a specific date range
  • Engagement filters - Filter by minimum likes, views, or comments
  • Pinned post exclusion - Skip pinned posts when scraping profiles
  • Scalable - Configurable concurrency and results limits up to 1,000,000 per run
  • Anti-detection - Built-in stealth mode with fingerprint rotation to avoid blocks
  • Proxy support - Works with Apify Proxy (residential recommended for best results)

How to use

1. Scrape a TikTok profile

Set the Profiles input to one or more usernames or full URLs:

{
"profiles": ["charlidamelio", "https://www.tiktok.com/@tiktok"],
"resultsPerPage": 50
}

2. Search for TikTok videos

Set the Search Queries input:

{
"searchQueries": ["funny cats", "cooking recipes"],
"resultsPerPage": 20
}

3. Scrape a hashtag

Set the Hashtags input:

{
"hashtags": ["viral", "trending"],
"resultsPerPage": 30
}

4. Scrape specific videos

Set the Video URLs input:

{
"videoUrls": [
"https://www.tiktok.com/@user/video/1234567890"
]
}

5. Filter by date and engagement

{
"profiles": ["tiktok"],
"resultsPerPage": 100,
"dateFrom": "2025-01-01",
"dateTo": "2025-12-31",
"minLikes": 1000,
"minViews": 10000
}

Sample output

{
"id": "7345678901234567890",
"desc": "This is amazing! #viral #fyp #trending",
"createTime": 1706140800,
"createTimeISO": "2025-01-25T00:00:00.000Z",
"duration": 15,
"webVideoUrl": "https://www.tiktok.com/@creator/video/7345678901234567890",
"coverUrl": "https://p16-sign.tiktokcdn.com/...",
"playCount": 1500000,
"diggCount": 250000,
"shareCount": 15000,
"commentCount": 8500,
"collectCount": 45000,
"authorMeta": {
"id": "123456789",
"uniqueId": "creator",
"name": "Creator Name",
"nickName": "Creator Name",
"avatar": "https://p16-sign.tiktokcdn.com/...",
"signature": "Content creator | DM for collabs",
"verified": true
},
"musicMeta": {
"musicId": "987654321",
"musicName": "Original Sound",
"musicAuthor": "creator",
"musicOriginal": true
},
"hashtags": [
{ "id": "111", "name": "viral" },
{ "id": "222", "name": "fyp" },
{ "id": "333", "name": "trending" }
],
"isPinned": false,
"isAd": false,
"type": "video",
"source": "profile:creator",
"scrapedAt": "2025-01-25T12:00:00.000Z"
}

Proxy configuration

For best results, use Apify Proxy with residential IP addresses:

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

The scraper works without proxies for profiles and individual videos. Residential proxies are recommended for hashtag and search scraping to avoid TikTok's anti-bot restrictions.

Output formats

Export your data in any format:

  • JSON - Structured data for APIs and applications
  • CSV - Import into Excel, Google Sheets, or databases
  • XML - For data pipelines and integrations
  • Excel - Direct .xlsx download

Use cases

  • Market research - Analyze trending content and competitor strategies
  • Influencer marketing - Find creators by engagement metrics and content themes
  • Brand monitoring - Track mentions and hashtag performance
  • Content analysis - Study what types of content go viral
  • Academic research - Collect data for social media studies
  • Trend tracking - Monitor emerging trends and viral content

Cost estimation

  • Profile scraping: ~$0.25-0.50 per 100 videos (most efficient)
  • Search/hashtag scraping: ~$0.50-1.00 per 100 videos
  • Individual videos: ~$0.10-0.25 per 10 videos

Costs depend on proxy usage, results count, and TikTok's current anti-bot measures.

Limitations

  • TikTok actively blocks automated access. The scraper uses multiple fallback strategies, but some requests may fail
  • Hashtag and search pages are more heavily restricted than profile pages
  • Results may vary based on TikTok's anti-bot measures and your proxy configuration
  • Rate limiting may apply for very large scraping jobs

Support

If you encounter issues or have feature requests, please open an issue on the actor's GitHub page.