TikTok Scraper avatar

TikTok Scraper

Pricing

from $2.00 / 1,000 scraped results

Go to Apify Store
TikTok Scraper

TikTok Scraper

. All video data — views, likes, comments, shares, description, author details — will be collected and stored directly in your Apify dataset. Fast, accurate, and simple — fully optimized for extracting data from TikTok.

Pricing

from $2.00 / 1,000 scraped results

Rating

0.0

(0)

Developer

Data Pilot

Data Pilot

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

2

Monthly active users

10 days ago

Last modified

Share

🎵 TikTok Scraper is a powerful Apify Actor designed to discover, extract, and collect detailed video metadata directly from any public TikTok video URL using 's battle-tested extraction engine. This tool provides comprehensive TikTok Scraper intelligence including title, description, uploader, view/like/comment/share counts, video duration, music details, thumbnail, and upload date for any accessible TikTok video. Whether you're building a content analytics dashboard, tracking creator performance, or conducting social media research, the TikTok Scraper delivers actionable TikTok Scraper insights efficiently.

With -powered extraction, optional cookie-based authentication, concurrent multi-URL processing, and reliable Apify Dataset delivery, the TikTok Scraper ensures comprehensive TikTok Scraper coverage across any list of video URLs. It focuses on key TikTok Scraper signals including engagement metrics, music attribution, and uploader identity, making it an essential tool for content research and creator analytics.


📋 Table of Contents


🔥 Features

  • -Powered Extraction – Uses the widely-maintained `` library's native TikTok extractor for reliable, structured metadata extraction.
  • Optional Cookie Authentication – Accepts a raw cookies file to help access content that may otherwise sit behind a login wall.
  • Concurrent Multi-URL Processing – Processes all provided TikTok URLs in parallel using asyncio.gather for faster batch runs.
  • Per-URL Proxy Rotation – Requests a fresh proxy URL for each video, improving reliability across a batch.
  • Retry Logic – Automatically retries extraction up to 3 times per video on failure, with a short delay between attempts.
  • Full Music Attribution – Captures both the track name and artist for the video's background audio.
  • Residential Proxy Support – Apify residential proxy for reliable TikTok Scraper access.
  • Batch Processing – Accepts a single URL or a list of URLs in one run.
  • Failure Filtering – Automatically excludes any video that failed all retry attempts from the final output.
  • Real-Time Dataset Push – Pushes all successfully extracted records to Apify Dataset in a single batch.

📊 Data Source

TikTok Public Video Pages (via )

  • Authority: TikTok's own public video pages and API endpoints, accessed through `'s maintained TikTok extractor
  • Access Method: 's extract_info` call, run through an executor for async compatibility, with configurable proxy and optional cookie authentication
  • Coverage: Any publicly accessible TikTok Scraper video URL provided as input, plus content reachable when valid cookies are supplied
  • Data: Structured metadata returned by `'s TikTok extractor, including engagement counts, music info, and video details
  • Access: No official API key required; relies on ``'s reverse-engineered TikTok API integration
  • Update Frequency: Reflects each video's current live state at time of run

⚙️ How It Works

The TikTok Scraper accepts one or more TikTok video URLs and, for each, calls ``'s extract_info with a configured proxy, a browser-like User-Agent and Referer, and optional cookies if provided. All videos are processed concurrently via asyncio.gather, each requesting its own fresh proxy URL from Apify's proxy configuration. If extraction fails, the Actor retries up to 3 times per video with a short delay between attempts before giving up on that URL. Successful extractions are mapped into a flat output record covering title, description, uploader, engagement counts, duration, music metadata, thumbnail, and upload date. Any video that fails all retry attempts is silently excluded from the final result set, and all successful records are pushed to the Apify Dataset in a single batch.

Key Processing Steps:

  1. Input Parsing – Accept a single URL or list of TikTok Scraper video URLs
  2. Cookie Setup – Write any provided raw cookie string to a temporary cookie file for `
  3. Proxy Setup – Configure Apify residential proxy, requesting a fresh URL per video
  4. Concurrent Task Creation – Build one extraction task per video URL
  5. ** Extraction** – Call extract_info for each video with proxy, headers, and cookies configured
  6. Retry Handling – Retry up to 3 times per video on failure, with a short delay between attempts
  7. Field Mapping – Map`'s raw output fields into the Actor's flat output schema
  8. Concurrent Execution – Run all video tasks in parallel via asyncio.gather
  9. Failure Filtering – Drop any video that failed all retries from the final output
  10. Dataset Push – Push all successfully extracted records to the Dataset in a single batch

Key Benefits:

  • Pull TikTok Scraper video metadata for any list of URLs without manual visits
  • Process many videos concurrently for faster batch extraction
  • Get full engagement metrics and music attribution in one structured record per video
  • Feed content analytics dashboards, creator research pipelines, or archiving tools
  • Automate recurring TikTok Scraper checks as new videos are published

📥 Input

The Actor accepts the following input parameters:

FieldTypeDefaultDescription
urls / urlarray or string(required)One or more TikTok Scraper video URLs to extract.
cookiesstring(none)Optional raw cookie file content, used to help access login-gated content.
proxyConfigurationobject{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}Apify proxy configuration for the extraction session.

Example Input:

{
"urls": [
"https://www.tiktok.com/@username/video/7123456789012345678",
"https://www.tiktok.com/@anotheruser/video/7234567890123456789"
],
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Extract a Single Video:

{
"url": "https://www.tiktok.com/@username/video/7123456789012345678"
}

Extract With Cookie Authentication:

{
"urls": ["https://www.tiktok.com/@username/video/7123456789012345678"],
"cookies": "# Netscape HTTP Cookie File\n.tiktok.com\tTRUE\t/\tTRUE\t1999999999\tsessionid\tabc123..."
}

📤 Output

The Actor pushes TikTok Scraper records with the following structure:

FieldTypeDescription
videoIdstringThe TikTok video ID
statusstringAlways "Success" for included records (failures are filtered out)
titlestringVideo title, if available
descriptionstringVideo description/caption
authorMeta.namestringThe uploader's username
playCountintegerTotal view count
diggCountintegerTotal like count
commentCountintegerTotal comment count
shareCountintegerTotal share/repost count
videoMeta.durationintegerVideo duration in seconds
musicMeta.musicNamestringName of the background track
musicMeta.musicAuthorstringArtist of the background track
createTimeISOstringUpload date, as returned by
webVideoUrlstringThe original input video URL
thumbnailstringURL of the video's thumbnail image
scrapedAtstringISO 8601 timestamp of when the record was scraped

Example TikTok Scraper Record:

{
"videoId": "7123456789012345678",
"status": "Success",
"title": "N/A",
"description": "Wait for it... this hack changed everything 🤯 #lifehack #viral",
"authorMeta.name": "janecreator",
"playCount": 4820193,
"diggCount": 612044,
"commentCount": 8321,
"shareCount": 19022,
"videoMeta.duration": 27,
"musicMeta.musicName": "original sound",
"musicMeta.musicAuthor": "janecreator",
"createTimeISO": "20260810",
"webVideoUrl": "https://www.tiktok.com/@janecreator/video/7123456789012345678",
"thumbnail": "https://p16-sign.tiktokcdn.com/...",
"scrapedAt": "2026-09-01T09:00:00.000Z"
}

🧰 Technical Stack

  • Extraction Engine: ` for reliable, maintained TikTok metadata extraction
  • Concurrency: asyncio with asyncio.gather for parallel multi-URL processing
  • File Handling: os for optional cookie file management
  • Date Handling: datetime for scrape timestamping
  • Proxy: Apify Proxy with RESIDENTIAL configuration, requested per video
  • Logging: Apify Actor logging system
  • Platform: Apify Actor serverless environment

📊 Data Fields Explained

Video Identity

  • videoId: The unique TikTok video ID
  • title / description: The video's title (often unavailable on TikTok) and caption text

Creator Details

  • authorMeta.name: The uploader's TikTok username

Engagement Metrics

  • playCount, diggCount, commentCount, shareCount: View, like, comment, and share totals at time of scrape

Media Details

  • videoMeta.duration: Video length in seconds
  • musicMeta.musicName / musicMeta.musicAuthor: Background track name and artist
  • thumbnail: Direct link to the video's cover image

Access & Timing

  • webVideoUrl: The original input URL
  • createTimeISO: The video's upload date as reported by
  • scrapedAt: When this record was generated

🎯 Use Cases

  • Content Analytics – Track engagement metrics across a creator's video catalog
  • Trend Research – Study caption text, music usage, and engagement patterns across videos
  • Competitive Benchmarking – Compare engagement stats across your own and competitor content
  • Music Trend Tracking – Identify which tracks are being used across trending videos
  • Academic Research – Study public social media trends and engagement at scale
  • Media Monitoring – Reference specific TikTok videos in reporting or analysis

🚀 Quick Start

1. Prepare Input

Go to Apify Console and enter:

{
"url": "https://www.tiktok.com/@username/video/7123456789012345678"
}

2. Run the Actor

Click Start. The Actor will:

  • Launch concurrent extraction tasks for every provided URL
  • Retry each video up to 3 times on failure
  • Map successful extractions into structured records
  • Push all successful records to the Dataset

3. Monitor Progress

Console shows:

Attempt 1 failed: [tiktok] Unable to extract... (retrying if attempts remain)

(Only shown on retries — successful extractions complete silently before the final dataset push.)

4. View & Download Results

  • Results Tab: All TikTok Scraper records
  • Export: JSON, CSV, Excel, or HTML
  • Filter: By uploader or engagement metrics
  • API Access: Available via the Apify API

⚙️ Configuration

Single video extraction:

{
"url": "https://www.tiktok.com/@username/video/7123456789012345678"
}

Batch extraction:

{
"urls": [
"https://www.tiktok.com/@user1/video/7111111111111111111",
"https://www.tiktok.com/@user2/video/7222222222222222222"
]
}

With cookie authentication:

{
"urls": ["https://www.tiktok.com/@username/video/7123456789012345678"],
"cookies": "# Netscape HTTP Cookie File\n..."
}

📈 Performance

Processing Speed

  • All video URLs processed concurrently rather than sequentially
  • Up to 3 retry attempts per video, with a 2 second delay between attempts
  • Overall run time depends on the slowest video in the batch, not the sum of all videos

Resource Usage

  • Memory: Low to moderate, since no browser instance is launched — extraction runs through directly
  • Network: One or more requests per video, depending on retries needed
  • Proxy: A fresh proxy URL requested per video from the residential proxy pool

⚠️ Important Notes

  • Public Data Only: Retrieves only publicly accessible TikTok Scraper content, or content accessible via cookies you provide and are authorized to use
  • Cookie Responsibility: If supplying cookies, ensure you have the right to use that session — cookies grant access as that logged-in account
  • Privacy: Downloading and reusing video metadata may be subject to copyright and TikTok's Terms of Service — use only for legitimate, permitted purposes
  • Legal: Not legal advice — consult qualified professionals before using this data for compliance-sensitive decisions

Data Quality

  • Freshness: Reflects each video's live state at time of run
  • Completeness: title is often "N/A" since TikTok videos typically don't have a separate title field distinct from the description
  • Accuracy: Sourced through TikTok extractor, which is community-maintained and may require updates if TikTok changes its API
  • Verification: Cross-check high-stakes figures (views, likes) against the live TikTok app or website

Best Practices

  • Always configure a residential proxy for the most reliable TikTok Scraper access
  • Provide full, direct video URLs rather than shortened or profile links
  • Only supply cookies from accounts you own or are authorized to use
  • Re-run periodically to track how engagement metrics change over time
  • Keep `` updated in your environment, since TikTok's internal API changes periodically and can break extraction until the library is updated

Terms of Use:

  • Use for legitimate research, archiving, and analytics purposes
  • Respect TikTok's Terms of Service and applicable copyright law
  • Only use cookies from accounts you own or are authorized to use
  • Use TikTok Scraper data responsibly and in compliance with applicable privacy and copyright laws

Disclaimer: TikTok Scraper is provided as-is for research and analytics purposes. Users are responsible for compliance with TikTok's ToS, copyright law, and all applicable regulations. This is not legal advice.


⚖️ TikTok Scraper Excellence

This Actor is optimized for TikTok Scraper research with:

  • ✅ -powered extraction with maintained TikTok support
  • ✅ Concurrent multi-URL processing for faster batches
  • ✅ Optional cookie authentication for gated content
  • ✅ Automatic retry logic with failure filtering
  • ✅ Real-time Dataset push
  • ✅ Production-ready code