TikTok Scraper | All-In-One
Pricing
from $1.62 / 1,000 results
TikTok Scraper | All-In-One
Extract TikTok videos, profiles, comments, hashtags, sounds, and follower lists in one Actor. Add a username, video URL, hashtag, or search term and get video IDs, captions, play, like, comment and share counts, plus author and music data. No login required.
Pricing
from $1.62 / 1,000 results
Rating
0.0
(0)
Developer
ToolzerHub
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
TikTok Scraper
Pull TikTok profiles, videos, comments, hashtags, sounds, and follower or following lists from one Actor. Give it a username, a video URL, a hashtag, a sound ID, or a search term, and it returns structured rows — video IDs, captions, play/like/comment/share counts, author and music data. No login required: every request goes through this Actor's own backend, and no TikTok cookie, session token, or credential is ever sent.
Modes
Set scraperType to pick what this run collects. Each mode takes its own identifier below the picker.
| Mode | Returns | Needs | Or use the focused Actor |
|---|---|---|---|
| User profile | Full profiles for one or more accounts | username (accepts a list of handles or URLs) | TikTok Profile Scraper |
| User posts | Videos posted by one account | username or sec_user_id | TikTok Profile Videos Scraper |
| User followers | Full profiles of an account's followers | username or sec_user_id | TikTok Followers Scraper |
| User following | Full profiles of the accounts a user follows | username or sec_user_id | TikTok Following Scraper |
| Video | One or more videos by ID, URL, or share link | aweme_id or share_url (both accept lists) | TikTok Video Scraper |
| Video comments | A video's comments, with optional reply threads | aweme_id | TikTok Comments Scraper |
| Video search | Videos matching a keyword | keyword | TikTok Video Search Scraper |
| Hashtag | A hashtag's stats, with optional current top videos | tag_name | TikTok Hashtag Scraper |
| Sound | A sound's metadata, with optional videos using it | music_id | TikTok Sound Scraper |
| User search | Accounts matching a keyword | keyword | TikTok User Search Scraper |
| Live status | Whether one or more accounts are live right now | username (list) or room_id | TikTok Live Status Scraper |
scraperType is the only field this Actor marks required. Every other field is mode-specific, so a blank identifier doesn't fail validation — it fails, or empties out, once the run actually starts. User Profile and Video stop with a clear error (Provide at least one TikTok username or full profile URL, Provide at least one TikTok video ID, full video URL, or share URL) if their identifier list is empty. Every other mode — Hashtag, Sound, User Search, Video Search, User Posts, Followers, Following, Video Comments, Live Status — runs to completion and logs why it found nothing (No hashtag found for tag_name=undefined, for example) instead of erroring. Either way, an empty dataset points you at the run log, not a bug.
One Actor or eleven?
Each of the eleven modes above is also its own focused Actor, cheaper per result and scoped to a single lookup. Reach for a focused Actor once you know exactly what you're pulling at scale — a profile batch, one account's video history, comments on a known video. Reach for this Actor when a research question spans several of those in one project — a hashtag's top videos plus each poster's profile plus their follower counts, say — because that's one Actor integration and one dataset shape instead of switching between several.
Input
{"scraperType": "userProfile","username": ["https://www.tiktok.com/@khaby.lame"]}
maxItems (default 100, prefill 20, 0 for no limit) caps every paginated mode: user posts, followers, following, video comments, video search, user search. Profile, video, hashtag, sound, and live status aren't paginated — they return one row per identifier, or a fixed set for the record they describe.
Output
Field names vary by mode. Across all eleven, the ones you'll see most are:
| Field | Contents |
|---|---|
username, user_id, sec_user_id | Account identifiers |
nickname, avatar_url, is_verified, is_private, region, stats | Profile data |
aweme_id, description, create_time | Video identifiers and caption |
music_info | Music metadata attached to a video |
comment_id, comment_text, parent_comment_id, is_reply | Comment data |
tag_name, ch_id, hashtag_video_count, hashtag_view_count | Hashtag data |
music_id, music_title, music_author, music_usage_count | Sound data |
is_live, room_id, live_title, live_started_at | Live status data |
{"aweme_id": "7530466721379978522","description": "example caption","create_time": 1752480000,"stats": { "play_count": 1000000, "digg_count": 50000, "comment_count": 800, "share_count": 300 },"music_info": { "title": "original sound", "author": "khaby.lame" }}
Questions
What happens if I leave the identifier blank for my mode?
It depends on the mode. User Profile and Video throw a clear error naming what's missing. Every other mode finishes the run and saves nothing, with a log line explaining why — Hashtag logs No hashtag found for tag_name=undefined, User Followers logs that it couldn't resolve an account, and so on. Neither behavior is a bug; check the run log before assuming the mode is broken.
Hashtag and Sound returned zero rows, but I know the hashtag exists. Why?
With the video add-on (addonHashtagVideos / addonMusicVideos) turned on, the mode fetches the hashtag or sound's current videos before yielding anything. If that video fetch comes back empty, the run yields nothing at all — not even the hashtag or sound record itself. Turn the add-on off to get the base record on its own, no video lookup required.
Can one share link return more than one video?
Yes, for the Video mode's share_url input. A vt.tiktok.com or vm.tiktok.com link resolves through a different upstream endpoint than an aweme_id, and that endpoint returns an array — a single share link has come back with more than one video attached.
Do the row-level add-ons (Add User Details, Add Video Detail, Add Profile, Add Similar Users) always cost extra?
Only when they return something. Each is applied per saved row as a follow-up request; if that follow-up fails or comes back empty, you still get the base row and it isn't billed. addonHashtagVideos and addonMusicVideos work differently — they're charged once per run, not once per video returned.
Why does User Search only offer "Add Profile Detail" and not "Add Similar Users"?
That add-on isn't wired to this mode. Followers and Following expose both addonProfile and addonSimilarUsers; User Search exposes addonProfile only.
How do I check if an account is live without knowing its room ID?
Pass the username. No public TikTok page — including an account's own /live page — exposes a room ID directly, so Live Status resolves the current room and status from the username for you. Passing room_id directly skips that lookup if you already have one from elsewhere.
Related Actors
| Actor | Purpose |
|---|---|
| TikTok Profile Scraper | Profile lookups by username or URL |
| TikTok Video Scraper | Video lookups by ID, URL, or share link |
| TikTok Comments Scraper | One video's comments and reply threads |
| TikTok Hashtag Scraper | One hashtag's stats and top videos |
| TikTok Followers Scraper | One account's follower list |