TikTok Video Scraper avatar

TikTok Video Scraper

Pricing

Pay per event

Go to Apify Store
TikTok Video Scraper

TikTok Video Scraper

Extract metadata from TikTok videos by URL. Get views, likes, shares, comments, hashtags, music info, and author details. No login required.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Categories

Share

Extract full metadata from TikTok videos by URL. Get views, likes, shares, comments, hashtags, music info, and author details for any list of TikTok video links. No login or API key required.

What does TikTok Video Scraper do?

TikTok Video Scraper takes a list of TikTok video URLs and returns rich structured data for each video — engagement stats, author metadata, music track info, hashtags, and more. Simply paste your video links and get back a clean JSON/CSV dataset ready to export.

Supports full video URLs (tiktok.com/@user/video/ID) and short links (vm.tiktok.com/...). Perfect for competitive research, influencer analysis, content auditing, and social monitoring workflows.

No TikTok API key required. No account, no login, no rate limits.

Who is TikTok Video Scraper for?

🎯 Social media marketers

  • Track performance of competitor videos (views, engagement rate, shares)
  • Monitor trending content in your niche
  • Compare hashtag and music strategy across accounts

📊 Data analysts & researchers

  • Build datasets of TikTok video metadata for academic or market research
  • Analyze engagement patterns across content categories
  • Export to Google Sheets, BigQuery, or your data warehouse

🤝 Influencer marketing teams

  • Audit video performance before signing creator partnerships
  • Verify claimed view counts and engagement rates
  • Track campaigns: collect all video URLs, run the scraper, get engagement stats

🛠️ Developers & automation builders

  • Enrich webhook events with full video metadata
  • Trigger workflows when a tracked video passes a view threshold
  • Build monitoring dashboards for brand-owned or competitor TikTok accounts

Why use TikTok Video Scraper?

  • No API key needed — works without TikTok developer credentials
  • Batch processing — scrape hundreds of videos in a single run
  • Rich metadata — 25+ fields per video including author stats, music info, hashtags
  • Pay per video — only pay for what you scrape, no monthly subscription
  • Short link support — resolves vm.tiktok.com and vt.tiktok.com links automatically
  • Export-ready — JSON, CSV, Excel, and XML formats out of the box
  • API access — integrate with your apps via REST API or Apify SDK
  • Scheduled runs — set up recurring jobs to monitor videos over time

What data can you extract?

📹 Video Details

FieldDescriptionExample
idTikTok video ID7618942237535194390
webVideoUrlFull canonical URLhttps://www.tiktok.com/@user/video/...
textCaption / description"Easy recipe 🍝 #cooking #recipe"
textLanguageDetected language codeen
createTimeISOPost timestamp (ISO 8601)2026-03-19T12:27:12.000Z
locationCreatedCountry code where postedUS
isPinnedPinned to profile?false
isSlideshowPhoto slideshow (not video)?false

📈 Engagement Stats

FieldDescriptionExample
playCountTotal views9,800,000
diggCountLikes719,600
commentCountComments1,173
shareCountShares89,200
collectCountSaves / bookmarks335,955
repostCountReposts0

👤 Author Metadata

FieldDescription
authorUsername@handle
authorNicknameDisplay name
authorVerifiedVerified badge status
authorMeta.followersCountFollower count
authorMeta.followingCountFollowing count
authorMeta.likesCountTotal likes on account
authorMeta.videoCountNumber of videos
authorMeta.signatureBio / signature
authorMeta.avatarProfile picture URL

🎵 Music / Sound Info

FieldDescription
musicMeta.musicNameTrack title
musicMeta.musicAuthorArtist name
musicMeta.musicOriginalOriginal sound vs licensed
musicMeta.musicAlbumAlbum name
musicMeta.musicIdTikTok music ID
musicMeta.playUrlAudio stream URL
musicMeta.coverUrlAlbum art URL

🏷️ Tags & Metadata

FieldDescriptionExample
hashtagsArray of hashtag names["recipe","cooking","easyrecipes"]
mentions@mentioned usernames["gordon_ramsay"]
videoMeta.durationVideo length in seconds61
videoMeta.width / heightPixel dimensions576 × 1024
videoMeta.definitionResolution label540p
coverUrlThumbnail image URLhttps://p16-...

How much does it cost to scrape TikTok video data?

TikTok Video Scraper uses Pay-Per-Event (PPE) pricing — you pay per video scraped, not a flat subscription.

TierPrice per Video100 videos1,000 videos
Free$0.0115$1.15$11.50
Bronze$0.010$1.00$10.00
Silver$0.0078$0.78$7.80
Gold$0.006$0.60$6.00
Platinum$0.004$0.40$4.00
Diamond$0.0028$0.28$2.80

Plus a one-time start fee of $0.005 per run (covers proxy initialization and processing).

Free plan: Apify gives new users $5 in credits. That gets you approximately 430 videos on the free tier.

vs. the competition: The main TikTok scraper competitor charges a flat $45/month — that's expensive if you need occasional video lookups. With PPE, you pay only for what you actually scrape. At BRONZE tier, we're cheaper per video than competitor pricing.

How to scrape TikTok videos

  1. Go to TikTok Video Scraper on the Apify Store
  2. Click "Try for free" to open the actor in Apify Console
  3. Paste your TikTok video URLs — one URL per line (supports full URLs and vm.tiktok.com short links)
  4. Click "Start" to begin scraping
  5. Wait for completion — each video takes about 15-20 seconds
  6. Download results in JSON, CSV, or Excel format

Or use the JSON input for bulk automation:

{
"videoUrls": [
"https://www.tiktok.com/@on_todays_bake/video/7618942237535194390",
"https://www.tiktok.com/@hescooks/video/7522563578969214216",
"https://vm.tiktok.com/ZMhXXYZAbc/"
]
}

Multiple input formats accepted:

{
"videoUrls": [
"https://www.tiktok.com/@username/video/1234567890123456789",
"https://vm.tiktok.com/ZMShortCode/",
"https://vt.tiktok.com/ZSShortCode/"
]
}

Input parameters

ParameterTypeDefaultDescription
videoUrlsstring[]Required. TikTok video URLs to scrape. Supports full URLs and short links.
maxRetriesinteger3Number of retry attempts if a video fails to load (1–5). Higher values improve success rate on flaky connections.
proxyConfigurationobjectRESIDENTIALProxy settings. Residential proxy is recommended for best results.

Output examples

{
"id": "7618942237535194390",
"webVideoUrl": "https://www.tiktok.com/@on_todays_bake/video/7618942237535194390",
"inputUrl": "https://www.tiktok.com/@on_todays_bake/video/7618942237535194390",
"text": "Hassle back potatoes with creamy Cajun chicken and airfried brocollini #dinnerideas #recipe",
"textLanguage": "en",
"createTime": 1773923232,
"createTimeISO": "2026-03-19T12:27:12.000Z",
"authorUsername": "on_todays_bake",
"authorNickname": "Ontodaysbake",
"authorVerified": false,
"authorId": "7354879811318268961",
"authorMeta": {
"id": "7354879811318268961",
"username": "on_todays_bake",
"nickname": "Ontodaysbake",
"profileUrl": "https://www.tiktok.com/@on_todays_bake",
"verified": false,
"signature": "Amateur baker, food lover",
"privateAccount": false,
"followersCount": 178300,
"followingCount": 117,
"likesCount": 6300000,
"videoCount": 375
},
"musicMeta": {
"musicId": "7042120868645832705",
"musicName": "Boom Boom Pow",
"musicAuthor": "The Black Eyed Peas",
"musicOriginal": false,
"musicAlbum": "THE E.N.D. (THE ENERGY NEVER DIES)",
"playUrl": "https://sf16.tiktokcdn-us.com/...",
"coverUrl": "https://p16-common.tiktokcdn-us.com/..."
},
"videoMeta": {
"height": 1024,
"width": 576,
"duration": 61,
"coverUrl": "https://p16-common-sign.tiktokcdn-us.com/...",
"definition": "540p",
"format": "mp4"
},
"playCount": 9800000,
"diggCount": 719600,
"commentCount": 1173,
"shareCount": 89200,
"collectCount": 335955,
"repostCount": 0,
"hashtags": ["DinnerIdeas", "Recipe", "EasyRecipes", "cooking", "airfryerrecipe"],
"mentions": [],
"isAd": false,
"isPinned": false,
"isSlideshow": false,
"locationCreated": "GB",
"coverUrl": "https://p16-common-sign.tiktokcdn-us.com/...",
"scrapedAt": "2026-04-04T06:46:04.450Z"
}

Tips for best results

  • 🎯 Start with a small batch (5-10 videos) to verify your URLs work before running large jobs
  • 🔗 Mix URL formats freely — the scraper handles full URLs, vm.tiktok.com, and vt.tiktok.com
  • 🗓️ Schedule recurring runs to track video performance over time (daily or weekly snapshots)
  • Increase concurrency via proxy — the default is 1 concurrent request; for bulk runs the platform handles queueing automatically
  • 🧹 Filter your list first — remove duplicate URLs before running to avoid double charges
  • 📊 Export to Google Sheets using the Apify → Google Sheets integration for easy analysis

Integrations

🔗 TikTok Video Scraper → Google Sheets

Run the scraper on a list of competitor video URLs, then use the Apify→Sheets integration to build a live dashboard tracking views and engagement rates. Great for weekly competitive benchmarking.

📬 TikTok Video Scraper → Slack

Combine with Apify webhooks to alert your Slack channel when a video you're monitoring surpasses a view threshold. Useful for PR teams tracking viral campaign content.

🔄 TikTok Video Scraper → Make / Zapier

Trigger the scraper from a Make scenario or Zapier zap whenever a new video URL is added to a Google Sheet, Airtable base, or CRM. Automate creator outreach workflows.

📅 Scheduled monitoring

Set up a daily run with a fixed list of brand or competitor video URLs to get a time-series dataset of view/like growth. Export to BigQuery or Postgres for trend analysis.

🧩 Webhook + real-time processing

Use Apify webhooks to POST the scraped dataset to your API endpoint immediately after each run completes. Process video metadata in real time for your analytics pipeline.

Using the Apify API

Run TikTok Video Scraper programmatically via the Apify API:

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('automation-lab/tiktok-video-scraper').call({
videoUrls: [
'https://www.tiktok.com/@on_todays_bake/video/7618942237535194390',
'https://www.tiktok.com/@hescooks/video/7522563578969214216',
],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/tiktok-video-scraper').call(run_input={
'videoUrls': [
'https://www.tiktok.com/@on_todays_bake/video/7618942237535194390',
'https://www.tiktok.com/@hescooks/video/7522563578969214216',
],
})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['authorUsername'], item['playCount'])

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~tiktok-video-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"videoUrls": [
"https://www.tiktok.com/@on_todays_bake/video/7618942237535194390"
]
}'

Use with AI agents via MCP

TikTok Video Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).

Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/tiktok-video-scraper"

Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/tiktok-video-scraper"
}
}
}

Your AI assistant will use OAuth to authenticate with your Apify account on first use.

Example prompts

Once connected, try asking your AI assistant:

  • "Use automation-lab/tiktok-video-scraper to get the engagement stats for these 5 TikTok videos: [paste URLs]"
  • "Scrape TikTok video metadata for all videos in this list and tell me which one has the highest engagement rate"
  • "Compare the view counts, likes, and comments on my last 10 TikTok posts"

Learn more in the Apify MCP documentation.

TikTok Video Scraper only collects publicly available data — the same information visible to anyone browsing TikTok without logging in. This includes video stats, captions, hashtags, author profiles, and music metadata displayed on public video pages.

We follow Apify's Responsible Web Scraping guidelines:

  • Only public data is collected (no private accounts, no logged-in-only content)
  • No personal data is processed beyond what appears on public TikTok pages
  • Data is collected for analytics and research purposes
  • Rate limiting and polite crawling practices are followed

Always ensure your use case complies with TikTok's Terms of Service, your local data protection laws (GDPR, CCPA), and Apify's terms of service. This scraper is intended for lawful purposes such as competitive analysis, academic research, and content monitoring.

FAQ

How fast is TikTok Video Scraper? Each video takes approximately 15-20 seconds to scrape (including browser startup and page load). A batch of 50 videos runs in about 15-20 minutes. The scraper runs one video at a time to respect TikTok's rate limits and avoid detection.

How much does it cost to scrape 1,000 TikTok videos? On the Free plan: $0.0115/video × 1,000 = $11.50 + $0.005 start fee. On the Bronze plan: $0.010/video × 1,000 = $10.00. Diamond plan: $0.0028/video × 1,000 = $2.80.

Is this different from the TikTok Scraper? Yes. TikTok Scraper works from profiles (scrapes all videos from an account). TikTok Video Scraper works from individual video URLs — useful when you have a specific list of links to analyze rather than a whole account.

Why are some videos returning no data? Deleted or unavailable videos return no data — the scraper will skip them gracefully and continue with remaining URLs. Private videos (from private accounts) will also be skipped since the data isn't publicly accessible.

Why are views/likes showing as 0 for some videos? Very new videos (posted in the last few minutes) may not have engagement data indexed yet. Older deleted videos may have cached but incomplete data. Retry after a few minutes for brand-new content.

Does this work with short TikTok links (vm.tiktok.com)? Yes. The scraper automatically follows vm.tiktok.com and vt.tiktok.com redirects to get the canonical video URL before scraping.

Can I schedule this scraper to run automatically? Yes. Use Apify's scheduling feature to run the scraper on a cron schedule (e.g., daily). Keep a fixed list of video URLs in your input to track engagement over time.

Other TikTok scrapers

Explore our full TikTok scraper suite on Apify Store:

Other social media scrapers: