TikTok Video Scraper
Pricing
from $1.00 / 1,000 videos
TikTok Video Scraper
Scrape TikTok video metadata and details from any TikTok URL: views, likes, comments, shares, saves, captions, hashtags, music, upload date, and creator info. Add subtitles, AI transcripts, video downloads, and related videos. Use it for video analytics, trend research, and competitor tracking.
Pricing
from $1.00 / 1,000 videos
Rating
4.6
(35)
Developer
Clockworks
Maintained by ApifyActor stats
207
Bookmarked
22K
Total users
2.9K
Monthly active users
5.9 days
Issues response
6 hours ago
Last modified
Categories
Features
Share
What is TikTok Video Scraper?
TikTok Video Scraper is a TikTok video metadata extractor. Paste one or more TikTok video URLs and get one structured record per video with engagement metrics, captions, music, and creator details, whether you need to check a single video's info or scrape data from thousands of videos in one run. It works without the official TikTok API or an API key.
💡 TikTok Video Scraper works with video URLs only. To scrape videos from a creator's profile, use TikTok Profile Scraper. To combine profiles, hashtags, search keywords, and video URLs in one run, use TikTok Scraper.
What data can I get with TikTok Video Scraper?
For each video, you get:
- 📊 Engagement metrics: views (plays), likes (hearts), comments, shares, saves, and reposts
- 🎬 Video details: caption, upload date and time, duration, and country of creation
- #️⃣ Hashtags and mentions: every hashtag and tagged account in the video
- 🏷️ Commercial flags: whether a video is an ad, sponsored, or links a TikTok Shop product
- 🎵 Music metadata: sound name and author
- 👤 Creator info: username, bio, verified status, followers, total likes, and video count
- ⬇️ Video downloads (add-on): MP4 files with a direct download link
- 📝 Subtitles and AI transcripts (add-on): TikTok's own subtitles, or AI transcripts for videos without them
- 🔗 Related videos (optional): extra videos for each URL, up to the number you set
What can you use TikTok video data for?
- 📈 Engagement analysis: compare views, likes, comments, shares, and saves across videos to calculate engagement rates and find which hooks, sounds, and formats perform best.
- 🕵️ Competitor tracking: follow how competitor videos and viral campaigns perform over time by running the same URLs on a schedule.
- 💬 Social listening and sentiment analysis: pull captions and transcripts from product reviews and reaction videos for sentiment analysis and research.
- 🤖 AI and content pipelines: feed transcripts and metadata into LLM workflows, or analyze videos for creative intelligence and content repurposing.
- 🎨 Creative research: save a shortlist of top-performing videos, such as competitor ads or UGC, as MP4 files with transcripts so your team can study hooks, scripts, and editing styles.
How to scrape TikTok video data
- Create a free Apify account using your email. The free plan includes $5 of monthly usage.
- Open TikTok Video Scraper.
- Add one or more TikTok video URLs. Enter them one by one, or upload or link to a text file.
- Optionally, turn on video downloads, subtitles and transcripts, or related videos.
- Click Start and wait for the run to finish.
- Download your data in JSON, CSV, Excel, XML, or HTML.
- Optionally, run the scraper on a schedule, connect it to other tools via Apify integrations, run it programmatically via the API, or use the Apify MCP server to run it directly from AI assistants like Claude or ChatGPT.
Watch this tutorial to see how to extract TikTok video data step by step:
Run TikTok Video Scraper from an AI assistant
To run TikTok Video Scraper from an AI assistant, add https://mcp.apify.com as a custom connector in Claude or ChatGPT. The Apify MCP server gives the assistant access to every Actor in Apify Store, so you can ask for TikTok video data in plain language:
Use clockworks/tiktok-video-scraper to get the views, likes, shares, saves, and upload date for these videos and rank them by engagement rate: [video URL 1], [video URL 2], [video URL 3]
Use clockworks/tiktok-video-scraper to transcribe this TikTok video and summarize its hook and main talking points: [video URL]
Use clockworks/tiktok-video-scraper to check which of these TikTok videos are ads or sponsored, and which link a TikTok Shop product: [video URL 1], [video URL 2]
Input
The only required input is one or more full TikTok video URLs. Links with tracking parameters work, but a bare video ID returns an INVALID_URLS error item. See the Input schema for all other options.

The same input in JSON:
{"postURLs": ["https://www.tiktok.com/@apifytech/video/7398101551744552225"],"scrapeRelatedVideos": true,"resultsPerPage": 5,"shouldDownloadVideos": true,"shouldDownloadCovers": false,"downloadSubtitlesOptions": "DOWNLOAD_AND_TRANSCRIBE_VIDEOS_WITHOUT_SUBTITLES","shouldDownloadSlideshowImages": false,"videoKvStoreIdOrName": "tiktok-videos"}
Subtitles and transcription options
| Option | What it does |
|---|---|
NEVER_DOWNLOAD_SUBTITLES | No subtitles or transcripts (default). |
DOWNLOAD_SUBTITLES | Downloads TikTok's own subtitles as .vtt files where available. Videos without subtitles return no text. |
DOWNLOAD_AND_TRANSCRIBE_VIDEOS_WITHOUT_SUBTITLES | Downloads subtitles where available and generates AI transcripts (.txt) for the rest. Recommended for most use cases. |
TRANSCRIBE_ALL_VIDEOS | Generates AI transcripts for every video, even ones that have subtitles. |
AI transcription is a paid add-on charged per started minute of video. For transcripts at scale, see the dedicated TikTok Transcript Extractor.
Output
Results are saved to a dataset, with one item per video. In Apify Console, you can preview and download them from the Output tab in JSON, CSV, Excel, XML, or HTML. When you run the Actor via the API or the Apify MCP server, you get the same items as JSON.
Here's what the Output tab looks like:

Below is a single video result:
{"text": "📣 Yes, you can scrape job listings #data in a minute!! #webscraping #techtiktok #job #automation","createTimeISO": "2024-08-01T09:32:32.000Z","locationCreated": "CZ","webVideoUrl": "https://www.tiktok.com/@apifytech/video/7398101551744552225","playCount": 592,"diggCount": 21,"commentCount": 0,"shareCount": 1,"collectCount": 1,"isAd": false,"isSponsored": false,"authorMeta": {"name": "apifytech","verified": false,"fans": 3587},"musicMeta": {"musicName": "original sound"},"videoMeta": {"duration": 23,"subtitleLinks": [{"language": "eng-US","downloadLink": "https://api.apify.com/v2/key-value-stores/.../subtitle-...-eng-US.vtt"}],"downloadAddr": "https://api.apify.com/v2/key-value-stores/.../video-...-7398101551744552225.mp4","transcriptionLink": null}}
Each output item contains the following key fields (see the Output schema for the full list):
| Field | Type | Description |
|---|---|---|
playCount | number | Number of views |
diggCount | number | Number of likes (hearts) |
collectCount | number | Number of saves (bookmarks) |
locationCreated | string | Country code of where the video was posted |
isAd / isSponsored | boolean | Whether the video is an ad or a sponsored post |
videoMeta.downloadAddr | string | Direct link to the downloaded MP4 (video download add-on only) |
videoMeta.subtitleLinks | array | Subtitle files with language and download link (subtitles option only) |
videoMeta.transcriptionLink | string | Link to the AI transcript .txt file, or null if the video wasn't transcribed |
originalVideoDetail | object | For related videos only: the input video they were found from |
How much does it cost to scrape TikTok videos?
TikTok Video Scraper uses pay-per-event pricing, so you only pay for the videos you scrape and the add-ons you turn on. Platform usage is included. On the Free plan, the prices are:
- Video: $3.00 per 1,000 videos, including related videos
- Video download (add-on): $1.30 per 1,000 videos downloaded as MP4
- AI transcript (add-on): $0.048 per started minute of video
Every Apify account includes $5 of free monthly usage, which covers roughly 1,600 videos without add-ons. Rates are lower on paid plans. See the Pricing tab for all plans.
Other TikTok scrapers
Use the dedicated scrapers below to scrape specific TikTok data.
| Actor | Best for |
|---|---|
| 🎵 TikTok Scraper | videos from profiles, hashtags, search keywords, and video URLs in one run |
| 👤 TikTok Profile Scraper | all videos and profile stats from TikTok creators |
| 👥 TikTok Followers Scraper | followers and following lists of TikTok accounts |
| 💬 TikTok Comments Scraper | comments from TikTok videos |
| 📝 TikTok Transcript Extractor | subtitles and AI transcripts from TikTok videos at scale |
| 🔍 TikTok User Search Scraper | creator profiles found by search keyword |
| #️⃣ TikTok Hashtag Scraper | videos posted under specific hashtags |
| 🎶 TikTok Sound Scraper | videos that use a specific sound |
| 🧭 TikTok Explore Scraper | trending videos from TikTok Explore categories |
| 💡 TikTok Discover Scraper | related videos, similar trends, and subtopics for hashtags |
| 🛍️ TikTok Shop Scraper | TikTok Shop product listings, prices, and sales data |
Your feedback
We're always working on improving TikTok Video Scraper. If you've found a bug or have a feature request, please create an issue on the Issues tab. We monitor it actively.
Error items
When TikTok Video Scraper can't retrieve data for an input, it pushes an error item to the dataset instead of silently skipping it. Other items in the same run aren't affected. You can recognize error items by the errorCode field.
{"url": "https://www.tiktok.com/@apifytech/video/7000000000000000000","error": "Post not found or private.","errorCode": "POST_NOT_FOUND_OR_PRIVATE"}
errorCode | Meaning |
|---|---|
INVALID_URLS | One or more inputs aren't valid TikTok video URLs, for example a bare video ID |
POST_NOT_FOUND_OR_PRIVATE | The video was deleted or is private |
POST_SENSITIVE | TikTok flags the video as sensitive content |
INVALID_INPUT | The run failed because of a bad configuration, and the run is terminated |
FAQ
Is there an official TikTok API for video data?
TikTok's official Research API gives access to public video data, but only to approved researchers who submit a research proposal. Commercial users aren't eligible. TikTok Video Scraper works as a TikTok video API alternative: give it video URLs and get structured data back, with no TikTok API key or approval needed.
Can I use TikTok Video Scraper as a TikTok scraper API?
Yes. The API tab has ready-to-use code examples for Node.js, Python, and the CLI. You can also use the JavaScript and Python API clients, or run the Actor from AI assistants via the Apify MCP server.
Can I schedule TikTok video scraping?
Yes. Use schedules to run TikTok Video Scraper automatically, for example daily, to track how the same videos perform over time.
Can I integrate TikTok Video Scraper with other apps?
Yes. TikTok Video Scraper connects with Make, n8n, Zapier, Lovable, Google Drive, Slack, and more. You can also use webhooks to trigger an action when a run finishes.
Is it legal to scrape TikTok?
TikTok Video Scraper only extracts publicly available data, such as video stats and public profile details. It doesn't extract private data like email addresses. Your results might still contain personal data, which is protected by GDPR in the EU and by other laws worldwide, so only scrape it if you have a legitimate reason. If you're unsure, consult your lawyers. Read more about the legality of web scraping and ethical web scraping.