TikTok Scraper: Videos, Profiles, Hashtags, Search Β· Apify
TikTok Scraper: Videos, Profiles, Hashtags, Search avatar

TikTok Scraper: Videos, Profiles, Hashtags, Search

Pricing

from $0.19 / 1,000 videos

Go to Apify Store
TikTok Scraper: Videos, Profiles, Hashtags, Search

TikTok Scraper: Videos, Profiles, Hashtags, Search

TikTok scraper for every input in one run: paste video, profile, hashtag or search links, or type hashtags, profiles and keywords. One row per video with caption, creator, followers, plays, likes, comments, shares, saves, music, hashtags, post date and a video file link. No login.

Pricing

from $0.19 / 1,000 videos

Rating

0.0

(0)

Developer

DeepMine

DeepMine

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

12

Monthly active users

15 hours ago

Last modified

Features

Limited permissions

Share

TikTok scraper for every kind of input in one run: paste any TikTok link, or type hashtags, profiles and search keywords, and get one row per video with caption, creator, followers, plays, likes, comments, shares, saves, music, hashtags, post date and a video file link.

CreatorCaptionPlaysLikesCommentsSavesFollowersMusicSource
@jenna_bushhager#WorldBookDay is 4/23, and I've joined the #BookTo…39,20099834134224,000original sound#booktok
@zachkingCan I do extreme yoga? 🧘1,700,000177,4001,8266,82986,760,607original sound@zachking
@biteswithlilyEverything I ate at the Train Night Market in Bang…11,600,0001,200,0001,52668,4113,400,000Mario like action game 2street food

$0.29 per 1,000 videos on the Starter plan ($0.35 Free, $0.25 Scale, $0.19 Business). The prefilled run (75 videos) costs about $0.02.

What you can enter

Mix these in one run. Every input gets up to πŸ’― Videos per input, and a video that two inputs find is delivered and charged once.

FieldWhat it takesExample
πŸ”— TikTok linksAny TikTok link: each is read for what it istiktok.com/@zachking/video/..., vm.tiktok.com/..., tiktok.com/t/..., tiktok.com/@zachking, tiktok.com/tag/booktok, tiktok.com/search?q=street%20food, tiktok.com/music/...
#️⃣ HashtagsWith or without #booktok
πŸ‘€ ProfilesWith or without @zachking
πŸ” Search keywordsOne search per linestreet food

The links field alone can hold a whole mixed list, so a spreadsheet of URLs works as it is. A link to one video gives that one video.

Filters

All filters are free: a video they leave out isn't charged.

FilterWorks on
πŸ“… Only videos posted afterProfiles and searches. Hashtag feeds aren't ordered by date, so they aren't filtered.
πŸ“… Only videos posted beforeProfiles
πŸ” Search order: relevance, newest, most views, most likesSearches
πŸ” Search posted within: 24 hours to 6 monthsSearches
πŸ‘€ Profile video order: latest, popular, oldestProfiles
πŸ‘€ Profile sections: own videos, reposts, storiesProfiles
πŸ‘€ Skip pinned videosProfiles
❀️ Min and max likesProfiles

TikTok refuses Popular and Oldest on many datacenter IPs: if a profile fails with them, use a residential proxy.

Calls written for clockworks/tiktok-scraper work too. postURLs, resultsPerPage, profileScrapeSections, profileSorting, excludePinnedPosts, oldestPostDateUnified, newestPostDate, leastDiggs, mostDiggs, videoSearchSorting and videoSearchDateFilter are read as the fields above.

What you get

One row per video, in the order of your inputs. sourceInput says what found each video, so you can filter one export by input.

  • πŸ“Š Overview: cover, creator, caption, link, plays, likes, comments, shares, saves, followers, music, post date, source.
  • πŸ“ˆ Stats: every count side by side, ready to sort.
  • πŸ”Ž Details: the video file, TikTok's AI label, captions, quality, file size and the creator's totals.

Video file links and picture links are signed by TikTok and stop working about 2 days after the run, so download them the same day. Filters and repeats aren't charged. Inputs that fail are named in the status message and the run summary; their rows are never charged, and the other inputs' rows are kept.

Speed

Measured on 6 Apify runs at the default 256 MB, 2026-11-02: first row 2.2-6.6 s after the run starts, and 700 videos in 48 s. The run lasts as long as your inputs do, and rows reach the dataset in batches as they are read.

Output fields

  • cover: The video's cover image. Signed by TikTok: the link stops working about 2 days after the run.
  • creatorName: The creator's display name.
  • caption: The full caption, hashtags included.
  • captionSnippet: The caption's first 50 characters on one line, for tables.
  • creator: The creator's TikTok username, without @.
  • url: The video's page on TikTok.
  • creatorVerified: The creator has TikTok's verified badge.
  • isPinned: Pinned to the top of the profile. Null for videos not found on a profile: only a profile's feed says.
  • isAd: TikTok labels the post as an ad or a paid partnership.
  • plays: Views. TikTok rounds large counts on its web pages (411.7K is 411700). Null when TikTok hides the counter.
  • likes: Likes. Null when TikTok hides the counter.
  • comments: Comments.
  • shares: Shares. Null when TikTok hides the counter.
  • saves: Saves (TikTok's Favorites). Null when TikTok hides the counter.
  • reposts: Reposts (TikTok's Repost button). Null when TikTok hides the counter.
  • followers: The creator's followers when the video was collected.
  • durationSeconds: Length in seconds. Null for photo posts.
  • postedAt: When it was posted (UTC, ISO 8601).
  • rank: Position in the feed or search as collected, 1 = first. Null for a video you entered.
  • hashtags: Hashtags in the caption, without #.
  • mentions: Usernames mentioned in the caption.
  • mentionedUsers: Each person mentioned in the caption: the name as written (TikTok writes a mention as the person's display name), their username, user id, secUid and profile link.
  • music: The sound's title ("original sound" is the creator's own audio).
  • soundUrl: The sound's page on TikTok, with every video that uses it.
  • videoUrl: The video file (MP4) in the best quality TikTok serves, a direct link anyone can open or download (no login, no cookies). Often H.265 (HEVC), which some browsers don't play; download it to watch. Download it before videoExpiresAt. Null for photo posts.
  • videoExpiresAt: When TikTok's links to the video file expire (UTC), about 2 days after the run.
  • isPhotoPost: A photo post (slideshow): its pictures are in photos.
  • isAiGenerated: TikTok labels the post as AI-generated.
  • hasCaptions: TikTok has captions (subtitles) for the video. The caption text itself is what TikTok Transcripts delivers.
  • captionLanguages: The languages TikTok has captions in for the video (eng-US, ...).
  • captionLanguage: The language of the caption text as TikTok detects it (en, es, ...).
  • onScreenText: Text the creator put on the video with TikTok's text stickers; several are joined with ' | '.
  • relatedSearches: Searches TikTok suggests next to the video ("Others searched for").
  • topics: TikTok's own topic labels for the video.
  • country: Where TikTok says the video was posted from (country code).
  • placeName: The place the post is tagged with, when it has one.
  • placeAddress: The tagged place's address.
  • placeCity: The tagged place's city, when TikTok gives one.
  • width: Video width in pixels. Null for photo posts.
  • height: Video height in pixels. Null for photo posts.
  • definition: TikTok's quality label for the video (540p, 720p, 1080p).
  • format: The video file format (mp4).
  • fileSizeBytes: Size of TikTok's standard video file in bytes.
  • creatorAvatar: The creator's profile picture. Signed by TikTok: the link stops working about 2 days after the run.
  • creatorBio: The creator's bio.
  • creatorFollowing: Accounts the creator follows.
  • creatorLikes: Total likes on all the creator's videos.
  • creatorVideos: The creator's public videos.
  • creatorPrivate: The creator's account is private. Null when TikTok doesn't say.
  • soundAuthor: The sound's artist or creator name.
  • soundAlbum: The album of a released track, when TikTok names it.
  • soundIsOriginal: The sound is the creator's own audio, not a released track. Null without a sound.
  • soundCover: The sound's cover art. Signed by TikTok: the link stops working about 2 days after the run.
  • creatorSizeTier: The creator's size by followers: nano (under 10K), micro (10K-100K), mid (100K-500K), macro (500K-1M) or mega (1M and more).
  • creatorEmail: The first email address written in the creator's bio, when there is one.
  • soundDurationSeconds: The sound's length in seconds.
  • soundAudioUrl: The sound's audio file. Signed by TikTok; it can expire.
  • soundIsCopyrighted: TikTok marks the sound as a copyrighted track.
  • soundIsCommercial: The sound is in TikTok's commercial music library (cleared for business use).
  • commentsAllowed: Anyone may comment on the video. False when the creator turned comments off or limited them to friends.
  • duetAllowed: Others may Duet the video. Null when TikTok doesn't say (photo posts).
  • stitchAllowed: Others may Stitch the video. Null when TikTok doesn't say (photo posts).
  • videoCodec: The video's codec (h264, h265). Null for photo posts.
  • videoBitrate: The standard video file's bitrate in bits per second. Null for photo posts.
  • dynamicCover: The video's animated cover image. Signed by TikTok: the link stops working about 2 days after the run.
  • embedUrl: TikTok's embed player page for the video: opens with no login or cookies, and the link isn't signed, so it doesn't expire.
  • photos: The images of a photo post (slideshow); null for videos. Signed by TikTok: the link stops working about 2 days after the run.
  • videoId: TikTok's video id.
  • creatorId: TikTok's user id of the creator.
  • creatorSecUid: The creator's secUid, the id TikTok's own web API uses.
  • soundId: TikTok's sound (music) id.
  • poiId: TikTok's id of the tagged place.
  • playlistId: TikTok's id of the creator's playlist the video is in, when it is in one.
  • sourceType: Which kind of input found it: video, profile, hashtag, search or sound.
  • sourceInput: What found the video: the @profile, #hashtag, search keyword or URL you entered.
  • scrapedAt: When it was collected (UTC).

The run summary (🧾 Run summary) lists each input's status, rows and stop reason.

Pricing

Pay per video in your dataset, no start fee. Plan prices per 1,000 videos:

PlanPrice
Free$0.35
Starter$0.29
Scale$0.25
Business$0.19

Questions

Do I need a TikTok account? No. Everything comes from what TikTok shows logged-out visitors.

How many videos can I get? Profiles and hashtags go deep; TikTok ends a search after about 200 videos.

Can I get comments, transcripts or followers? Those have their own Actors below.

Feedback

Tell us what's missing on the Issues tab. If the data helps you, a short review on the Store page helps others find it.