VOOZH about

URL: https://apify.com/coregent/tiktok-video-scraper

⇱ TikTok Video Scraper Β· Apify Β· Apify


πŸ‘ Tiktok Video Scraper avatar

Tiktok Video Scraper

Under maintenance

Pricing

from $1.80 / 1,000 video results

Go to Apify Store

Tiktok Video Scraper

Under maintenance

Extract TikTok video metadata including caption, hashtags, mentions, views, likes, comments, shares, saves, author info, music data, and video details. Includes analytics like engagement rate and viral score. Ideal for marketing research, influencer analysis, and AI datasets.

Pricing

from $1.80 / 1,000 video results

Rating

0.0

(0)

Developer

πŸ‘ Delowar Munna

Delowar Munna

Maintained by Community

Actor stats

0

Bookmarked

22

Total users

5

Monthly active users

2 hours ago

Last modified

Share

Extract comprehensive TikTok video metadata β€” 70+ structured fields including engagement metrics, author profiles, music data, video technical specs, and computed engagement rates + viral scoring you won't find elsewhere. Optionally download videos, covers, and avatars to permanent storage, generate text transcripts, and export comments and followers. Supports video URLs, IDs, creator profiles, hashtags, and search keywords. Export analytics-ready datasets in JSON, CSV, or Excel.

πŸ‘ TikTok Video Scraper


Key Features

  • 70+ Structured Fields: Video metadata, rich author profile (incl. commerce/creator-marketplace fields), music info, technical specs, engagement rates, and viral scoring
  • Computed Analytics (unique): Engagement rate, like rate, comment rate, share rate, save rate, and a weighted viral score β€” pre-calculated per video, so you don't have to
  • Multiple Input Sources: Scrape by video URL, video ID, username, hashtag, or search keyword
  • Media Downloads: Optionally download the MP4, cover, avatar, music art, and slideshow images β€” re-hosted permanently on Apify (raw TikTok CDN URLs expire within days)
  • Transcripts & Subtitles: Extract native caption tracks and generate a plain-text transcript
  • Comments: Scrape threaded comments (with replies) into a separate dataset
  • Followers / Following: Export a profile's connections into a separate dataset
  • Powerful Filtering: By date range, like count, pinned status; sort by latest/popular/oldest; related-video discovery
  • 6 Dataset Views: Overview, Engagement, Authors, Music, Video Details, Downloads & Media
  • Transparent Errors: Failed targets produce dataset items with codes (PROFILE_PRIVATE, POST_NOT_FOUND_OR_PRIVATE, BLOCKED) instead of vanishing
  • Pay-Per-Result: Only pay for results you get β€” no wasted compute

Best for: Marketing agencies, social analytics platforms, AI dataset builders, ecommerce brands, and content strategists


At a Glance

FeatureValue
Output Fields70+ structured fields per video
Dataset Views6 tabs (Overview, Engagement, Authors, Music, Video Details, Downloads & Media)
Input SourcesURLs, IDs, usernames, hashtags, search keywords
ExtrasVideo/media download, transcripts, comments, followers/following
Proxy RequiredRecommended (residential) β€” TikTok blocks datacenter IPs
Concurrency5 parallel requests
Computed MetricsEngagement rate, like rate, comment rate, share rate, save rate, viral score

Downloads, Transcripts, Comments & Followers

All of these are off by default β€” enable only what you need.

CapabilityInput(s)Where it lands
Download video (MP4)shouldDownloadVideosdownloadAddr / mediaUrls (permanent Apify URLs)
Download covers / avatars / music art / slideshowshouldDownloadCovers, shouldDownloadAvatars, shouldDownloadMusicCovers, shouldDownloadSlideshowImagesthe matching field is replaced with a permanent URL (original kept under *Original)
Transcript / subtitlesdownloadSubtitlesOptions = subtitles | transcriptsubtitleLinks, transcriptionLink (plain-text)
Comments (+ replies)commentsPerPost, topLevelCommentsPerPost, maxRepliesPerCommenta separate comments dataset, linked via commentsDatasetUrl
Followers / FollowingmaxFollowersPerProfile, maxFollowingPerProfilea separate followers dataset
Filtering & sortingoldestPostDate, newestPostDate, mostDiggs, leastDiggs, excludePinnedPosts, profileSortingapplied before results are saved
Related videosscrapeRelatedVideos, maxRelatedVideosTikTok's recommended videos are scraped (up to N per input video)

Why permanent media? Raw TikTok CDN URLs are signed with an x-expires token and stop working within days. When a download toggle is on, this actor fetches the asset and re-hosts it on Apify storage so your dataset never rots.

Reliability note: Comments, followers/following, and media downloads rely on TikTok APIs that are heavily rate-limited for datacenter IPs. For dependable results, run behind a residential proxy (see Proxy policy). Failed targets are reported as error items, not silently dropped.


How It Works

  1. Provide Sources β€” Enter video URLs, IDs, usernames, hashtags, or search keywords
  2. Crawl TikTok β€” Puppeteer navigates to each page and extracts embedded data
  3. Parse Metadata β€” Extracts from server-side rendered data and internal APIs
  4. Compute Analytics β€” Calculates engagement rates and viral scoring
  5. Export Dataset β€” Download as JSON, CSV, or Excel via Apify platform

Output

Table View

πŸ‘ TikTok Video Scraper β€” Output Overview Table View

Overview JSON View

{
"videoId":"7615954999562095890",
"videoUrl":"https://www.tiktok.com/@ai.rabbit.hime/video/7615954999562095890",
"caption":"\ud83d\udda4. #foryoupage #viral #trending #explore #tiktok ",
"textLanguage":"un",
"hashtags":["foryoupage","viral","trending","explore","tiktok"],
"mentions":[],
"createTimeISO":"2026-03-11T11:15:10.000Z",
"duration":14,
"views":987,
"likes":303,
"comments":0,
"shares":6,
"collectCount":44,
"authorUsername":"ai.rabbit.hime",
"authorVerified":false,
"region":null,
"engagementRate":0.357649,
"viralScore":41.44,
"inputSource":"search",
"inputQuery":"trending"
}

Engagement JSON View

{
"videoId":"7615954999562095890",
"caption":"\ud83d\udda4. #foryoupage #viral #trending #explore #tiktok ",
"authorUsername":"ai.rabbit.hime",
"views":987,
"likes":303,
"comments":0,
"shares":6,
"collectCount":44,
"repostCount":0,
"engagementRate":0.357649,
"likeRate":0.306991,
"commentRate":null,
"shareRate":0.006079,
"saveRate":0.04458,
"viralScore":41.44,
"captionLength":51,
"hashtagCount":5,
"mentionCount":0,
"isAd":false,
"isSponsored":false
}

Authors JSON View

{
"videoId":"7615954999562095890",
"authorId":"7601123447783113729",
"authorUsername":"ai.rabbit.hime",
"authorNickname":"Goth",
"authorProfileUrl":"https://www.tiktok.com/@ai.rabbit.hime",
"authorVerified":false,
"authorBio":"Follower\ud83d\udda4",
"authorAvatar":"https://p19-common-sign.tiktokcdn-us.com/...",
"authorFollowers":17600,
"authorFollowing":0,
"authorTotalLikes":83800,
"authorVideoCount":26,
"authorPrivateAccount":false
}

Music JSON View

{
"videoId":"7615954999562095890",
"caption":"\ud83d\udda4. #foryoupage #viral #trending #explore #tiktok ",
"authorUsername":"ai.rabbit.hime",
"musicId":"7615955023960214288",
"musicTitle":"\uc624\ub9ac\uc9c0\ub110 \uc0ac\uc6b4\ub4dc - Goth",
"musicAuthor":"Goth",
"musicOriginal":true,
"musicPlayUrl":"https://v16-webapp-prime.us.tiktok.com/...",
"musicCoverUrl":"https://p19-common-sign.tiktokcdn-us.com/..."
}

Video Details JSON View

{
"videoId":"7615954999562095890",
"videoUrl":"https://www.tiktok.com/@ai.rabbit.hime/video/7615954999562095890",
"caption":"\ud83d\udda4. #foryoupage #viral #trending #explore #tiktok ",
"createTime":1773227710,
"createTimeISO":"2026-03-11T11:15:10.000Z",
"duration":14,
"videoHeight":1280,
"videoWidth":720,
"videoFormat":"mp4",
"videoDefinition":"720p",
"videoCoverUrl":"https://p16-common-sign.tiktokcdn-us.com/...",
"videoOriginalCoverUrl":"https://p19-common-sign.tiktokcdn-us.com/...",
"videoDynamicCoverUrl":"https://p16-common-sign.tiktokcdn-us.com/...",
"isAd":false,
"isSponsored":false,
"isPinned":false,
"isSlideshow":false,
"region":null,
"effectStickers":["Graffiti memories"],
"retrievedAt":"2026-03-11T12:08:10.892Z"
}

All Fields JSON View

{
"videoId":"7615954999562095890",
"videoUrl":"https://www.tiktok.com/@ai.rabbit.hime/video/7615954999562095890",
"caption":"\ud83d\udda4. #foryoupage #viral #trending #explore #tiktok ",
"textLanguage":"un",
"hashtags":["foryoupage","viral","trending","explore","tiktok"],
"mentions":[],
"createTime":1773227710,
"createTimeISO":"2026-03-11T11:15:10.000Z",
"duration":14,
"views":987,
"likes":303,
"comments":0,
"shares":6,
"collectCount":44,
"repostCount":0,
"authorId":"7601123447783113729",
"authorUsername":"ai.rabbit.hime",
"authorNickname":"Goth",
"authorProfileUrl":"https://www.tiktok.com/@ai.rabbit.hime",
"authorVerified":false,
"authorBio":"Follower\ud83d\udda4",
"authorAvatar":"https://p19-common-sign.tiktokcdn-us.com/...",
"authorFollowers":17600,
"authorFollowing":0,
"authorTotalLikes":83800,
"authorVideoCount":26,
"authorPrivateAccount":false,
"musicId":"7615955023960214288",
"musicTitle":"\uc624\ub9ac\uc9c0\ub110 \uc0ac\uc6b4\ub4dc - Goth",
"musicAuthor":"Goth",
"musicOriginal":true,
"musicPlayUrl":"https://v16-webapp-prime.us.tiktok.com/...",
"musicCoverUrl":"https://p19-common-sign.tiktokcdn-us.com/...",
"videoHeight":1280,
"videoWidth":720,
"videoFormat":"mp4",
"videoDefinition":"720p",
"videoCoverUrl":"https://p16-common-sign.tiktokcdn-us.com/...",
"videoOriginalCoverUrl":"https://p19-common-sign.tiktokcdn-us.com/...",
"videoDynamicCoverUrl":"https://p16-common-sign.tiktokcdn-us.com/...",
"isAd":false,
"isSponsored":false,
"isPinned":false,
"isSlideshow":false,
"region":null,
"effectStickers":["Graffiti memories"],
"captionLength":51,
"hashtagCount":5,
"mentionCount":0,
"engagementRate":0.357649,
"likeRate":0.306991,
"commentRate":null,
"shareRate":0.006079,
"saveRate":0.04458,
"viralScore":41.44,
"retrievedAt":"2026-03-11T12:08:10.892Z",
"inputSource":"search",
"inputQuery":"trending"
}

Output Schema (58 Fields)

Video (9 fields)

FieldTypeDescription
videoIdStringTikTok video ID
videoUrlStringFull video URL
captionStringVideo caption/description
textLanguageStringDetected language of the caption
hashtagsArrayHashtags used in the video
mentionsArray@mentioned usernames
createTimeIntegerUnix timestamp (seconds)
createTimeISOStringISO 8601 creation timestamp
durationIntegerVideo duration in seconds

Engagement (6 fields)

FieldTypeDescription
viewsIntegerView/play count
likesIntegerLike/digg count
commentsIntegerComment count
sharesIntegerShare count
collectCountIntegerBookmark/save count
repostCountIntegerRepost count

Author (12 fields)

FieldTypeDescription
authorIdStringCreator user ID
authorUsernameStringCreator @username
authorNicknameStringCreator display name
authorProfileUrlStringProfile page URL
authorVerifiedBooleanVerified account badge
authorBioStringProfile bio/signature
authorAvatarStringAvatar image URL
authorFollowersIntegerFollower count
authorFollowingIntegerFollowing count
authorTotalLikesIntegerTotal likes received
authorVideoCountIntegerNumber of videos posted
authorPrivateAccountBooleanWhether account is private

Music (6 fields)

FieldTypeDescription
musicIdStringSound/music ID
musicTitleStringSound/music title
musicAuthorStringSound/music author
musicOriginalBooleanWhether it's an original sound
musicPlayUrlStringMusic audio URL
musicCoverUrlStringMusic cover image URL

Video Technical (7 fields)

FieldTypeDescription
videoHeightIntegerVideo height in pixels
videoWidthIntegerVideo width in pixels
videoFormatStringVideo format (e.g., mp4)
videoDefinitionStringVideo quality (e.g., 720p)
videoCoverUrlStringVideo thumbnail URL
videoOriginalCoverUrlStringOriginal cover image URL
videoDynamicCoverUrlStringAnimated/dynamic cover GIF URL

Flags & Metadata (5 fields)

FieldTypeDescription
isAdBooleanWhether the video is an ad
isSponsoredBooleanWhether the video is sponsored
isPinnedBooleanWhether pinned to profile
isSlideshowBooleanWhether it's a photo slideshow
regionStringVideo region/country code

Derived (4 fields)

FieldTypeDescription
effectStickersArrayEffect/sticker names used
captionLengthIntegerCharacter count of caption
hashtagCountIntegerNumber of hashtags
mentionCountIntegerNumber of @mentions

Engagement Rates (6 fields)

FieldTypeDescription
engagementRateFloat(likes + comments + shares + saves) / views
likeRateFloatlikes / views
commentRateFloatcomments / views
shareRateFloatshares / views
saveRateFloatsaves / views
viralScoreFloatWeighted viral metric (0-100+)

Meta (3 fields)

FieldTypeDescription
retrievedAtStringISO 8601 scrape timestamp
inputSourceStringInput type: video, profile, hashtag, search
inputQueryStringThe input value that triggered this extraction

Input Parameters

ParameterTypeDefaultDescription
videosArray[]TikTok videos to scrape β€” full URLs or bare numeric IDs (mix freely)
usernamesArray[]Creator profiles β€” handle, @handle, or profile URL
hashtagsArray[]Hashtag pages β€” tag, #tag, or tag URL
searchKeywordsArray[]Search TikTok by keyword (falls back to trending only if no source at all)
maxVideosInteger50Max videos per source (1-500)
includeAuthorBooleantrueInclude author profile data
includeMusicBooleantrueInclude music/sound data
shouldDownloadVideos / Covers / Avatars / MusicCovers / SlideshowImagesBooleanfalseDownload & permanently re-host media on Apify
downloadSubtitlesOptionsStringoffsubtitles or transcript (native captions)
commentsPerPost / topLevelCommentsPerPost / maxRepliesPerCommentInteger0Scrape comments β†’ separate comments dataset
maxFollowersPerProfile / maxFollowingPerProfileInteger0Export connections β†’ separate followers dataset
profileSorting / excludePinnedPosts / oldestPostDate / newestPostDate / mostDiggs / leastDiggsmixedβ€”Filter & sort scraped videos
scrapeRelatedVideosBooleanfalseAlso scrape TikTok's related videos (for video sources)
maxRelatedVideosInteger10How many related videos to scrape per input video (1-50)
proxyCountryCodeStringβ€”Two-letter country for Apify Proxy
proxyConfigurationObject{ useApifyProxy: true }Proxy configuration (residential recommended)

Legacy note: the older videoUrls and videoIds fields are still read if present, but the single videos field replaces both β€” paste URLs or IDs interchangeably.


Quick Start

Example 1: Search by Keyword

{
"searchKeywords":["trending"],
"maxVideos":50,
"includeAuthor":true,
"includeMusic":true
}

Example 2: Search + Hashtag Combined

{
"searchKeywords":["trending"],
"hashtags":["viral"],
"maxVideos":50,
"includeAuthor":true,
"includeMusic":true
}

Example 3: Creator Profile with your own residential proxy

{
"usernames":["travelguru"],
"maxVideos":50,
"proxyConfiguration":{
"useApifyProxy":false,
"proxyUrls":["http://user:pass@proxy.iproyal.com:12321"]
}
}

🚦 Proxy policy

TikTok blocks datacenter IPs aggressively, so some features need a residential IP.

What works without a residential proxy (datacenter / no proxy is fine):

  • Single video URLs/IDs, search, media downloads, transcripts.

What needs a residential proxy (marked πŸ”’ in the input):

  • Hashtags, creator profiles, related videos, comments, followers/following.

Two ways to get a residential IP:

  1. Apify Residential β€” just select it in the proxy editor. A residential-result event is charged per result to cover the residential bandwidth (which Apify bills to the actor).

  2. Your own residential proxy β€” enter it under Custom proxy URLs. That traffic goes through your provider, so the residential-result event is NOT charged:

    http://user:pass@proxy.iproyal.com:12321
    http://user:pass@proxy.brightdata.com:22225
    http://user:pass@proxy.oxylabs.io:7777

To keep residential costs down, the actor downloads cover/avatar/music images directly (no proxy); residential bandwidth is used only for the lightweight page/API calls that actually need it (plus the video file itself if you enable video download).


Engagement Rates & Viral Score

All engagement rates are calculated as ratios (0 to 1). Returns null if views is 0 or the metric is unavailable.

Viral Score uses a weighted formula:

viralScore =(shares *3+ saves *2+ comments *1.5+ likes)/ views *100
Score RangeInterpretation
0 - 5Low engagement
5 - 10Average engagement
10 - 25Good viral potential
25 - 50Strong viral potential
50+Exceptional / highly viral

Dataset Views

The output is organized into 5 focused tabs on the Apify platform:

TabFieldsWhat You See
Overview20Quick summary β€” video, caption, key metrics, author, viral score
Engagement20All counts + computed rates + viral score + content flags
Authors13Full creator profiles β€” bio, avatar, followers, verified
Music9Sound info β€” title, artist, original sound flag, cover
Video Details20Technical specs, covers, timestamps, flags, effects

Use Cases

Influencer Marketing

Analyze TikTok creator performance and content engagement. Compare viral scores across creators to identify top performers.

Competitor Monitoring

Track competitor campaigns, viral content, and hashtag performance. Monitor shares, saves, and repost counts over time.

Trend Analysis

Identify trending hashtags, sounds, and content styles at scale. Use music data and effect stickers to spot emerging trends.

AI Dataset Generation

Generate structured datasets for training recommendation, sentiment, or content classification models.

Social Listening

Understand audience engagement through video metrics across topics. Filter by engagement rate and viral score.


Performance

MetricValue
Concurrency5 parallel requests
Request timeout60 seconds
RetryUp to 2 retries per request
Session pooling5 sessions, 20 uses each

Data Export

Supported formats (via Apify platform):

  • JSON
  • CSV
  • Excel
  • HTML

Notes

  • Music play URLs are time-limited signed URLs that may expire
  • textLanguage returns a language code (e.g., "en", "es") or "un" (undetermined) if TikTok does not provide language metadata
  • region is extracted from multiple sources (video metadata, author profile, diversification labels)

Pricing

Pay-per-result model β€” you only pay for what you get.

EventTriggerCount
search-queryEach search/hashtag/profile processed1 per source
video-resultEach video successfully extracted1 per video

Proxy costs (if enabled) are billed to your Apify account separately.


Compliance

  • Collects only publicly available TikTok video data
  • Does not bypass CAPTCHAs or access gated content
  • Does not collect private account data
  • Intended for legitimate research, analytics, and business intelligence
  • Users are responsible for compliance with applicable laws in their jurisdiction

Support

  • Issues: Report via GitHub or Apify support
  • Feature requests: Open an issue with your use case

Built by Coregent Digital Studio β€” Production-ready TikTok video metadata extraction

You might also like

TikTok Video & Comment Scraper

moving_beacon-owner1/my-actor-40

Collect detailed TikTok video insights including views, likes, shares, comments, music information, and hashtags. Ideal for social media analysis, trend tracking, and influencer research.

2

TikTok Video Scraper

scraper-engine/tiktok-video-scraper

TikTok Video Scraper gathers video details like captions, hashtags, stats (views, likes, comments, shares), music info, and creator profiles from any TikTok link or search. Ideal for trend analysis, research, or marketing. Export clean structured data in JSON, CSV, or Excel formats.

πŸ‘ User avatar

Scraper Engine

35

5.0

TikTok Video Scraper

social-fetch/tiktok-video-scraper

Scrape TikTok video metadata from URLs. Views, likes, author, music. Structured JSON. Pay per video.

2

5.0

TikTok Video Insights Extractor

badruddeen/tiktok-video-insights-extractor

Extracts detailed metadata and engagement statistics from TikTok video URLs. Captures likes, comments, shares, bookmarks, views, author info, hashtags, music, and descriptions.

πŸ‘ User avatar

Badruddeen Naseem

17

5.0

TikTok Video Details Scraper

nifty.codes/tiktok-videodetails-scraper

Extract video metadata, engagement metrics, author info, and music details from individual TikTok video pages. Powered by TikTok Scraper.

Tiktok Video Scraper

scrapapi/tiktok-video-scraper

🎬 TikTok Video Scraper extracts video metadata at scaleβ€”captions, hashtags, views, likes, comments, shares, author & audio details, publish date & URLs. πŸ“Š Perfect for trend analysis, competitor research, influencer discovery & content strategy. CSV/JSON-ready.

Tiktok Video Scraper

scrapeengine/tiktok-video-scraper

🎯 TikTok Video Scraper pulls video data at scale β€” captions, hashtags, views, likes, comments, shares, audio, author, publish date & video URLs. πŸ“Š Export JSON/CSV. πŸ”Ž Ideal for trend research, competitor tracking, influencer discovery & content strategy. ⚑️

Tiktok Video Scraper

scrapers-hub/tiktok-video-scraper

πŸŽ₯ TikTok Video Scraper pulls rich video data β€” captions, hashtags, sounds, URLs, thumbnails, and engagement (views, likes, shares) plus creator profiles & comments. πŸ” Ideal for trend tracking, competitor analysis, and influencer discovery. πŸ“Š CSV/JSON output for analytics. πŸš€

TikTok Video Scraper Goat

goat255/tiktok-video-scraper

Scrape TikTok videos in bulk from profile handles or direct video URLs. Returns video ID, author, caption, hashtags, music, full metrics (plays, likes, comments, shares, saves), no-watermark video URL, cover image, duration, and post date.

TikTok Video Scraper

seemuapps/tiktok-video-scraper

Scrape TikTok video data by URL. Extract stats, author info, music metadata, and direct download links for any public TikTok video.