🎬 TikTok Data Scraper avatar

🎬 TikTok Data Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
🎬 TikTok Data Scraper

🎬 TikTok Data Scraper

Scrape TikTok data including videos, profiles, captions, hashtags, comments, likes, shares, views, music, and engagement metrics. Perfect for influencer research, trend tracking, competitor analysis, content monitoring, and social media analytics.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Scrapio

Scrapio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day 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.