TikTok Scraper - Videos, Profiles & Comments
Pricing
from $3.00 / 1,000 videos
TikTok Scraper - Videos, Profiles & Comments
Scrape TikTok: keyword video search, user search, full video details, user profiles, a user's posted videos, and video comments. Export views, likes, shares, saves, comments, hashtags, sounds and creator data to JSON/CSV/Excel. No login, cookies or proxy needed.
Pricing
from $3.00 / 1,000 videos
Rating
0.0
(0)
Developer
VulnV
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
12 days ago
Last modified
Categories
Share
Scrape TikTok and export videos, user profiles and comments to JSON, CSV or Excel. Search videos or users by keyword, pull a single video's full details, collect a video's comments, get a user's profile, or list everything a user has posted - all from one Actor. Each result is one clean, flat row with views, likes, comments, shares, saves, hashtags, sound, media links and creator data.
No login, no cookies and no proxies to configure - data is fetched through a fast, managed pipeline. Just pick an operation, add your input and press Start.
Unofficial notice: This is an independent tool and is not affiliated with, endorsed by, or connected to TikTok or ByteDance. "TikTok" is a trademark of its respective owner, used here only to describe what the Actor scrapes.
What is TikTok?
TikTok is the world's leading short-video platform, with over a billion monthly users. Trends, songs and products break there first, and creators of every size reach audiences far beyond their followers through the For You feed. This scraper gives you programmatic access to TikTok search, videos, comments and creator profiles so you can track trends, find creators and analyze engagement at scale without a TikTok account.
Operations
Pick one Operation and fill in the matching field:
| Operation | Input field | What you get |
|---|---|---|
| Search videos by keyword | keywords | Videos matching each keyword, with engagement, hashtags, sound, media and creator data. |
| Search users by keyword | keywords | Accounts matching each keyword, with followers, likes, video count and verification. |
| Video details | videoUrls | The full record for each video or photo post. |
| Video comments | videoUrls | Top-level comments for each video, with likes, reply counts, language and commenter data. |
| User profile | userUrls | A user's profile: followers, following, total likes, video count, bio, bio link, verification. |
| User's posted videos | userUrls | The videos a user has posted, newest first or most popular first, paginated. |
videoUrls accept tiktok.com/@user/video/<id> and /photo/<id> URLs, short share links (vm.tiktok.com/..., vt.tiktok.com/..., tiktok.com/t/...) or numeric video IDs. userUrls accept tiktok.com/@username URLs, usernames with or without @ (e.g. khaby.lame) or secUid values (MS4wLjABAAAA...) - one per line.
How to use it (step by step)
- Choose an Operation.
- Fill in the matching input:
- Search videos / Search users -> add one or more Search keywords (any language, brands, #hashtags and emoji all work).
- Video details / Video comments -> paste Video URLs / IDs.
- User profile / User's videos -> paste Usernames / profile URLs.
- Set Maximum results per input (default 100, or 0 for all available) for the paginated operations.
- For video search, optionally set Video search sort order (relevance or most liked), Published within (last 24 hours up to last 6 months) and Search region. For a user's videos, optionally choose Latest or Popular.
- Press Start. Export the dataset as JSON, CSV, Excel, XML or via the API.
Input
| Field | Type | Description |
|---|---|---|
operation | string | Required. search_videos, search_users, video_detail, video_comments, user_profile, or user_videos. |
keywords | array | Search keywords (for search_videos, search_users). |
videoUrls | array | Video URLs, short share links or numeric IDs (for video_detail, video_comments). |
userUrls | array | Profile URLs, usernames or secUid values (for user_profile, user_videos). |
maxItems | integer | Max results per keyword / user / video. 0 = all available. Default 100. |
searchSort | string | relevance or most_liked (video search only). |
publishTime | string | all, day, week, month, three_months or six_months (video search only). |
region | string | Two-letter country code, default US (video search only). |
userVideoSort | string | latest or popular (user's videos only). |
Output
Every row carries a record_type of video, user or comment. Common video fields:
| Field | Description |
|---|---|
video_id, video_url, content_type | Video identity, canonical URL, and video or photo (slideshow). |
description, hashtags, language, region | Caption, hashtags, caption language and the video's country code. |
play_count, like_count, comment_count, share_count, collect_count, download_count | Engagement metrics. |
create_time, duration_seconds, is_pinned, is_ad | Publish time (ISO-8601 UTC), length and flags. |
cover_url, play_url, image_urls, image_count, width, height | Cover image, video file, photo-post images and dimensions. |
music_id, music_title, music_author, music_is_original | The sound used in the video. |
author_id, author_unique_id, author_name, author_sec_uid, author_followers_count, author_verified, author_avatar_url, author_profile_url | Creator data. |
User (user) rows add user_id, unique_id, sec_uid, nickname, signature, avatar_url, profile_url, followers_count, following_count, video_count, likes_total, verified, verify_reason, is_private, account_labels, bio_url and instagram_id. Comment (comment) rows add comment_id, video_id, content, like_count, reply_count, language, is_pinned, liked_by_author and the commenter's author_* fields including author_region.
Example video row:
{"record_type": "video","operation": "user_videos","input": "https://www.tiktok.com/@khaby.lame","video_id": "7689510970292489502","video_url": "https://www.tiktok.com/@khaby.lame/video/7689510970292489502","description": "Ye… I’m gonna mind my business #learnfromkhaby #comedy ","content_type": "video","hashtags": ["learnfromkhaby", "comedy"],"create_time": "2026-09-25T16:30:18+00:00","duration_seconds": 26,"region": "US","play_count": 5966309,"like_count": 718463,"comment_count": 16126,"share_count": 40994,"collect_count": 35160,"author_unique_id": "khaby.lame","author_name": "Khabane lame"}
Common use cases
- Trend and hashtag research - search a topic, sort by most liked or limit to the last week, and see what is taking off.
- Influencer discovery - search users in a niche, then pull their profiles and recent videos to compare reach and engagement.
- Brand and competitor monitoring - track a brand's own posts and the comments people leave on them.
- Content and sentiment analysis - collect captions and comments for NLP, sentiment or AI training datasets.
Notes on reliability
- TikTok's search pages overlap; duplicates are removed automatically, so a keyword may return slightly fewer results than the page count suggests.
- Search region shifts the ranking toward that market but is not a strict country filter; results from other countries still appear.
- On Video details rows
author_followers_countis0because TikTok does not include it there; use User profile for the creator's follower count. - The bio (
signature), bio link and account labels are only present on User profile rows; Search users rows carry the linked Instagram handle instead. - Video, image and avatar URLs are served by TikTok's CDN and expire after a few hours; fetch them promptly.
- Counts reflect what TikTok returns at scrape time. If a video or user is private, deleted or restricted, that input is skipped and the run continues.
FAQ
Do I need a TikTok account, cookies or a proxy? No. Just add your input and press Start.
Which video links work? Full tiktok.com/@user/video/... and /photo/... links, short share links from the app (vm.tiktok.com, vt.tiktok.com, tiktok.com/t/) and numeric video IDs all work.
Does it handle photo (slideshow) posts? Yes. They come back with content_type set to photo and every image URL in image_urls.
Can I run several keywords or URLs at once? Yes - add multiple lines. Cross-input duplicates are removed automatically.
Can I try it for free? Yes. Users on the free Apify plan can fetch up to 10 results in total to try the Actor. Upgrade to a paid Apify plan to run it without that limit.
What export formats are supported? JSON, CSV, Excel, XML and HTML, plus the Apify API and integrations such as Google Sheets, Zapier, Make and webhooks.
Pricing
This Actor is pay per result: you are charged for each record it returns (videos, video details, comments, user profiles and user search results), plus standard Apify platform usage. Different record types have different prices; see the Pricing tab for current rates. You are never charged for inputs that return nothing.
Related scrapers
- Douyin Scraper - 抖音 videos by keyword, with creators and downloads.
- Instagram Posts Scraper - Instagram posts and engagement data.
- Threads Scraper - Threads creators, posts and replies.