TikTok Metadata Scraper
Pricing
from $400.00 / 1,000 single video metadata results
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
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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
- Click Try for free or create a task
- Enter one TikTok video URL (or multiple in
urls) - Optional: enable residential proxy (recommended)
- 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
| Field | Type | Required | Description | Default / Prefill |
|---|---|---|---|---|
testMode | boolean | No | Skips real crawling and pushes 2 dummy sample results. Used by Apify automated tests. Leave OFF for normal use. | false (prefill: true for Apify QA) |
url | string | No* | Single TikTok video URL (video page or hashtag page accepted) | — |
urls | array | No* | List of multiple TikTok video URLs (overrides url if both are provided) | — |
proxy | object | No | Proxy 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.
| Field | Type | Example / Notes | Description |
|---|---|---|---|
videoUrl | string | "https://www.tiktok.com/@user/video/123..." | The input URL of the video |
authorHandle | string | "@username" | Author's TikTok handle (with @ prefix) |
authorName | string | "John Doe" | Author's display name / nickname |
description | string | "POV: you're my new bestie 🫶 #fyp" | Video caption / text overlay |
hashtags | array[string] | ["#fyp", "#bestie"] | Hashtags extracted from description |
likes | string | null | "2840000" or null | Number of likes (as string) or null if hidden |
comments | string | null | "45000" or null | Number of comments |
shares | string | null | "120000" or null | Number of shares |
bookmarks | string | null | "89000" or null | Number of bookmarks / saves |
views | string | null | "52000000" or "Hidden" | Number of views (often hidden) |
music | string | "original sound - charli d'amelio" | Music / sound track name |
scrapedAt | string | "2026-02-12T14:35:22.147Z" | ISO timestamp when data was scraped (UTC) |
pageTitle | string | "POV: you're my new bestie 🫶 #fyp #bestie | TikTok" |
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! 🎬