TikTok Scraper avatar

TikTok Scraper

Pricing

from $0.45 / 1,000 videos

Go to Apify Store
TikTok Scraper

TikTok Scraper

Scrape TikTok videos, profiles and comments from creators, hashtags, search keywords, video links and sounds in one run: views, likes, shares, captions, hashtags, author and sound details, with date filters. No login.

Pricing

from $0.45 / 1,000 videos

Rating

0.0

(0)

Developer

Automly

Automly

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Categories

Share

What is TikTok Scraper?

TikTok Scraper is an all-in-one tool to scrape TikTok videos, profiles and comments in one run. Give it creators, hashtags, search keywords, video links or sound links, and get every video's views, likes, comments, shares, saves, caption, hashtags, creator details and sound details, plus comments and profile rows if you want them. Click Start and download the data as Excel, CSV or JSON.

  • 🧩 All in one: profiles, hashtags, keywords, video links and sounds in a single run
  • 🎬 Videos: full stats, caption, hashtags, mentions, cover, duration and location
  • 👤 Creators: followers, likes, bio, avatar and verified badge on every video, or as profile rows
  • 💬 Comments: as many comments and replies per video as you choose
  • 💾 Files: save video files without the watermark, covers, avatars and sound covers, plus subtitles
  • 📅 Date filters: only videos posted between two dates, or within the last few days
  • 🔓 No login: no TikTok account, cookies or API key needed
  • 💸 Free to try: every Apify account gets $5 of free usage each month

What can TikTok Scraper do?

  • Get the latest, most popular or oldest videos of any public creator, plus their reposts, live stories, followers and following
  • Get the videos TikTok shows for any hashtag or search keyword (Top or Videos tab), with the related searches TikTok suggests
  • Keep only videos with at least or at most a number of likes, views, shares or comments
  • See TikTok as people in another country see it
  • Save the video files (no watermark), covers, avatars and sound covers, and get subtitles with their text
  • Get full details of videos from their links, with up to 15 related videos each
  • Get the videos that use a sound
  • Get comments and replies of every video it saves
  • Find profiles by keyword and get their follower counts
  • Mix all of these in one run and cap the whole run with Max results
  • Export to Excel, CSV, JSON, HTML or XML, or send the data to Google Sheets, Make, Zapier and more

What data can you extract from TikTok?

👀 Views❤️ Likes💬 Comments count
🔁 Shares and saves📝 Caption#️⃣ Hashtags and mentions
👤 Creator name and handle👥 Creator followers and likes✅ Verified badge
🎵 Sound name, author and audio link⏱️ Duration and resolution🖼️ Cover and slideshow images
📍 Location📌 Pinned and ad flags🗨️ Comments and replies
🎞️ Video files (no watermark)📝 Subtitles and their text🔍 Related searches

How to scrape TikTok

  1. Create a free Apify account (no credit card needed).
  2. Open TikTok Scraper.
  3. Add profiles, hashtags, search keywords, video links or sound links (any mix).
  4. Choose how many videos you want per input, and comments per video if you want them, then click Start.
  5. When the run finishes, download your data as Excel, CSV, JSON, HTML or XML.

How much does it cost to scrape TikTok?

You pay only for the results you get: one price per video, one per profile row (creators, followers and following) and one per comment, plus one per file saved when you ask for files. See the Pricing tab for the current prices. Every Apify account gets $5 of free usage each month, so you can try it at no cost. Max results (1,000 by default) caps how many results one run saves, so you always know the most a run can cost.

⬇️ Input

SettingWhat it does
ProfilesUsernames or profile links (khaby.lame, @khaby.lame, https://www.tiktok.com/@khaby.lame)
HashtagsHashtags, with or without #
Search keywordsKeywords to search, like iphone review
Video linksVideo or photo post links, short links or video IDs
Sound linksSound links or sound IDs
Profile sectionsVideos, reposts and/or live stories of each profile
Profile video orderLatest (default), popular or oldest first
Followers / Following per profileHow many of each creator's followers and followed accounts to get
Videos per inputHow many videos per profile, hashtag, keyword and sound (default 20)
Max resultsThe most results the whole run saves, all inputs together (default 1,000; 0 = no limit)
Videos published after / beforeOnly videos from this date range; "after" also takes a period like 7 days
Skip pinned videosLeave out videos creators pinned to their profile
At least / At most likes, views, shares, commentsOnly videos within these counts
Search resultsTop tab (default), Videos tab or profiles for search keywords
Search results posted withinOnly search results from the past day, week, month, 3 or 6 months
Related search wordsAdd the searches TikTok suggests next to each keyword
Related videosFor video links, also get up to 15 related videos each
Author data / Sound dataCreator and sound details on every video (on by default)
Profile rowsOne row per creator in Profiles with their full profile
Comments per video / Replies per commentHow many comments (and replies) to get from every video saved
Save videos / covers / avatars / sound coversSave these files to the run's storage, with links in each row
SubtitlesCaption links only (default) or links and full text
Max size of saved filesThe most all saved files may take up in one run (default 500 MB)
LanguageLanguage for the results (default English)
CountrySee TikTok as people in this country see it

Example: two creators' videos from the last 30 days, a hashtag and a keyword, with 20 comments per video.

{
"profiles": ["khaby.lame", "@scout2015"],
"hashtags": ["cooking"],
"searchQueries": ["iphone review"],
"resultsPerPage": 20,
"oldestPostDateUnified": "30 days",
"commentsPerPost": 20,
"maxResults": 2000
}

Example: full details of a few videos with their related videos.

{
"postURLs": [
"https://www.tiktok.com/@scout2015/video/6718335390845095173",
"https://www.tiktok.com/@khaby.lame/video/7688786985896381727"
],
"scrapeRelatedVideos": true
}

⬆️ Output

Every row has a type: "video", "profile" or "comment". Follower and following rows are profile rows with relation and connectedTo. In Apify Console, the Videos, Profiles and Comments tables show each kind with its own columns. Video rows also say how each video was found: searchQuery and searchRank for keywords, searchHashtag for hashtags, searchMusic for sounds, relatedTo for related videos, and source for the input it came from. A video found by two of your inputs is saved once.

A video row (found by the hashtag cooking, with files and subtitles on):

{
"type": "video",
"id": "7688864693892467981",
"url": "https://www.tiktok.com/@recipesecrets0/video/7688864693892467981",
"text": "This steak-loaded baked potato is absolutely insane 🤯🔥 Crispy grilled potato, juicy seasoned steak bites, sour cream, melted cheese, chives, and garlic herb butter all packed into one loaded bite. If you love steak and potatoes, this might become your new favorite dinner. Save this recipe and send it to someone who needs to make it ASAP. #steakandpotatoes #americanfood #steakrecipe #easyrecipe #usa ",
"createdAt": "2026-09-23T22:42:15Z",
"authorUsername": "recipesecrets0",
"authorNickname": "Recipe Secrets🇺🇸",
"authorId": "7669058467911402509",
"authorVerified": false,
"authorFollowers": 33000,
"views": 970500,
"likes": 27600,
"comments": 255,
"shares": 21900,
"saves": 15327,
"reposts": 0,
"hashtags": [
{
"name": "steakandpotatoes"
},
{
"name": "americanfood"
},
{
"name": "steakrecipe"
},
{
"name": "easyrecipe"
},
{
"name": "usa"
}
],
"mentions": [],
"durationSeconds": 61,
"coverUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oMMNHqeGkIehjAVILqeAFakKoErApIqALAAzQA~tplv-tiktokx-origin.image?...",
"isSlideshow": false,
"slideshowImages": [],
"soundId": "7688864664385637133",
"soundTitle": "original sound",
"soundAuthor": "Recipe Secrets🇺🇸",
"soundOriginal": true,
"isAd": false,
"isPinned": false,
"language": "en",
"location": "New York",
"isAiGenerated": false,
"source": "cooking",
"fetchedAt": "2026-10-03T16:35:07Z",
"hashtagNames": [
"steakandpotatoes",
"americanfood",
"steakrecipe",
"easyrecipe",
"usa"
],
"webVideoUrl": "https://www.tiktok.com/@recipesecrets0/video/7688864693892467981",
"createTime": 1790203335,
"createTimeISO": "2026-09-23T22:42:15Z",
"playCount": 970500,
"diggCount": 27600,
"shareCount": 21900,
"commentCount": 255,
"collectCount": 15327,
"repostCount": 0,
"textLanguage": "en",
"authorMeta": {
"id": "7669058467911402509",
"name": "recipesecrets0",
"profileUrl": "https://www.tiktok.com/@recipesecrets0",
"nickName": "Recipe Secrets🇺🇸",
"verified": false,
"privateAccount": false,
"signature": "🍳 Stop wasting time on boring meals.\n💯 Only recipes worth trying.\n👇 Follow now and never run out of meal ideas again.",
"avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/925d0719e45caa3e8b590391e41a852a~tplv-tiktokx-cropcenter:720:720.jpeg?...",
"originalAvatarUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/925d0719e45caa3e8b590391e41a852a~tplv-tiktokx-cropcenter:1080:1080.jpeg?...",
"ttSeller": false,
"fans": 33000,
"following": 1,
"heart": 190600,
"video": 101,
"digg": 236,
"friends": 0,
"storedAvatarUrl": "https://api.apify.com/v2/key-value-stores/<store>/records/avatar-7669058467911402509.jpg"
},
"musicMeta": {
"musicId": "7688864664385637133",
"musicName": "original sound",
"musicAuthor": "Recipe Secrets🇺🇸",
"musicOriginal": true,
"musicAlbum": null,
"playUrl": "https://v16m.tiktokcdn-us.com/709c15a300eb4b97ec787ce72327d19c/6ac18379/video/tos/useast5/tos-useast5-v-27dcd7-tx/oAIUoFqkFBAlDzDdIffNASAgEBqNmtiLgFXCJ5/?...",
"coverMediumUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/925d0719e45caa3e8b590391e41a852a~tplv-tiktokx-cropcenter:720:720.jpeg?...",
"storedCoverUrl": "https://api.apify.com/v2/key-value-stores/<store>/records/music-cover-7688864664385637133.jpg"
},
"videoMeta": {
"height": 1280,
"width": 720,
"duration": 61,
"coverUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oMMNHqeGkIehjAVILqeAFakKoErApIqALAAzQA~tplv-tiktokx-origin.image?...",
"originalCoverUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oQf1ZEIOC2BWN0pimViqnIIcBSAIIwA3iICp4A~tplv-tiktokx-origin.image?...",
"definition": "720p",
"format": "mp4",
"subtitleLinks": [
{
"language": "eng-US",
"languageCode": "en",
"format": "webvtt",
"isAutoGenerated": true,
"tiktokLink": "https://v16m-webapp.tiktokcdn-us.com/22821ccb6919754ec698d7c88818c68b/6ac3d219/video/tos/useast5/tos-useast5-v-0068-tx/a132b2f422d246abbcc61b4623bc7c61/?..."
}
],
"downloadAddr": "https://api.apify.com/v2/key-value-stores/<store>/records/video-7688864693892467981.mp4",
"storedCoverUrl": "https://api.apify.com/v2/key-value-stores/<store>/records/cover-7688864693892467981.jpg"
},
"searchQuery": null,
"searchRank": null,
"searchHashtag": {
"name": "cooking",
"views": 552516391837
},
"searchMusic": null,
"relatedTo": null,
"fromProfileSection": null,
"relatedSearchWords": null,
"subtitles": [
{
"language": "eng-US",
"languageCode": "en",
"format": "webvtt",
"isAutoGenerated": true,
"text": "WEBVTT\n\n\n00:00:00.020 --> 00:00:02.300\nyou'll never eat steak and potatoes the same way again\n\n00:00:02.301 --> 00:00:04..."
}
],
"mediaUrls": [
"https://api.apify.com/v2/key-value-stores/<store>/records/video-7688864693892467981.mp4",
"https://api.apify.com/v2/key-value-stores/<store>/records/cover-7688864693892467981.jpg"
]
}

A comment row:

{
"type": "comment",
"videoId": "6718335390845095173",
"videoUrl": "https://www.tiktok.com/@scout2015/video/6718335390845095173",
"commentId": "6718336105873702917",
"parentCommentId": null,
"authorUsername": "pretzelsticks0",
"authorNickname": "Quit",
"authorId": "6627564337508761605",
"text": "Well it’s pretty easy...and obvious 😂 hlysa",
"likeCount": 345,
"replyCount": 20,
"publishedAt": "2019-07-27T13:35:22Z",
"isPinned": false,
"isAuthorLiked": true,
"language": "un",
"fetchedAt": "2026-10-03T15:32:56Z"
}

Profile rows have the creator's username, nickname, bio, bioLink, followers, following, likes, videos, verified, privateAccount and avatarUrl.

Each run also saves a short report with how many videos, profiles and comments it saved, and any input it could not scrape with the reason (for example, a username that does not exist).

How can I use TikTok data?

  • Trend research: see which videos, hashtags and sounds take off, and when
  • Influencer research: compare creators by followers, likes and how their recent videos perform
  • Competitor tracking: follow what brands and competitors post and how it lands
  • Audience research: read what people say in the comments
  • Content planning: find the formats, captions and sounds that work in your niche

Use TikTok Scraper from your code

Run it from your own code with the Apify API or the Python and JavaScript clients:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("automly/tiktok-scraper").call(run_input={
"profiles": ["khaby.lame"],
"hashtags": ["cooking"],
"resultsPerPage": 50,
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if row["type"] == "video":
print(row["authorUsername"], row["views"], row["url"])

🤖 Use with AI agents (MCP)

This actor works as a tool for AI agents. Connect any MCP-compatible AI assistant or agent to the Apify MCP server at https://mcp.apify.com (sign in with your Apify account), and it can find this actor, fill in the input and read the results by itself. Ask in plain words, for example "Get the 20 latest TikTok videos for #cooking and their top comments", and the agent runs automly/tiktok-scraper with an input like {"hashtags": ["cooking"], "resultsPerPage": 20, "commentsPerPost": 10}. Every input and output field has a plain description, so the agent knows what to type and what each column means. Agent runs cost the same as runs you start yourself.

❓FAQ

How much does it cost?

You pay only for the results you get: videos, profile rows and comments each have their own price per 1,000. See the Pricing tab for the current prices. Every Apify account gets $5 of free usage each month.

How many videos can I get?

Up to 10,000 per profile, hashtag, keyword or sound. TikTok itself shows only part of a hashtag or search to visitors, so very large numbers there can come back shorter; a creator's own videos can be read much further back.

Why do big numbers look rounded?

TikTok shows some large counts rounded (for example 1.0M views), and gives them to everyone that way. Follower and like counts on profile rows are exact.

Can I download the video files?

Yes. Turn on Save videos and each video file, without the TikTok watermark, is saved to the run's storage with its link in videoMeta.downloadAddr. Covers, avatars and sound covers work the same way. Max size of saved files keeps a run from growing too big: once it is reached, rows keep coming without files. Video files are larger than you might expect (often 5 to 20 MB each), so allow for that.

Can I use the same field names as other TikTok scrapers?

Yes. Video rows also carry the counts under the names other popular TikTok scrapers use (playCount, diggCount, shareCount, commentCount, collectCount, webVideoUrl, createTimeISO), hashtags as objects with a name, and the nested authorMeta, musicMeta and videoMeta, so existing code keeps working.

Do I need a TikTok account?

No. You don't need a TikTok account, cookies or an API key.

Can I scrape private accounts?

No. Only public profiles, videos and comments. Inputs that don't exist are skipped and listed in the run report.

Can I connect TikTok Scraper to other tools?

Yes. Start runs and download results with the Apify API or the Python and JavaScript clients, send results to Make, Zapier, n8n, Google Sheets or Slack with Apify integrations and webhooks, or let AI assistants run it through the Apify MCP server at mcp.apify.com.

This scraper only collects information that people chose to make public. It does not collect private data such as email addresses or phone numbers. Profiles, captions and comments can still contain personal data, which may be protected by laws such as GDPR, so only scrape it for a legitimate reason and ask a lawyer if you are unsure. You can read more in Is web scraping legal?

TikTok Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by TikTok.

Something isn't working. What should I do?

Open the Issues tab and tell us the input and what you expected. We usually reply within a day.

⭐ Your feedback

Ideas, missing fields or problems: open the Issues tab and we'll take a look. If TikTok Scraper saved you time, a short review on the Reviews tab helps other people find it.