TikTok Scraper - Videos, Profiles, Comments & Hashtags avatar

TikTok Scraper - Videos, Profiles, Comments & Hashtags

Under maintenance

Pricing

from $1.20 / 1,000 video scrapeds

Go to Apify Store
TikTok Scraper - Videos, Profiles, Comments & Hashtags

TikTok Scraper - Videos, Profiles, Comments & Hashtags

Under maintenance

Scrape TikTok videos, profiles, comments, hashtags, sounds and search results. Get plays, likes, shares, captions, followers and subtitles, and download videos. Free date and popularity filters, no login or API key. Export to JSON, CSV or Excel. Pay only for results.

Pricing

from $1.20 / 1,000 video scrapeds

Rating

0.0

(0)

Developer

Brisk Pebble

Brisk Pebble

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

What does TikTok Scraper do?

TikTok Scraper extracts public data from TikTok: videos, profiles, comments and replies, hashtags, sounds and search results. Start from any mix of:

  • #️⃣ Hashtags: the videos TikTok lists for #cooking, #fyp or any other tag
  • 😎 Profiles: profile details (followers, likes, bio, emails in the bio) plus posted videos and reposts
  • 🔍 Search: Top results, video results, or creators matching a keyword
  • 🔗 Any TikTok URL: videos, photo posts, vm.tiktok.com short links, and profile, hashtag, sound and search pages
  • 🎵 Sounds: the videos that use a sound or song

You don't need a TikTok account, API key or login. Results land in a clean dataset you can download as JSON, CSV, Excel, XML or HTML, call through the Apify API, schedule, or connect to Make, Zapier, n8n, Google Sheets, Slack and AI agents over MCP.

Why use this TikTok scraper?

  • Drop-in compatible. Input fields and output fields match the most popular TikTok scraper on Apify (hashtags, profiles, resultsPerPage, postURLs, authorMeta, videoMeta, diggCount, …). Switch by changing the Actor ID; your integrations keep working.
  • Built for TikTok in 2026. TikTok signs every web API call with tokens (X-Bogus, X-Gnarly, …) that change often, which breaks most scrapers. This Actor lets TikTok's own code in a real browser sign the requests, and reads pages over plain HTTP whenever possible, so runs stay fast and cheap.
  • Filters are free. Date range, minimum and maximum likes, minimum plays and pinned-post filters cost nothing extra, and filtered-out videos are never charged. On profiles the scraper stops paginating once it passes your date.
  • Exact numbers. Likes, plays, shares, saves and followers come from TikTok's exact counters, not rounded values like "1.3M".
  • Comments with replies. Every comment has its author, text, likes and reply count; replies point to their parent comment.
  • Media downloads. Optionally save MP4 files, thumbnails, slideshow images, avatars and subtitles to a key-value store.
  • Reliable runs. Flagged sessions are replaced automatically, duplicates are removed across inputs, the run resumes after a platform migration without charging twice, and it fails loudly instead of returning an empty "success".

What TikTok data can I extract?

VideosProfilesComments
Caption, language, URL, created dateUsername, display name, profile URLComment text and ID
Plays, likes, shares, saves, comments, repostsFollowers, following, total likes, video countLikes and reply count
Author (with follower and like counts)Bio, bio link, emails found in the bioCommenter username, name, avatar
Sound: name, author, album, original, URLVerified, private, TikTok Shop sellerReply flag and parent comment ID
Duration, size, resolution, codec, cover and video URLsBusiness category, language, regionLiked or pinned by the creator
Hashtags, mentions, effects, on-screen textAccount creation dateVideo ID and URL
Slideshow images, subtitles, posting countryAvatar (and downloaded copy)Created date
Ad, paid partnership, pinned, AI-generated flags

Every item has a dataType (video, profile or comment), the input it came from and a source object, so you can group results by input.

How to scrape TikTok

  1. Click Try for free and open the Input tab.
  2. Add at least one target: a hashtag like cooking, a username like nasa, a search query, a TikTok URL or a sound.
  3. Set 💯 Number of videos (per hashtag, profile, search or sound).
  4. Optional: add date and popularity filters, comments, media downloads, or pick a country to scrape as if you were there.
  5. Click Start, then download your data from the Output tab, or use the API.

How much does it cost to scrape TikTok?

This Actor uses pay-per-event pricing: you pay a small fee per video, profile and comment saved, per video file downloaded, plus a tiny start fee per run. Current prices are on the Pricing tab, and higher Apify plans get automatic discounts. Filters, the country option, subtitles, thumbnails and avatars cost nothing extra.

Maximum results and the run's maximum cost cap your spending exactly; the run stops as soon as either is reached. With the Apify free plan's monthly credit you can try the scraper on a few thousand videos at no cost.

Input example

{
"hashtags": ["cooking"],
"profiles": ["nasa"],
"searchQueries": ["pasta recipe"],
"searchSection": "/video",
"postURLs": ["https://www.tiktok.com/@nasa/video/7697300954667994381"],
"resultsPerPage": 50,
"oldestPostDateUnified": "30 days",
"leastDiggs": 1000,
"commentsPerPost": 20,
"maxRepliesPerComment": 3,
"shouldDownloadCovers": true,
"proxyCountryCode": "US",
"maxItems": 2000
}

Output example

A video (shortened):

{
"dataType": "video",
"id": "7686212146052549902",
"text": "s’mores cookie bars 🐻🍫🤎 #smores #smorescookies #cookiebars #baking #dessert",
"textLanguage": "en",
"createTimeISO": "2026-09-21T14:13:20.000Z",
"webVideoUrl": "https://www.tiktok.com/@gisellecooks_/video/7686212146052549902",
"playCount": 11900000,
"diggCount": 1300000,
"shareCount": 306200,
"commentCount": 3636,
"collectCount": 404316,
"authorMeta": { "name": "gisellecooks_", "nickName": "Giselle", "verified": false, "fans": 1500000, "profileUrl": "https://www.tiktok.com/@gisellecooks_" },
"musicMeta": { "musicId": "7603351654578210832", "musicName": "Venus and Flower", "musicAuthor": "Austin Farwell", "musicOriginal": false },
"videoMeta": { "duration": 60, "width": 720, "height": 1280, "definition": "720p", "format": "mp4", "coverUrl": "https://p16-common-sign.tiktokcdn-us.com/..." },
"hashtags": [{ "id": "7250", "name": "baking", "title": null, "cover": null }],
"isAd": false,
"isPinned": false,
"isSlideshow": false,
"searchHashtag": { "name": "cooking", "views": 107086172719, "videos": 6026846 },
"input": "cooking",
"source": { "type": "hashtag", "input": "cooking" },
"scrapedAt": "2026-10-19T17:49:20.496Z"
}

A profile:

{
"dataType": "profile",
"id": "7664638705177150477",
"name": "nasa",
"nickName": "NASA",
"profileUrl": "https://www.tiktok.com/@nasa",
"verified": true,
"signature": "Making the seemingly impossible, possible.✨",
"bioLink": "https://science.nasa.gov/feature/artemis-ii-preliminary-lunar-science-report",
"emails": [],
"fans": 2107037,
"following": 23,
"heart": 11198124,
"video": 57,
"input": "nasa",
"source": { "type": "profile", "input": "nasa" }
}

A comment:

{
"dataType": "comment",
"cid": "7698165061331927838",
"text": "the apple in space has me emotional",
"diggCount": 0,
"replyCommentTotal": 0,
"isReply": false,
"repliesToId": null,
"uniqueId": "addisonbaddison420",
"createTimeISO": "2026-10-19T00:12:31.000Z",
"videoId": "7694813092256959774",
"videoWebUrl": "https://www.tiktok.com/@google/photo/7694813092256959774"
}

The Output tab has ready-made Videos, Profiles and Comments tables.

Tips for the best results

  • Keep the residential proxy (the default). TikTok blocks most datacenter IPs.
  • Use the country option to see what TikTok shows in a given market; trends and availability differ per country.
  • Profiles: since 2026 TikTok shows logged-out visitors only the newest videos of many profiles. When that happens the scraper saves the ~10 newest videos from the creator's embed, tells you in the log, and still saves the profile item. To collect more of a creator's videos, add hashtags or search queries they use.
  • Monitoring: schedule a daily run with oldestPostDateUnified: "1" to collect only today's videos.
  • Speed vs. blocking: 2–5 parallel browser sessions work well. More sessions are faster but more likely to be rate-limited.

Integrations and API

Run the Actor from your code with the Apify API or the Apify clients for JavaScript and Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("<YOUR_USERNAME>/tiktok-scraper").call(run_input={
"hashtags": ["cooking"],
"resultsPerPage": 100,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["webVideoUrl"], item["diggCount"])

You can also connect it to Make, Zapier, n8n, Google Sheets, Airbyte, Slack, webhooks, and AI agents through the Apify MCP server.

FAQ

This Actor collects only publicly visible data and doesn't log in. Scraping public data is generally legal, but personal data is protected by regulations such as the GDPR, and TikTok's terms restrict automated access. Make sure you have a legitimate reason to collect the data, and ask a lawyer if you're unsure. Read more in Is web scraping legal?

Do I need a TikTok account or API key?

No. The Actor works without login, cookies or TikTok's restricted Research API.

Why did I get fewer videos than "Number of videos"?

TikTok stops serving results for some lists (for example, very deep hashtag pages), your filters may have removed videos, a profile may hide its video list from logged-out visitors (see Tips), or the run reached Maximum results or your maximum cost. The log explains which one.

Can I download the videos?

Yes. Turn on Download video files. Files go to the run's key-value store (or the named store you choose) and each video item gets a videoMeta.downloadedVideoUrl link. Thumbnails, slideshow images, avatars and subtitles can be downloaded too.

Does it get video transcripts?

It downloads the subtitles TikTok has for a video (auto-generated captions or the creator's own) and includes their text. Videos without subtitles are not transcribed.

Something broke. What should I do?

Run again with Debug logging on and open an issue on the Issues tab with the run link. TikTok changes often; fixes usually ship within a day or two.