TikTok Video Details Scraper Low-Cost
Pricing
from $1.00 / 1,000 video scrapeds
TikTok Video Details Scraper Low-Cost
💸 Low-cost TikTok scraper for video analytics, hashtags, comments, and author insights. ⚡ Fast bulk extraction for creators, agencies, and SEO keyword research.
Pricing
from $1.00 / 1,000 video scrapeds
Rating
0.0
(0)
Developer
Samy
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Ultra-fast, low-bandwidth TikTok scraper for video details.
This Actor extracts public TikTok video metadata from a list of video URLs (or video IDs).
What this Actor does
- Scrapes video details from TikTok video URLs at scale
- Outputs clean structured records to the Apify dataset
Data you get
For each video:
sourceUrl,canonicalUrl,videoIddescription,createdAtstats:playCount,likeCount,commentCount,shareCountauthor:uniqueId,nickname,verified,followers,following,totalLikes,videoCountmusic:id,title,author,duration,originalmedia:width,height,duration,ratio,cover,dynamicCoverscrapedAt
Input
Example input:
{"videoUrls": ["https://www.tiktok.com/@nba/video/7255379108241198378","7495918458274729246"],"globalConcurrency": 50,"requestTimeoutSecs": 30,"maxRequestRetries": 2,"includeProfileDetails": true,"includeComments": false,"maxComments": 200,"outputFormat": "nested","omitNullFields": true}
Input fields
videoUrls(required): array of TikTok video URLs or numeric video IDsglobalConcurrency(optional, default50): single global concurrency shared by videos, comments, and user-detailsrequestTimeoutSecs(optional, default30): timeout per requestmaxRequestRetries(optional, default2): retries for transient failuresincludeProfileDetails(optional, defaulttrue): enrich theauthorobject with additional profile fieldsincludeComments(optional, defaultfalse): try to include comments for each videomaxComments(optional, default200): cap comments per video when enabledoutputFormat(optional, defaultnested):nestedorflat(dot-key format)omitNullFields(optional, defaulttrue): remove null/empty fields in output items
Hashtags are always included (structured source + description regex fallback).
Dataset Views / Tables
In Apify console, the dataset can be explored through predefined views:
- Videos
- Authors
- Music
- Media
These are views over the same dataset, configured via .actor/dataset_schema.json and .actor/output_schema.json.
Output
Output is saved to the default Apify dataset.
Example item:
{"sourceUrl": "https://www.tiktok.com/@nba/video/7255379108241198378","canonicalUrl": "https://www.tiktok.com/@nba/video/7255379108241198378","videoId": "7255379108241198378","description": "Walker was ready to fight for his 2! 😭 #NBA #NBASummerLeague #basketball #freethrow #putback #dunk","createdAt": "2023-07-13T18:56:35.000Z","stats": {"playCount": 14900000,"likeCount": 1200000,"commentCount": 1480,"shareCount": 3018},"author": {"uniqueId": "nba","nickname": "NBA","verified": true,"followers": 26000000,"following": 269,"totalLikes": "983400000","videoCount": 19500},"music": {"id": "7255379083914152747","title": "original sound","author": "NBA","duration": null,"original": true},"media": {"width": null,"height": null,"duration": null,"ratio": null,"cover": null,"dynamicCover": null},"scrapedAt": "2026-04-11T11:12:34.216Z"}
Performance notes
- Benchmark on a large validated set showed good throughput around
globalConcurrency = 50in this environment.
Reliability and limitations
- This Actor is designed for public video details.
- Some videos may fail due to regional restrictions, removed/private content, or TikTok-side response differences.
- It does not scrape private data or authenticated-only endpoints.
Local development
bun installbun run typecheckbun run start
To run with local Apify input, place JSON in:
storage/key_value_stores/default/INPUT.json
Deploy to Apify
Project is Apify-ready:
apify.json.actor/input_schema.jsonDockerfile
Build uses a small Bun image:
oven/bun:1.2.23-slim
API usage (Apify)
Run Actor:
curl -X POST "https://api.apify.com/v2/acts/<username>~tiktok-video-details-scraper/runs?token=<APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"videoUrls": ["https://www.tiktok.com/@nba/video/7255379108241198378"],"globalConcurrency": 50}'
Fetch dataset items:
$curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<APIFY_TOKEN>"
FAQ
Do I need a TikTok account?
No.
Do I need proxies?
Usually no, for this Actor scope (video details from provided URLs).
Does it scrape comments?
Optional comments scraping is available via includeComments.
Can I get flat output keys like authorMeta.avatar?
Yes. Set outputFormat to flat.
Can I pass video IDs only?
Yes. Numeric IDs are accepted in videoUrls.
Legal and ethical use
Use responsibly and comply with TikTok Terms and applicable laws. Scrape only data you are allowed to process.