TikTok Video Scraper avatar

TikTok Video Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
TikTok Video Scraper

TikTok Video Scraper

Extract TikTok videos by ID, video URL, or share link. Get captions, post dates, engagement statistics, and music metadata for every video. Export the data, run it via API, or schedule and monitor runs.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

ToolzerHub

ToolzerHub

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

Share

Bulk TikTok Video Scraper

Fetch TikTok videos by ID, by full video URL, or by the short vt.tiktok.com / vm.tiktok.com share links people actually paste. One row per video, with caption, timestamp, engagement stats and music.

Input

Give it either list, or both.

FieldUse it for
aweme_idVideo IDs or full video URLs, one per line. https://www.tiktok.com/@user/video/7530466721379978522 and 7530466721379978522 both work.
share_urlShort share links, one per line -- https://vt.tiktok.com/... and https://vm.tiktok.com/....
regionTwo-letter region code. Default US.
{
"aweme_id": [
"https://www.tiktok.com/@khaby.lame/video/7530466721379978522",
"7519023847562910733"
],
"share_url": ["https://vt.tiktok.com/ZSaBcDeF/"]
}

Duplicates are collapsed before any request goes out, so pasting the same video twice in two different forms costs you one lookup, not two.

Output

FieldContents
aweme_idVideo ID
descriptionCaption
create_timeUnix timestamp of posting
statsPlay, like, comment and share counts
music_infoThe sound attached to the video
{
"aweme_id": "7530466721379978522",
"description": "Sometimes the simple way is the best way",
"create_time": 1722344400,
"stats": {
"play_count": 41200000,
"digg_count": 5800000,
"comment_count": 32400,
"share_count": 88100
},
"music_info": {
"title": "original sound",
"author": "khaby.lame"
}
}

A vt.tiktok.com link contains no video ID. It is a redirect, and the only way to learn what it points at is to follow it -- so share links go through their own resolution step rather than being pattern-matched like a normal video URL. That is why they have their own input field.

One consequence worth knowing: a single share link can resolve to more than one video row, because TikTok's share resolution returns a list. Photo posts and multi-item shares are the usual cause.

Questions

One of my URLs is dead. Does the run fail? No. Each ID and each share link is fetched on its own; a failure is logged as a warning and the run continues. A list of 500 with 12 broken links returns 488 rows.

What does region change? It is passed with the video lookup and can affect availability for region-restricted content. It does not translate captions or convert anything -- the caption comes back in whatever language it was posted in.

A video exists but returned nothing. Why? It resolved to no public detail: deleted, made private, or region-blocked for the region you asked with. The run log names the ID that produced nothing.

Can I paste a profile URL here? No -- this Actor works on individual videos. For everything an account has posted, use the Profile Videos Scraper.

ActorPurpose
TikTok Comments ScraperComments on these videos
TikTok Profile Videos ScraperEvery video from one account
TikTok Sound & Music ScraperOther videos using the same sound