TikTok Video Scraper - Video Details & Profile Feeds
Pricing
from $5.00 / 1,000 scraped tiktok videos
TikTok Video Scraper - Video Details & Profile Feeds
Scrape TikTok video details, captions, metrics, direct video URLs, transcripts, music, hashtags, and creator profile videos. Provider-backed, no cookies required, perfect for SEO and AI agents, MCP optimized.
Pricing
from $5.00 / 1,000 scraped tiktok videos
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
TikTok Video Scraper
Scrape TikTok video details and creator profile video feeds with normalized, AI-agent-ready output. This actor extracts captions, engagement metrics, author data, music metadata, hashtags, transcript text when available, direct signed video URLs, no-watermark URLs when TikTok returns them, and optional permanent provider-hosted media URLs.
It is built for SEO workflows, social listening, creator research, competitive analysis, content repurposing, and agentic data collection. The actor uses public-data provider APIs with ScrapeCreators as the recommended primary provider and SociaVault as fallback. It does not ask users for TikTok cookies.
What This Actor Does
The actor supports two high-intent TikTok video workflows:
- Direct video URL scraping: pass one or more TikTok video URLs and get one normalized row per video.
- Creator profile feed scraping: pass creator handles or profile URLs and get recent or popular videos from those accounts.
For direct video URLs, the actor can also request transcripts with getTranscript. When a transcript is available, it is returned in the transcript field, usually as WEBVTT. For normal media work, the dataset includes direct signed TikTok play, download, and no-watermark URLs when providers and TikTok return them. These TikTok CDN URLs can expire, so download them promptly.
For permanent provider-hosted media URLs, enable downloadMedia. This is disabled by default because it is a higher-cost provider path. When permanent media is returned, the actor emits a separate media-downloaded PPE event so users and agents can predict the extra cost.
When To Use It
Use this actor when you need structured TikTok video records from known video URLs or from a known creator's public feed. It is a good fit for:
- SEO teams researching short-form video topics and captions
- AI agents collecting evidence from specific TikTok videos
- Social media teams tracking creator performance
- Content teams repurposing captions, transcripts, and video metadata
- Growth teams comparing engagement across creator posts
- Data teams building TikTok analytics pipelines
Do not use this actor for keyword search, hashtag search, or user search. Use the TikTok Search Scraper for those workflows. Do not use it for comments. Use a TikTok video comments scraper for comment threads.
Input
The most common input is:
{"videoUrls": ["https://www.tiktok.com/@stoolpresidente/video/7324105620095765765"],"profileHandles": ["stoolpresidente"],"maxVideosPerProfile": 5,"maxPagesPerProfile": 1,"sortBy": "latest","region": "US","getTranscript": true,"downloadMedia": false,"providerOrder": "scrapecreators-first"}
Important Inputs
| Field | Type | Default | Description |
|---|---|---|---|
videoUrls | array | [] | Full TikTok video URLs to scrape directly. |
profileHandles | array | [] | TikTok handles, @handles, or profile URLs to scrape for videos. |
maxVideosPerProfile | integer | 50 | Maximum videos saved from each creator profile. |
maxPagesPerProfile | integer | 10 | Provider pagination safety cap for each creator profile. |
maxTotalVideos | integer | 10000 | Whole-run cap across direct URLs and profile feeds. |
sortBy | string | latest | Sort profile feed videos by latest or popular. |
region | string | US | Alpha-2 region code for provider requests. |
getTranscript | boolean | false | Request transcripts for direct video URLs when available. |
downloadMedia | boolean | false | Request permanent provider-hosted media URLs. Higher cost. |
providerOrder | string | scrapecreators-first | Provider fallback order. |
includeRawData | boolean | false | Attach raw provider payloads for debugging. |
Output
Each dataset item is one TikTok video record. The output is intentionally flat so AI agents and spreadsheet tools can consume it easily.
| Field | Description |
|---|---|
videoId | TikTok video ID. |
videoUrl | Canonical TikTok video page URL. |
caption | Video caption text. |
createdAt | ISO timestamp when available. |
authorUsername | Creator handle. |
authorNickname | Creator display name. |
authorVerified | Whether the creator is verified. |
authorFollowerCount | Creator follower count when returned. |
playCount | Views or play count. |
likeCount | Likes. |
commentCount | Comments. |
shareCount | Shares. |
collectCount | Saves or collects. |
engagementRate | Approximate engagement rate. |
coverUrl | Static cover image URL. |
playUrl | Direct signed TikTok play URL. |
downloadUrl | Direct signed TikTok download URL. |
noWatermarkUrl | No-watermark URL when TikTok returns one. |
downloadedMediaUrls | Permanent provider-hosted media URLs when enabled and returned. |
transcript | Transcript text, usually WEBVTT, when requested and available. |
hashtags | Hashtags attached to the video. |
musicTitle | TikTok sound or song title. |
musicAuthor | Music artist or sound owner. |
The actor also writes OUTPUT and RUN_SUMMARY to the key-value store. These contain run totals, provider status codes, provider errors, estimated PPE cost, providers used, and the final stop reason.
Pricing
This actor uses pay per event:
| Event | Price | When charged |
|---|---|---|
apify-actor-start | $0.00005 | Once per run, scaled by memory. |
video-scraped | $0.005 | Each normalized TikTok video row saved. |
media-downloaded | $0.05 | Each row with permanent provider-hosted media URLs. |
Default runs do not request permanent provider media downloads. A typical 20-video run costs about $0.10005 before any Apify platform usage costs. A 20-video run with permanent media returned for every row costs about $1.10005.
Provider Strategy
The actor is provider-backed because TikTok's public web surface is heavily protected and browser scraping is more brittle. The default provider order is:
- ScrapeCreators
- SociaVault
You can force a provider with scrapecreators-only or sociavault-only for debugging or controlled testing. Missing provider keys cause a clean diagnostic exit instead of a crash.
Notes And Limits
- Direct TikTok CDN URLs can expire. Download important videos promptly.
- Transcripts are only returned when TikTok and the provider expose them.
- No-watermark URLs are returned only when TikTok provides them to the provider.
- Permanent media download is intentionally optional because it costs more provider credits.
- The actor only scrapes public TikTok data available through the configured providers.
- Results can vary by region and provider freshness.
Legal
This actor is intended for scraping publicly available TikTok data. You are responsible for using the output in compliance with applicable laws, platform terms, privacy obligations, and content rights. Do not use this actor to collect private data, bypass access controls, or republish copyrighted media without permission.