TikTok Scraper: Videos, Profiles, Comments, Sounds & Places
Pricing
from $0.18 / 1,000 videos
TikTok Scraper: Videos, Profiles, Comments, Sounds & Places
Scrape TikTok videos, profiles, hashtag feeds, keyword searches, sounds, places, followers, Shop products and comments. Full metadata: description, author, plays, likes, comments, shares, saves, music, video URLs, covers. No browser and no login; 256 MB.
Pricing
from $0.18 / 1,000 videos
Rating
0.0
(0)
Developer
Tauqeer Abbas
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
TikTok Scraper: Videos, Profiles, Comments, Sounds, Places & Shop

TikTok data at $0.18 per 1,000 videos — one actor for videos, profiles, keyword search, hashtags, sounds, places, followers/following lists, user search, comments, replies and TikTok Shop products.
No browser, no login, no device. 256 MB. Runs in seconds.
Why this actor
| This actor | Browser-based TikTok scrapers | |
|---|---|---|
| Price per 1,000 videos | $0.18 | $0.30 – $3.70 |
| Per 1,000 comments | $0.06 | $0.30 – $1.25 |
| Per 1,000 profiles | $0.12 | $0.30 – $3.00 |
| Browser / Chrome | none | Chromium + residential proxy per session |
| Memory | 256 MB | 1 – 4 GB |
| Login required | no | often |
| One actor for every surface | yes | usually split into 5–10 actors |
| Output compatibility | native, Clockworks-style or apidojo-style keys | one fixed shape |
Because there is no browser in the loop, runs start in seconds, stay inside a quarter of a gigabyte, and a full video row costs a fraction of a cent. De-duplication is applied across all inputs, so you never pay twice for the same video.
Built for AI datasets
Every row is stable, flat and de-duplicated — ready for training, evaluation and retrieval pipelines without a cleaning pass:
- Pre-training and fine-tuning corpora — descriptions, hashtags, mentions and author metadata with stable ids and timestamps.
- Multimodal datasets — a playable video URL, cover and dynamic cover, music metadata and duration for every item.
- Sentiment and topic models — comment text with likes, reply counts, language and the video it belongs to.
- Trend and engagement forecasting — plays, likes, comments, shares and saves per video, plus creation time, so you can build time series.
- Retrieval and RAG — search results, hashtag feeds and profiles as a knowledge base for agents.
- Commerce and recommendation — TikTok Shop products behind each video (product id, title, seller) for recommendation and demand models.
- Geo and spatial models — place pages with coordinates, city and category.
- Audio and sound matching — sound pages with title, author, duration and play URL for audio fingerprints and sound recommendation.
Export as JSON, CSV, Excel or XML, stream to your warehouse on a schedule, or deliver through webhooks and the Apify API.
What you get
One row per item, with dataType:
dataType | Fields |
|---|---|
video | id, URL, description, created date, author (id, @handle, nickname, sec uid, verified, bio, avatar), plays, likes, comments, shares, saves, reposts, music (id, title, author, original, play URL), video URL, download URL, cover, dynamic cover, dimensions, definition, hashtags, mentions, discovery source |
profile | id, URL, @handle, nickname, sec uid, bio, verified, private, avatar, followers, following, hearts, video count |
comment | id, video id/URL, text, created date, likes, reply count, pinned, language, author |
sound | id, URL, title, author, owner, duration, original, commerce flag, video count, cover, play URL, created date |
location | place id, URL, name, address, city, country, category, latitude/longitude, video count, favourite count, cover |
product | product id, title, seller ids, image, anchor type, and the video it was found on |
Duplicates are removed across all inputs. includeComments adds one row per
comment of every delivered video; includeReplies adds their replies.
Quick start
- Videos — paste video URLs (
https://www.tiktok.com/@user/video/123…) or numeric IDs. - Profiles — paste profile URLs,
@handlesorsec_uids. Each profile comes with its recent videos (up to Max videos per profile). - Searches — keywords; ~110 videos per broad query, plus Search variants for more.
- Hashtags —
cats,#catsor a tag URL. - Sounds — sound URLs or ids: the sound's page plus the videos using it.
- Locations — place URLs or ids: the place plus the videos posted there.
- Followers of / Following of — profiles whose follower list to read.
- User searches — keywords to find users by name or handle.
- For You feed — N videos from the algorithmic feed (optional).
Everything can be combined in one run.
Input
| Input | Default | Notes |
|---|---|---|
videos | — | video URLs or IDs |
profiles | — | URLs, @handles, sec_uids |
searches | — | keywords |
hashtags | — | tags |
sounds | — | sound URLs or ids |
locations | — | place URLs or ids |
followersOf | — | profiles whose followers to list |
followingOf | — | profiles whose following to list |
userSearches | — | user keywords |
feedItems | 0 | feed items (0 = off) |
maxVideosPerProfile | 20 | 0 = profile rows only |
maxItemsPerSearch | 120 | search depth per keyword or hashtag |
maxItemsPerSound | 100 | 0 = the sound row only |
maxItemsPerLocation | 100 | 0 = the location row only |
maxFollowersPerProfile | 200 | accounts listed per profile |
maxUsersPerSearch | 20 | profile rows per user keyword |
region | US | ISO code whose catalogue to read |
postedWithinDays | 0 | 0 = any date; 1/7/30/90/180 days |
sortBy | relevance | relevance, likes or latest (searches) |
searchVariants | 2 | extra requests per keyword for more depth |
outputFormat | native | native, clockworks or apidojo |
includeComments | false | one row per comment of each video |
maxCommentsPerVideo | 50 | |
includeReplies | false | also read replies |
maxRepliesPerComment | 0 | 0 = no reply reads |
includeProducts | false | one product row per Shop-anchored video |
maxItems | 1000 | total rows |
requestDelayMs | 250 | pacing between requests |
proxyConfiguration | Apify Proxy | datacenter by default |
Output formats
outputFormat changes the row's field names, not what is scraped:
| Value | Shape |
|---|---|
native | this actor's flat schema (dataType, authorUniqueId, playCount, …) |
clockworks | authorMeta, musicMeta, videoMeta, diggCount, playCount, webVideoUrl, createTimeISO; comments use cid, awemeUrl |
apidojo | views, likes, comments, shares, bookmarks, channel, video, song, postPage |
The mappings are field-compatible, not byte-identical: values that TikTok does
not publish (a video's author follower counts, song album, hashtag ids) stay
null instead of being invented. sound, location and product rows are
always in the native shape.
Pricing
Pay per event — you pay only for the rows you receive:
| Event | Price |
|---|---|
video | $0.18 / 1,000 |
profile (also followers/following rows) | $0.12 / 1,000 |
comment | $0.06 / 1,000 |
sound | $0.06 / 1,000 |
location | $0.06 / 1,000 |
product | $0.06 / 1,000 |
| Actor start | $0.001 per run |
Set a maximum cost per run and the actor stops when it is reached; nothing beyond your limit is delivered or charged.
Notes and limits
- A keyword search returns up to ~110 videos; Search variants asks the topic's own hashtags again for more (measured 110 → 130+). Narrow, multi-word keywords return fewer.
postedWithinDaysuses TikTok's own date filter, which narrows the same result pool: short windows return far fewer videos. Hashtag feeds are filtered locally because TikTok ignores the filter there.regionselects the catalogue to read (measured: two runs in one region share ~90% of their videos, two regions ~55%).- The For You feed is algorithmic: not reproducible run to run.
vm.tiktok.comshort links are not expanded: open the link and use the redirected URL.- Private or deleted videos and profiles are skipped and not charged.
- Shop products come from the video's own Shop anchor; TikTok does not publish a product catalogue to a logged-out session.