TikTok Metadata Scraper avatar

TikTok Metadata Scraper

Pricing

from $400.00 / 1,000 single video metadata results

Go to Apify Store
TikTok Metadata Scraper

TikTok Metadata Scraper

This actor lets you extract detailed metadata from TikTok videos using one or multiple TikTok video URLs. It is designed for fast, reliable collection of public TikTok video data, making it ideal for analytics, research, and automation workflows.

Pricing

from $400.00 / 1,000 single video metadata results

Rating

0.0

(0)

Developer

Badruddeen Naseem

Badruddeen Naseem

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Extract detailed public metadata from TikTok videos — likes, views, comments, shares, bookmarks, author info, hashtags, music, description, and more — using one or multiple video URLs.

Fast, reliable, and stealth-optimized with Playwright + residential proxy support.

Features

  • Single URL or batch of URLs
  • Extracts from embedded __UNIVERSAL_DATA_FOR_REHYDRATION__ JSON (most reliable)
  • Smart DOM fallback when JSON is missing
  • Auto-scroll + hover to trigger lazy-loaded stats
  • Stealth headers & resource blocking to reduce blocks
  • Test mode for Apify automated checks (no real crawling needed)

Why Use It?

  • Social media analytics & trend research
  • Competitor / influencer monitoring
  • Content performance tracking
  • Marketing intelligence & audience insights
  • Building TikTok datasets for AI/ML

How to Use

  1. Click Try for free or create a task
  2. Enter one TikTok video URL (or multiple in urls)
  3. Optional: enable residential proxy (recommended)
  4. Run → results appear in the Dataset tab (JSON, CSV, Excel, etc.)

Input Parameters

{
"testMode": false,
"url": "https://www.tiktok.com/@username/video/1234567890123456789",
"urls": [
"https://www.tiktok.com/@user1/video/9876543210987654321",
"https://www.tiktok.com/@user2/video/1122334455667788990"
],
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Input Parameters

FieldTypeRequiredDescriptionDefault / Prefill
testModebooleanNoSkips real crawling and pushes 2 dummy sample results. Used by Apify automated tests. Leave OFF for normal use.false (prefill: true for Apify QA)
urlstringNo*Single TikTok video URL (video page or hashtag page accepted)
urlsarrayNo*List of multiple TikTok video URLs (overrides url if both are provided)
proxyobjectNoProxy configuration — strongly recommended to use residential proxies to avoid blocks{ "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }

* At least one of url or urls must be provided in normal mode (when testMode is false).

Output / Dataset Schema

Each row in the Dataset represents one processed video.

{
"videoUrl": "string",
"authorHandle": "string",
"authorName": "string",
"description": "string",
"hashtags": ["string"],
"likes": "string|null",
"comments": "string|null",
"shares": "string|null",
"bookmarks": "string|null",
"views": "string|null",
"music": "string",
"scrapedAt": "string (ISO datetime)",
"pageTitle": "string"
}

Example Output Item

{
"videoUrl": "https://www.tiktok.com/@charlidamelio/video/7123456789012345678",
"authorHandle": "@charlidamelio",
"authorName": "Charli D'Amelio",
"description": "POV: you're my new bestie 🫶 #fyp #bestie",
"hashtags": ["#fyp", "#bestie"],
"likes": "2840000",
"comments": "45000",
"shares": "120000",
"bookmarks": "89000",
"views": "52000000",
"music": "original sound - charli d'amelio",
"scrapedAt": "2026-02-12T14:35:22.147Z",
"pageTitle": "POV: you're my new bestie 🫶 #fyp #bestie | TikTok"
}

Output Fields (Dataset Schema)

Each row in the Dataset represents one processed TikTok video.

FieldTypeExample / NotesDescription
videoUrlstring"https://www.tiktok.com/@user/video/123..."The input URL of the video
authorHandlestring"@username"Author's TikTok handle (with @ prefix)
authorNamestring"John Doe"Author's display name / nickname
descriptionstring"POV: you're my new bestie 🫶 #fyp"Video caption / text overlay
hashtagsarray[string]["#fyp", "#bestie"]Hashtags extracted from description
likesstring | null"2840000" or nullNumber of likes (as string) or null if hidden
commentsstring | null"45000" or nullNumber of comments
sharesstring | null"120000" or nullNumber of shares
bookmarksstring | null"89000" or nullNumber of bookmarks / saves
viewsstring | null"52000000" or "Hidden"Number of views (often hidden)
musicstring"original sound - charli d'amelio"Music / sound track name
scrapedAtstring"2026-02-12T14:35:22.147Z"ISO timestamp when data was scraped (UTC)
pageTitlestring"POV: you're my new bestie 🫶 #fyp #bestieTikTok"

Cost & Proxy Notes

  • Compute: very low (short browser sessions)
  • Proxy: use residential group to avoid blocks (Apify proxy credits apply)
  • Recommended: start with 1–5 URLs per run, scale up gradually

Limitations

  • Only public videos (no private / restricted)
  • Some stats (especially views) may be hidden by creator
  • TikTok may change DOM/JSON structure → extraction can degrade over time
  • Heavy batch runs may require stronger proxies or delays

Legal & Compliance

This Actor uses browser automation on public pages — compliant with TikTok's public content access. Do not use for private/personal data collection without legitimate basis (GDPR/CCPA). See TikTok Terms of Service and Apify blog: Is Web Scraping Legal? Happy extracting! 🎬