TikTok Scraper — Videos, Profiles & Engagement Analytics avatar

TikTok Scraper — Videos, Profiles & Engagement Analytics

Pricing

from $2.55 / 1,000 video/profile results

Go to Apify Store
TikTok Scraper — Videos, Profiles & Engagement Analytics

TikTok Scraper — Videos, Profiles & Engagement Analytics

Scrape TikTok profiles and videos: captions, stats, hashtags, engagement rate, virality score, sponsorship detection and watermark-free download links. Export to CSV, Excel, JSON.

Pricing

from $2.55 / 1,000 video/profile results

Rating

0.0

(0)

Developer

PunkRecordsData

PunkRecordsData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

PunkRecordsData

🎵 TikTok Scraper: Videos, Profiles & Analytics

Category Proxy Node Status

🚀 TikTok Scraper is an Apify Actor that exports TikTok videos and profiles in seconds, with engagement rate, a virality score, sponsorship detection, and watermark-free download links already computed for you, not just raw numbers.

🕒 Last updated: 2026-08-28 · 📊 30+ fields per record · verified on a real cloud run against @tiktok · by PunkRecordsData

TikTok's own app gives you a scroll feed. This Actor gives you a dataset: every video's caption, stats, hashtags, and music. Plus the analysis layer most scrapers leave for you to build yourself. Point it at a list of profiles or specific video URLs and get back a table ready for a spreadsheet, a BI dashboard, or an LLM prompt.

📚 Table of Contents

🎯 Who this is for

🎯 Target Audience💡 Primary Use Cases
📊 Social media analystsCompetitor & trend tracking
📣 Marketing / brand teamsInfluencer vetting, sponsorship audits
📈 Growth & content teamsPosting-time and engagement benchmarking
🎓 Researchers & journalistsPublic discourse and trend analysis

📋 What the TikTok Scraper does

  • 👤 Scrapes recent videos from a list of TikTok profiles
  • 🔗 Scrapes direct video URLs individually
  • 📈 Computes engagement rate and a 0–100 virality score per video
  • 💰 Flags likely sponsored/ad content from caption signals
  • #️⃣ Cleans hashtags and mentions into real arrays, not raw text
  • 🕒 Adds posting-time analytics (day of week, hour UTC)
  • ⬇️ Returns a watermark-free download URL for every video
  • 👥 Optionally enriches each video with the author's full stats (followers, following, total hearts, video count)

📈 How it compares to alternatives

🎵 TikTok Scraper (this)Narrow single-purpose scrapersManual export
Engagement rate✅ built in❌ compute yourself
Virality score✅ built in
Sponsored-content detection✅ built in
Posting-time analytics✅ built in
Clean hashtag/mention arrays✅ built inOften raw text only
Watermark-free download URLVaries
Profiles and direct video URLsUsually one or the otherNone
Scheduling, API, integrations✅ (Apify platform)Varies
Comments / hashtag search / AI summaries🗺️ roadmapSome offer today

⚙️ Input

FieldTypeDefaultDescription
profilesarrayNoneTikTok usernames or profile URLs to scrape
postURLsarrayNoneDirect TikTok video URLs to scrape individually
resultsPerPageinteger20Max videos to pull per profile
maxItemsinteger10 (free)Cap across everything combined, paid plans up to 1,000,000
excludePinnedPostsbooleanfalseSkip videos pinned to the top of a profile
oldestPostDatestringNoneOnly videos posted on/after this date (YYYY-MM-DD)
newestPostDatestringNoneOnly videos posted on/before this date (YYYY-MM-DD)
scrapeAdditionalAuthorMetabooleantrueFetch full author stats (followers, hearts, video count)
detectSponsoredContentbooleantrueFlag likely ads from caption/hashtag signals
proxyConfigurationobjectRESIDENTIALRequired for reliable results, TikTok blocks datacenter IPs at scale

Minimal, scrape 2 profiles:

{
"profiles": ["tiktok", "nike"],
"resultsPerPage": 25,
"maxItems": 50
}

Scrape one specific video:

{
"postURLs": ["https://www.tiktok.com/@tiktok/video/7679101730352565535"]
}

⚠️ Good to know: postURLs is matched against the author's most recent uploads. Very old videos may not be found. Use profiles with a higher resultsPerPage instead for deep history. TikTok's anti-bot defenses are inconsistent by design; the Actor automatically retries a profile once if the first attempt returns nothing.

📊 Output

FieldDescription
🖼 imageUrlVideo cover image
🆔 idVideo ID
📝 textCaption
🔗 urlVideo/profile URL
📌 isPinnedWhether the video is pinned to the profile
📢 isAdTikTok's own platform-declared ad flag
👤 authorMetaId, name, profile URL, avatar, verified, private account, bio + bio link + (optional) full stats: followers, following, friends, hearts, videos, total diggs given
🎵 musicMetaSound name, author, album, original vs. cover
🎬 videoMetaDuration, resolution, format, cover, watermark-free download URL
❤️ diggCountLikes
💬 commentCountComments
▶️ playCountPlays
🔁 shareCountShares
collectCountSaves
🔂 repostCountReposts
#️⃣ hashtagsCleaned hashtag array
@️⃣ mentions / detailedMentionsCleaned @handle array + resolved {id, name, profileUrl} objects
💰 isSponsoredContent / sponsorSignalsOur own ad-detection heuristic + matched signals (independent from the platform's isAd flag)
📈 engagementRate(likes+comments+shares+saves) / plays, as %
🔥 viralityScore0–100 composite score
📅 postedDayOfWeek / postedHourUTCPosting-time analytics
🌐 captionLanguageDetected caption language (heuristic)
🕓 createTimeISOWhen the video was posted
🕒 scrapedAtWhen this record was scraped
errorPresent only on failed items

Download the dataset as JSON, CSV, Excel, or XML straight from the Apify Console, or pull it via the API.

🧾 Sample record (real data)

🚀 How to use

  1. Sign up or log in at console.apify.com
  2. Open TikTok Scraper and go to the Input tab
  3. Add usernames to profiles or full URLs to postURLs
  4. Set resultsPerPage / maxItems and click ▶️ Start
  5. Download results as JSON, CSV, Excel, or XML. Or pull them via the API

💼 Business use cases

🏆 Competitor & trend tracking🤝 Influencer vetting
Track a list of competitor accounts, spot which videos are outperforming via viralityScore, and export weekly to your BI tool.Pull a creator's recent videos with scrapeAdditionalAuthorMeta on to check real engagement rate against follower count before a sponsorship deal.
🗓️ Content strategy⚖️ Compliance / ad-disclosure audits
Use postedDayOfWeek / postedHourUTC across your top-performing videos to find the best posting windows for your niche.Use isSponsoredContent and sponsorSignals to flag videos that look sponsored but may be missing proper disclosure.

🔌 Integrate with any app

Pull results via the Apify API, or connect to Make, Zapier, Google Sheets, Airbyte, n8n, or any webhook-based tool from the Apify Console Integrations tab. Schedule recurring runs with Apify's built-in Scheduler.

curl "https://api.apify.com/v2/acts/PunkRecordsData~tiktok-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{ "profiles": ["tiktok"], "maxItems": 10 }'

💰 Cost

PlanWhat you get
🆓 FreeUp to 10 items per run (preview)
💳 PaidUp to 1,000,000 items per run, billed on Apify usage (compute + residential proxy)

Cost scales mainly with how many profiles/videos you visit, not raw item count. Set resultsPerPage higher to pull more videos per profile visit and get a better cost-per-item.

❓ Frequently Asked Questions

Does this work without a proxy? No. TikTok blocks datacenter IPs at scale. RESIDENTIAL proxy is the default and required for reliable results.

Why did a profile return 0 items? TikTok's anti-bot defenses are inconsistent; the Actor retries once automatically. If it still returns nothing, the profile may be private, empty, or temporarily rate-limiting your proxy session. Try again.

Can I scrape any video by URL? Videos are matched against the author's most recent uploads. Very old videos may not be found. Use profiles with a higher resultsPerPage for deep history instead.

Does it download the video file itself? It returns a direct, watermark-free downloadUrl. The Actor doesn't download/store the binary video for you.

Is this affiliated with TikTok? No. See disclaimer below.

What counts as a "result" for pricing? Each video record in your output dataset.

Can I filter by date? Yes, oldestPostDate / newestPostDate.

Does it scrape comments? Not in this version. See roadmap below.

Can I run this on a schedule? Yes, use Apify's built-in Scheduler.

What happens on the free plan? Results are capped at 10 items per run.

🗺️ Roadmap

  • 💬 Comments
  • 🔎 Hashtag / keyword search
  • 👥 Follower / following lists
  • 🤖 AI video summaries

⚠️ Disclaimer: This is an independent tool, not affiliated with, endorsed by, or sponsored by TikTok. It only collects data that is publicly visible on TikTok's website.

🆘 Need help or want a custom scraper? Contact PunkRecordsData at contact.punkrecordsdata@gmail.com.