🎬 TikTok Data Scraper avatar

🎬 TikTok Data Scraper

Pricing

from $5.99 / 1,000 results

Go to Apify Store
🎬 TikTok Data Scraper

🎬 TikTok Data Scraper

🎬 TikTok Data Scraper extracts creator & video analytics from TikTokβ€”captions, hashtags, views, likes, comments, and more. πŸš€ Boost B2B research, competitive insights & content strategy with faster, cleaner data collection. πŸ“ˆβœ¨

Pricing

from $5.99 / 1,000 results

Rating

0.0

(0)

Developer

Scrapier

Scrapier

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Extract public TikTok data at scale β€” creator profiles, videos, favourites, followers, following, comments & replies, hashtag feeds, music feeds, playlist feeds and full single-video details β€” and get clean, structured records in one standalone Apify Actor.

No login, no cookies, no browser automation headaches. Just paste what you want and press Start.


✨ Why Choose This Actor?

  • 🧩 8 data types in one place β€” videos, favourites, followers, following, user info, search, comments/replies, hashtags, music, playlists and video details.
  • 🌊 Unlimited or capped β€” grab the first N items or scrape everything available.
  • πŸ›‘οΈ Smart proxy ladder β€” starts on a fast direct connection and only escalates to datacenter β†’ residential proxies when TikTok pushes back, then sticks with residential.
  • πŸ’Ύ Live results β€” every record is saved the moment it's collected, so you never lose a long run.
  • πŸ“Š Tidy output β€” a consistent envelope (section, category, input, user, userType, data) that's easy to filter, join and export.
  • πŸͺ„ Friendly input β€” clearly grouped sections with emojis; fill in only what you need.

πŸš€ Key Features

SectionWhat you get
πŸ‘₯ User dataVideos, favourite videos, followers, following, user info, in-profile search
πŸ’¬ CommentsComments and (optionally) nested replies for any video
#️⃣ HashtagsTop/recent videos for any hashtag, with region localization
🎡 MusicVideos using a given sound/track
▢️ PlaylistsVideos inside a playlist (mix)
πŸ“Ή Video detailsFull HD detail record for individual videos

🧾 Input

You only need to fill the section(s) you care about β€” leave the rest empty.

{
"userUrls": ["https://www.tiktok.com/@taylorswift"],
"categories": ["videos"],
"maxUserResults": 100,
"scrapeAllUserResults": false,
"videoUrlsComments": ["https://www.tiktok.com/@user/video/7300000000000000000"],
"commentsPerUrl": 100,
"repliesPerComment": 0,
"hashtags": ["dance"],
"videosPerHashtag": 100,
"hashtagRegion": "US",
"musicUrls": [],
"playlistIDs": [],
"videoDetailsList": [],
"minRequestInterval": 1.2,
"maxRetries": 3,
"proxyConfiguration": { "useApifyProxy": false }
}

Field reference

FieldTypeDescription
userUrlsarrayProfile URLs, @handles, usernames or numeric user IDs.
categoriesarrayWhich user data to collect: videos, favourite_videos, followers, following, user_playlists, search, user_info.
maxUserResultsintegerMax items per profile/section (min 40).
scrapeAllUserResultsbooleanIgnore the limit and fetch everything.
videoUrlsCommentsarrayVideo URLs/IDs to scrape comments from.
commentsPerUrl / scrapeAllCommentsinteger / booleanComment cap or "all".
repliesPerComment / scrapeAllRepliesinteger / booleanReplies per comment (0 = skip) or "all".
hashtagsarrayHashtag names or URLs.
videosPerHashtag / scrapeAllHashtagVideosinteger / booleanHashtag video cap or "all".
hashtagRegionstringTwo-letter country code (e.g. US, GB, IN).
musicUrlsarrayMusic URLs/IDs.
videosPerMusic / scrapeAllMusicVideosinteger / booleanMusic video cap or "all".
playlistIDsarrayNumeric playlist (mix) IDs.
videosPerPlaylist / scrapeAllPlaylistVideosinteger / booleanPlaylist video cap or "all".
videoDetailsListarrayVideo IDs/URLs for full detail records.
minRequestIntervalnumberSeconds between requests (pacing).
maxRetriesintegerRetries per request before giving up.
apiKeystringOptional premium key that lifts the rate limit.
proxyConfigurationobjectProxy settings. Default: no proxy with automatic escalation.

πŸ“¦ Output

Every record uses the same envelope so different sections sit happily in one dataset:

{
"section": "users",
"category": "videos",
"input": "https://www.tiktok.com/@taylorswift",
"user": "taylorswift",
"userType": "unique_id",
"data": {
"aweme_id": "7647758735229635871",
"video_id": "7647758735229635871",
"region": "US",
"title": "…",
"duration": 25,
"play_count": 13686605,
"digg_count": 2579867,
"comment_count": 34525,
"share_count": 115161,
"create_time": 1780632608,
"music_info": { "id": "…", "title": "…", "author": "Taylor Swift" },
"author": { "id": "…", "unique_id": "taylorswift", "nickname": "Taylor Swift", "avatar": "…" }
}
}
Envelope fieldMeaning
sectionusers, videos, hashtags, music, playlists, search
categoryThe specific data type (videos, comments, replies, user_info, …)
inputThe exact input string you provided
userResolved username / id / hashtag / music id / playlist id
userTypeunique_id, user_id, video_id, hashtag, music_id, mix_id, keywords
dataThe full record (video, comment, follower, profile, …)

The Output tab ships with ready-made table views: πŸ—‚οΈ Overview, πŸ“Ή Videos, πŸ’¬ Comments & Replies, and πŸ‘₯ Users & Followers.


πŸš€ How to Use (Apify Console)

  1. Log in at console.apify.com β†’ Actors.
  2. Open TikTok Data Scraper.
  3. Fill in the section(s) you need (e.g. paste a profile URL under πŸ‘₯ Scrape User Data).
  4. Click Start.
  5. Watch the live log fill up with collection progress. 🎬
  6. Open the Output tab and export to JSON / CSV / Excel.

πŸ€– Use via API

curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"userUrls":["https://www.tiktok.com/@taylorswift"],"categories":["videos"],"maxUserResults":40}'

πŸ’‘ Best Use Cases

  • πŸ“ˆ Creator & competitor analytics (engagement, posting cadence).
  • πŸ”Ž Hashtag / sound trend discovery.
  • πŸ’¬ Audience & sentiment research from comments.
  • πŸ—‚οΈ Building datasets for dashboards and ML.

πŸ’³ Pricing

This Actor uses the pay-per-event model. You're billed per result item saved to the dataset, so your cost scales directly with the data you collect. Capped runs (maxUserResults, commentsPerUrl, …) give you predictable spend; enable the 🌊 Scrape all toggles for full coverage.

❓ FAQ

Do I need to fill every section? No β€” fill only the ones you need; leave the rest empty.

Why a minimum of 40 results? Data is fetched in pages; 40 is the smallest sensible batch. Use the Scrape all toggle for everything.

It says my direct connection was blocked β€” is that bad? No. The Actor automatically escalates to datacenter then residential proxies and keeps going. You'll see clear πŸ›‘οΈ/🏠 log lines when this happens.

Is this legal? Only public data is collected. You are responsible for complying with TikTok's Terms, GDPR/CCPA and any applicable laws.

πŸ›Ÿ Support & Feedback

Found a bug or want a new field? Open an issue on the Actor's Issues tab β€” feedback is welcome and shapes the roadmap.