TikTok Scraper - Videos, Profiles & Comments avatar

TikTok Scraper - Videos, Profiles & Comments

Pricing

from $3.00 / 1,000 videos

Go to Apify Store
TikTok Scraper - Videos, Profiles & Comments

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

VulnV

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

12 days ago

Last modified

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:

OperationInput fieldWhat you get
Search videos by keywordkeywordsVideos matching each keyword, with engagement, hashtags, sound, media and creator data.
Search users by keywordkeywordsAccounts matching each keyword, with followers, likes, video count and verification.
Video detailsvideoUrlsThe full record for each video or photo post.
Video commentsvideoUrlsTop-level comments for each video, with likes, reply counts, language and commenter data.
User profileuserUrlsA user's profile: followers, following, total likes, video count, bio, bio link, verification.
User's posted videosuserUrlsThe 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)

  1. Choose an Operation.
  2. 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.
  3. Set Maximum results per input (default 100, or 0 for all available) for the paginated operations.
  4. 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.
  5. Press Start. Export the dataset as JSON, CSV, Excel, XML or via the API.

Input

FieldTypeDescription
operationstringRequired. search_videos, search_users, video_detail, video_comments, user_profile, or user_videos.
keywordsarraySearch keywords (for search_videos, search_users).
videoUrlsarrayVideo URLs, short share links or numeric IDs (for video_detail, video_comments).
userUrlsarrayProfile URLs, usernames or secUid values (for user_profile, user_videos).
maxItemsintegerMax results per keyword / user / video. 0 = all available. Default 100.
searchSortstringrelevance or most_liked (video search only).
publishTimestringall, day, week, month, three_months or six_months (video search only).
regionstringTwo-letter country code, default US (video search only).
userVideoSortstringlatest or popular (user's videos only).

Output

Every row carries a record_type of video, user or comment. Common video fields:

FieldDescription
video_id, video_url, content_typeVideo identity, canonical URL, and video or photo (slideshow).
description, hashtags, language, regionCaption, hashtags, caption language and the video's country code.
play_count, like_count, comment_count, share_count, collect_count, download_countEngagement metrics.
create_time, duration_seconds, is_pinned, is_adPublish time (ISO-8601 UTC), length and flags.
cover_url, play_url, image_urls, image_count, width, heightCover image, video file, photo-post images and dimensions.
music_id, music_title, music_author, music_is_originalThe 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_urlCreator 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_count is 0 because 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.