TikTok Video Scraper With Engagement Data
Pricing
from $2.99 / 1,000 results
TikTok Video Scraper With Engagement Data
TikTok Video Scraper With Engagement Data extracts from any TikTok video, including captions, creators, hashtags, sounds, metrics, comments count, share count, and timestamps. Ideal for trend tracking, content research, influencer analysis, and automating structured.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
SimpleAPI
Maintained by CommunityActor stats
0
Bookmarked
14
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
Scrape TikTok videos by direct URL and get, in addition to the full video/author/music metadata, a computed engagement-analytics field group on every row -- engagement rate, like/view and comment/view ratios, a virality score, a duration bucket, and a batch-relative engagement percentile rank -- plus optional filters to drop low-performing videos from the output.
What it does
- Fetches each submitted TikTok video URL and extracts the video's full public metadata (author, music, stats, hashtags, mentions, media URLs, moderation/content flags).
- Optionally follows each video to its related-videos feed (
scrapeRelatedVideos). - Computes a set of derived analytics fields for every successfully scraped video.
- Optionally drops videos below a minimum engagement rate and/or virality score.
- Every row -- including ones that failed to scrape -- is pushed with the exact same set of
columns, so a failure shows up as a clearly labeled
errorrow instead of silently disappearing or rendering as a blank/short row.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
postURLs (required) | array of strings | 1 sample URL | Direct TikTok video URLs to scrape. |
scrapeRelatedVideos | boolean | false | When enabled, also scrapes each video's related-videos feed. |
resultsPerPage | integer (1-20) | 10 | Related videos to fetch per post, when scrapeRelatedVideos is enabled. TikTok's own related-video surface tops out around 12-16 videos per post, so values above that will not return more rows. |
minEngagementRate | number | 0 (disabled) | Drops videos whose engagementRate is below this value. 0 disables the filter. |
minViralityScore | number | 0 (disabled) | Drops videos whose viralityScore is below this value. 0 disables the filter. |
Rows that failed to scrape are never removed by either filter -- filters only apply to rows with real engagement data.
Example input:
{"postURLs": ["https://www.tiktok.com/@apifyoffice/video/7200360993149553925"],"scrapeRelatedVideos": false,"resultsPerPage": 10,"minEngagementRate": 0,"minViralityScore": 0}
Analytics fields (computed, not from TikTok)
engagementRate=(likes + shares + comments + saves) / viewslikeToViewRatio=likes / viewscommentToViewRatio=comments / viewsviralityScore=engagementRate / age of the video in days(fromcreateTimeISOto the time the run executed) -- rewards videos that gathered engagement quickly.durationBucket=short (<15s)/medium (15-60s)/long (>60s), fromvideoMeta.duration.engagementPercentileRank= this video'sengagementRatepercentile rank (0-100) relative to every other successfully scraped video in the same run.
All analytics fields are null on a row that failed to scrape, or when playCount is 0
(a rate can't be computed against zero views).
Output
Every dataset row shares the same ~70-field shape, whether the video scraped successfully or
not. On failure, every metadata field is null/empty and error explains what happened; on
success, error is null. Example of a successful row (values illustrative):
{"id": "7200360993149553925","text": "Example caption #example","createTimeISO": "2023-05-15T12:00:00.000Z","authorMeta": {"name": "apifyoffice","verified": false,"fans": 1234},"diggCount": 5400,"shareCount": 210,"playCount": 98000,"commentCount": 340,"collectCount": 180,"mediaUrls": ["https://v16-webapp.tiktok.com/....mp4"],"mentions": ["@someuser"],"hashtags": [{ "name": "example" }],"isAigc": false,"diversificationLabels": ["Comedy"],"duetEnabled": true,"stitchEnabled": true,"shareEnabled": true,"engagementRate": 0.0625,"likeToViewRatio": 0.0551,"commentToViewRatio": 0.0035,"viralityScore": 0.00021,"durationBucket": "medium (15-60s)","engagementPercentileRank": 87.5,"webVideoUrl": "https://www.tiktok.com/@apifyoffice/video/7200360993149553925","error": null}
mediaUrls contains direct CDN video URLs already returned by TikTok's own page data -- this
actor never downloads or stores video files.
Notes
- Uses TikTok's public video-page metadata; no login, cookies, or private-account access.
- No proxy configuration is included in this actor.
commentsDatasetUrlandauthorMeta.followDatasetUrlare alwaysnull-- this actor does not fetch comments or follower lists.