TikTok Reposts Scraper avatar

TikTok Reposts Scraper

Pricing

from $0.22 / 1,000 reposts

Go to Apify Store
TikTok Reposts Scraper

TikTok Reposts Scraper

Export the videos any TikTok profile reposted: who reposted it, the original creator with followers and bio, plays, likes, comments, shares, caption, sound and a video file link. Filter by the creator's followers, or get only new reposts on a schedule. Usernames in, CSV or JSON out. No login.

Pricing

from $0.22 / 1,000 reposts

Rating

0.0

(0)

Developer

DeepMine

DeepMine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

A TikTok reposts scraper: enter TikTok usernames and get every video each profile reposted (its Reposts tab), one clean row per repost. Each row names who reposted it and the video's original creator, with the creator's followers, bio and email, the video's plays, likes, comments, shares, saves and reposts, the caption, hashtags, sound, post date and a downloadable video file link.

No TikTok account, no cookies, no login. Filter by the original creator's follower count, turn on Creator details for each creator's join date and bio link, or schedule it with Only new reposts to get just what was reposted since the last run.

Original creator๐Ÿ“ Caption๐Ÿ” Reposted Byโ–ถ๏ธ Playsโค๏ธ Likes๐Ÿ‘ฅ Creator Followers๐Ÿ“ Tier๐Ÿ“… Posted
@cooperkuppDonโ€™t try this at home ๐Ÿ˜zachking1,600,000132,100694,900macro2026-09-05
@andrew.collectsThe Craziest Bricks and Minifigs Video Yet! #legoโ€ฆzachking832,50076,8007,823nano2026-07-03
@rylan.smithhh@MrBeast will you please come to our pep rally atโ€ฆmrbeast8,600,0001,100,00012,100micro2026-10-14
@n2nfilmsMr Leanmrbeast3,500,000346,80019,100micro2026-10-09
@sharktankabcIt's time to ignite a spark for a new season of enโ€ฆmrbeast514,40015,000481,000mid2026-09-23

$0.29 per 1,000 reposts on the Starter plan ($0.34 Free, $0.25 Scale, $0.22 Business). The prefilled run (100 reposts) costs about $0.03.

Why this one

  • Who reposted what. Every row has the reposting profile (reposterUsername, its followers and link) next to the original creator, so the reposts of many profiles in one run stay apart. Two of your profiles that repost the same video give a row each: who amplifies what is the data.
  • The original creator, in full. Follower, following, like and video counts, bio, the email written in the bio, a size tier (nano to mega) and verified badge for the creator of every reposted video, with no extra request. The Reposts tab rounds counts of 10K and over the way TikTok's site does (6.3M); Creator details replace them with the exact counts from the creator's profile page and add their join date, bio link, friends count, app language, business-account and TikTok Shop seller flags.
  • Follower filters that cost nothing. Keep only reposts of creators in a follower range (minAuthorFollowers, maxAuthorFollowers): micro-influencers, say. Skipped reposts aren't charged and don't count toward your maximum.
  • Only new reposts, or a full refresh. On a schedule, onlyNew delivers only the reposts no earlier run delivered for that profile. Leave it off and each run delivers every repost again with today's plays and likes.
  • The whole video. A video file link that opens without cookies, an embed link that doesn't expire, the cover and the full-size cover with its width and height, captions languages, on-screen text, tagged place, sound with its audio file and its creator's account, and whether comments, Duets and Stitches are allowed.
  • Fails loudly, never silently. Every run saves a per-profile summary (OUTPUT). If TikTok stops answering part-way, that profile is marked and the run fails so you notice; the rows already read are kept.

Input

FieldWhat it doesDefault
profilesTikTok usernames or profile URLs, one per line: zachking, @zachking, https://www.tiktok.com/@zachking.zachking, mrbeast
maxRepostsPerProfileReposts per profile, newest repost first, up to 5,000.50
minAuthorFollowersKeep only reposts whose original creator has at least this many followers (the count the Reposts tab shows). 0 = no minimum.0
maxAuthorFollowersKeep only reposts whose original creator has at most this many followers. 0 = no maximum.0
creatorDetailsAlso read each original creator's profile page (once per creator): exact counts, join date, bio link, friends, app language, business-account and TikTok Shop seller flags, and the account behind another creator's original sound. Same price.off
onlyNewDeliver only the reposts that no earlier run with this option delivered for that profile.off
proxyConfigurationApify Proxy. Keep datacenter (the default); residential doesn't help here.Apify datacenter

Example:

{
"profiles": ["zachking", "mrbeast", "khaby.lame"],
"maxRepostsPerProfile": 200,
"minAuthorFollowers": 10000,
"maxAuthorFollowers": 1000000
}

Output

One row per repost, profile by profile in your order, each profile's reposts in the order its Reposts tab shows them (newest repost first). Table views in the Console:

  • ๐Ÿ“Š Overview: ๐Ÿ–ผ๏ธ Cover, ๐Ÿท๏ธ Username, ๐Ÿ‘ค Original Creator, ๐Ÿ“ Caption, ๐Ÿ”— TikTok, ๐Ÿ” Reposted By, โ–ถ๏ธ Plays, โค๏ธ Likes, ๐Ÿ’ฌ Comments, ๐Ÿ” Shares, ๐Ÿ‘ฅ Followers, ๐Ÿ“… Posted, ๐Ÿ… Rank
  • ๐Ÿ“ˆ Stats: ๐Ÿท๏ธ Username, ๐Ÿ”— TikTok, ๐Ÿ” Reposted By, โ–ถ๏ธ Plays, โค๏ธ Likes, ๐Ÿ’ฌ Comments, ๐Ÿ” Shares, ๐Ÿ”– Saves, ๐Ÿ‘ฅ Followers, ๐Ÿ“ Creator Tier, โฑ๏ธ Duration, ๐Ÿ“… Posted
  • ๐Ÿ”Ž Details: the video file, AI label, captions, quality, file size and the creator's numbers
  • ๐Ÿ‘ค Creator Details (with Creator details on): ๐Ÿ–ผ๏ธ Creator Photo, ๐Ÿท๏ธ Username, ๐Ÿ‘ฅ Followers, ๐Ÿ“ Creator Tier, ๐Ÿ“ง Creator Email, ๐Ÿ“… Creator Joined, ๐ŸŒ Creator Link, ๐ŸŒ Creator Language, ๐Ÿ’ผ Business Account, ๐Ÿ” Reposted By

The profiles you entered are in a second dataset, ๐Ÿ‘ค Profiles (free): one row each, with their own follower and following counts, join date and bio link.

Output fields

Every row has these keys, in this order; the ones marked "Only with Creator details" are there only with creatorDetails on. author* is always the video's original creator; reposter* is the profile you entered. A value TikTok didn't send is null (never an empty string or a made-up 0).

  • cover: the video's cover image (signed by TikTok: the link stops working about 2 days after the run).
  • authorName: the original creator's display name.
  • caption: the full caption, hashtags included.
  • captionSnippet: the caption's first 50 characters on one line, for tables.
  • authorUsername: the original creator's TikTok username, without @.
  • videoUrl: the reposted video's page on TikTok (its URL names the original creator).
  • authorVerified: the original creator has TikTok's verified badge.
  • reposterUsername: the profile that reposted the video (the one you entered), as TikTok spells it.
  • reposterName: the reposting profile's display name.
  • reposterUrl: the reposting profile on TikTok.
  • reposterFollowers: the reposting profile's followers (exact).
  • isAd: TikTok labels the post as an ad or a paid partnership.
  • plays: views, as TikTok shows them (rounded from 10K up: 411.7K is 411700). Null when TikTok hides the counter.
  • likes: likes (rounded the same way). 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: the video's own repost count. The Reposts tab sends 0 for every video, so it is null here (TikTok hides the counter).
  • authorFollowers: the original creator's followers when the repost was collected. The Reposts tab rounds 10K and over to one decimal (6.3M is 6300000); with Creator details it's the exact count.
  • durationSeconds: length in seconds. Null for photo posts.
  • postedAt: when the original creator posted the video (UTC). TikTok doesn't show when it was reposted.
  • rank: place in the profile's Reposts tab, newest repost first. Reposts skipped by your follower range keep their place, so gaps are normal.
  • hashtags: hashtags in the caption, without #.
  • mentions: usernames mentioned in the caption.
  • soundTitle: the sound's title ("original sound" is the creator's own audio).
  • soundUrl: the sound's page on TikTok.
  • videoFileUrl: 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. Null for photo posts.
  • videoFileExpiresAt: when the video file link expires (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.
  • captionLanguages: the languages TikTok has captions in (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.
  • placeName: the place the post is tagged with, when it has one.
  • placeAddress: the tagged place's address.
  • placeCity: the tagged place's city.
  • width: video width in pixels. Null for photo posts.
  • height: video height in pixels. Null for photo posts.
  • definition: TikTok's quality label (540p, 720p, 1080p).
  • format: the video file format (mp4).
  • fileSizeBytes: size of TikTok's standard video file in bytes.
  • authorAvatar: the original creator's profile picture (signed: about 2 days).
  • authorBio: the original creator's bio.
  • authorFollowing: accounts the original creator follows (rounded from 10K up; exact with Creator details).
  • authorLikes: total likes on all the original creator's videos (rounded from 10K up; exact with Creator details).
  • authorVideos: the original creator's public videos (rounded from 10K up; exact with Creator details).
  • authorPrivate: the original 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.
  • soundCover: the sound's cover art (signed: about 2 days).
  • authorProfileUrl: the original creator's profile on TikTok.
  • authorSizeTier: the original creator's size by followers: nano (under 10K), micro (10K-100K), mid (100K-500K), macro (500K-1M) or mega (1M and more).
  • authorEmail: the first email address written in the original creator's bio, when there is one.
  • authorFriends: accounts the original creator follows that follow them back. Only with Creator details (the Reposts tab doesn't say).
  • authorJoinedAt: when the original creator's account was created (UTC). Only with Creator details.
  • authorBioLinkUrl: the link in the original creator's bio. Only with Creator details.
  • authorLanguage: the original creator's TikTok app language (en, es, ...). Only with Creator details.
  • authorIsCommerceAccount: the original creator has a TikTok business (commerce) account. Only with Creator details.
  • authorIsSeller: TikTok marks the original creator as a TikTok Shop seller. Only with Creator details.
  • 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).
  • soundCreatorUsername: the TikTok account that made the sound, when it's an original sound: the video's creator for their own sound; another account's original sound with Creator details. Null for released tracks.
  • soundCreatorUrl: the sound creator's profile on TikTok.
  • 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 cover at full size, a still image in the Reposts tab (signed: about 2 days).
  • coverWidth: the full-size cover's width in pixels, read from the image itself. Null when it couldn't be read.
  • coverHeight: the full-size cover's height in pixels.
  • embedUrl: TikTok's embed player page for the video: opens with no login or cookies and doesn't expire.
  • photos: the images of a photo post; null for videos (signed: about 2 days).
  • videoId: TikTok's video ID.
  • authorId: TikTok's user ID of the original creator.
  • authorSecUid: the original creator's secUid, the ID TikTok's own web API uses.
  • soundId: TikTok's sound 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.
  • soundCreatorId: TikTok's user ID of the sound creator.
  • reposterId: TikTok's user ID of the reposting profile.
  • reposterSecUid: the reposting profile's secUid.
  • input: the profile you entered, exactly as entered.
  • scrapedAt: when it was collected (UTC).

The ๐Ÿ‘ค Profiles dataset has one row per profile you entered, with these keys:

  • avatar: profile picture.
  • name: display name.
  • bio: the full bio.
  • bioSnippet: the bio's first 50 characters.
  • username: TikTok username.
  • profileUrl: the profile on TikTok.
  • verified: TikTok's verified badge.
  • followers: followers (exact).
  • following: accounts they follow.
  • likes: total likes on all their videos.
  • videos: their public videos.
  • joinedAt: when the account was created (UTC).
  • bioLinkUrl: the link in their bio.
  • userId: TikTok's user ID.
  • secUid: TikTok's secUid.
  • scrapedAt: when it was collected (UTC).

Notes:

  • Newest repost first. The rows of a profile come in its Reposts tab's order, so maxRepostsPerProfile 50 gives the 50 most recent reposts. TikTok doesn't show when a video was reposted, only when it was posted (postedAt).
  • Some profiles show no reposts. A profile that reposted nothing, or hides its Reposts tab, gives no rows and costs nothing (no_results in the run summary). An empty tab is believed only after a known profile's tab answers on the same connection and a second fresh connection gets the same empty tab; otherwise the profile is blocked (free), never a false "no reposts".
  • Image and file links expire. Covers, avatars, the video file and the sound file are signed by TikTok and stop working about 2 days after the run; embedUrl and the page links don't expire.

Run summary (OUTPUT)

{
"results": 100,
"inputs": [
{"input": "zachking", "status": "ok", "results": 50, "stopReason": "max_results", "username": "zachking"}
]
}

status per profile: ok, no_results (no reposts, or none in your follower range, or none new), private, not_found, blocked (TikTok stopped answering; the run fails so you notice, rows already read are kept), stopped (your spending limit), failed (with Only new reposts: the Actor couldn't record what it delivered, so it stopped before delivering more; nothing is ever charged twice). stopReason: max_results, end (the tab ended) or caught_up (Only new reposts reached the reposts an earlier run delivered). filteredOut counts the reposts your follower range skipped; deliveredBefore the ones Only new reposts skipped.

How long does a run take?

The first reposts usually arrive about 4 to 7 seconds after the run starts, counted on Apify's own clock from the run's start time, so the container start and loading the Apify SDK are included (4.0 to 6.6 s in seven test runs of one or two profiles; one run whose first profile met slow TikTok answers took 13 s). The prefilled run (100 reposts) takes 6 to 9 seconds in all. A Reposts tab reads at about 30 reposts a page: all 119 of @zachking's reposts took 10 seconds, and 446 reposts from 9 profiles took 23 seconds, the profiles read in parallel. With Creator details, each original creator's profile page is read once per run: 50 reposts with their creators' details took about 10 seconds.

Pricing

Pay per result, no start fee and no minimum. Example: 1,000 reposts cost $0.29 on the Starter plan.

Your Apify planPer 1,000 reposts
Free$0.34
Starter$0.29
Scale$0.25
Business$0.22

You pay only for rows that reach your dataset. The profiles you entered, private or missing profiles, reposts your follower range or Only new reposts skip cost nothing. Creator details are included. When your spending limit is reached, the run stops.

FAQ

Do I need a TikTok account? No. The Actor reads only what TikTok shows logged-out visitors.

Whose numbers are on a row, the reposter's or the creator's? The video's and its original creator's (author*). The reposting profile is in reposter*, and its full profile is in the ๐Ÿ‘ค Profiles dataset.

When was the video reposted? TikTok doesn't show it. The order of the rows (rank) is the Reposts tab's, newest repost first.

How do I track new reposts? Schedule the Actor with onlyNew on. Each run delivers only what no earlier run with the option delivered for that profile, and stops reading a profile once it reaches them. Each page of reposts is recorded before it is delivered and charged, so a repost is never charged twice, even when a run fails or is restarted.

Need the creators' own videos? Use our TikTok Profile & Videos API with the authorUsername values from this run.

Feedback

Missing a field, or a result that doesn't look right? Open an issue on the Issues tab and we'll look into it. If the data helps you, a short review on this page helps other people find it.