TikTok Reels & Video Downloader avatar

TikTok Reels & Video Downloader

Pricing

from $5.00 / 1,000 result scrapes

Go to Apify Store
TikTok Reels & Video Downloader

TikTok Reels & Video Downloader

extract video ID, title, description, uploader, uploader ID, views, likes, comments, shares, duration, thumbnail, and video download URL. Supports multiple URLs, Residential Proxy, retries, JSON and regex extraction, and structured Apify Dataset output.

Pricing

from $5.00 / 1,000 result scrapes

Rating

0.0

(0)

Developer

Data Pilot

Data Pilot

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

0

Monthly active users

7 days ago

Last modified

Share

๐ŸŽฅ TikTok Reels & Video Downloader is a powerful Apify Actor designed to discover, extract, and collect TikTok Reels & Video metadata and direct download links from any public TikTok video URL. This tool provides comprehensive TikTok Reels & Video intelligence including title, description, uploader details, view/like/comment/share counts, video duration, thumbnail, and a direct no-login download link for any accessible TikTok video. Whether you're building a content archiving tool, tracking creator performance, or conducting social media research, the TikTok Reels & Video Downloader delivers actionable TikTok Reels & Video insights efficiently.

With dual-layer JSON extraction, raw HTML regex fallback, retry-resilient requests, and reliable Apify Dataset delivery, the TikTok Reels & Video Downloader ensures comprehensive TikTok Reels & Video coverage across any list of video URLs. It focuses on key TikTok Reels & Video signals including engagement stats, uploader identity, and download URL, making it an essential tool for content research and creator analytics.


๐Ÿ“‹ Table of Contents


๐Ÿ”ฅ Features

  • Dual JSON Extraction Strategy โ€“ Parses both TikTok's modern __UNIVERSAL_DATA_FOR_REHYDRATION__ block and the legacy SIGI_STATE block for maximum compatibility across page versions.
  • Raw HTML Regex Fallback โ€“ Falls back to direct regex extraction of play address, cover image, and OpenGraph meta tags when structured JSON isn't available.
  • Direct Download Link Extraction โ€“ Pulls the video's playAddr/downloadAddr and cleans escaped URL characters for a ready-to-use TikTok Reels & Video download link.
  • Full Engagement Metrics โ€“ Extracts view count, like count, comment count, and share count for every video.
  • Duration Formatting โ€“ Converts raw video duration in seconds into a clean MM:SS or HH:MM:SS display format.
  • Uploader Identity Resolution โ€“ Extracts both the display nickname and the @username handle of the video's creator.
  • Retry-Resilient Requests โ€“ Automatically retries on rate limits (429) and auth errors (401/403) with backoff delays.
  • Residential Proxy Support โ€“ Apify residential proxy for reliable TikTok Reels & Video access.
  • Batch Processing โ€“ Extract any number of TikTok video URLs in a single run.
  • Real-Time Dataset Push โ€“ Pushes each TikTok Reels & Video record to Apify Dataset as soon as it's extracted.
  • Graceful Error Handling โ€“ Skips a private, deleted, or geo-restricted video without stopping the whole run.

๐Ÿ“Š Data Source

TikTok Public Video Pages

  • Authority: TikTok's own public-facing video pages (tiktok.com/@user/video/{id})
  • Access Method: Browser-impersonated HTTP requests via , run through an executor for async compatibility
  • Coverage: Any publicly accessible TikTok Reels & Video URL provided as input
  • Data: Embedded rehydration/SIGI_STATE JSON, or raw HTML meta tags as a fallback
  • Access: Public video pages, no API key or login required
  • Update Frequency: Reflects each TikTok Reels & Video's current live state at time of run

โš™๏ธ How It Works

The TikTok Reels & Video Downloader accepts a list of TikTok video URLs and fetches each page's HTML using a Chrome-impersonated HTTP session, retrying automatically on rate limits or auth errors. For each successfully fetched page, the Actor first attempts to parse the modern __UNIVERSAL_DATA_FOR_REHYDRATION__ JSON block; if that's unavailable, it falls back to the legacy SIGI_STATE block. From whichever structured data is found, it extracts the video ID, description, uploader info, engagement stats, duration, and download/thumbnail URLs. If neither JSON block is present, the Actor falls back to direct regex extraction of the play address and OpenGraph meta tags from the raw HTML. Every video with a successfully resolved download URL is pushed to the Apify Dataset immediately after extraction.

Key Processing Steps:

  1. Input Parsing โ€“ Accept a list of TikTok Reels & Video URLs
  2. Proxy Setup โ€“ Configure Apify residential proxy for the impersonated HTTP session
  3. URL Loop โ€“ Iterate through each provided TikTok video URL
  4. Page Fetch โ€“ Request the video page's HTML with retry handling for rate limits and auth errors
  5. Rehydration JSON Parsing โ€“ Attempt to extract structured data from __UNIVERSAL_DATA_FOR_REHYDRATION__
  6. SIGI_STATE Fallback โ€“ Attempt the legacy JSON block if the modern one isn't found
  7. Raw HTML Fallback โ€“ Apply regex extraction on play address and meta tags as a final fallback
  8. URL Cleaning โ€“ Unescape and clean the extracted download and thumbnail URLs
  9. Duration Formatting โ€“ Convert raw seconds into a readable duration string
  10. Dataset Push โ€“ Push each successfully extracted record to the Dataset immediately
  11. Rate Limiting โ€“ Apply a short delay between video URL requests

Key Benefits:

  • Pull TikTok Reels & Video metadata and download links for any public video without manual visits
  • Get clean, no-watermark-aware download URLs directly from TikTok's own CDN references
  • Monitor creator engagement metrics across a batch of videos
  • Feed content archiving pipelines, creator analytics dashboards, or research tools
  • Automate recurring TikTok Reels & Video extraction as new content is published

๐Ÿ“ฅ Input

The Actor accepts the following input parameters:

FieldTypeDefaultDescription
startUrls / urlsarray or string(required)One or more TikTok Reels & Video URLs to extract.
proxyConfigurationobject{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}Apify proxy configuration for the extraction session.

Example Input:

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

Extract a Single Video:

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

Extract Multiple Videos:

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

๐Ÿ“ค Output

The Actor pushes TikTok Reels & Video records with the following structure:

FieldTypeDescription
titlestringVideo title, derived from description or uploader name
idstringThe TikTok video ID
sourcestringAlways "TikTok"
urlstringThe final resolved video page URL
download_urlstringDirect, cleaned download URL for the video file
thumbnailstringDirect URL to the video's cover/thumbnail image
durationstringFormatted video duration (MM:SS or HH:MM:SS)
duration_rawintegerRaw video duration in seconds
descriptionstringFull video caption/description
uploaderstringDisplay nickname of the video's creator
uploader_idstringThe creator's @username handle
view_countintegerTotal view count
like_countintegerTotal like count
comment_countintegerTotal comment count
share_countintegerTotal share count
timestampintegerUnix timestamp of when the video was created

Example TikTok Reels & Video Record:

{
"title": "Wait for it... this hack changed everything ๐Ÿคฏ",
"id": "7123456789012345678",
"source": "TikTok",
"url": "https://www.tiktok.com/@username/video/7123456789012345678",
"download_url": "https://v16-webapp.tiktok.com/...",
"thumbnail": "https://p16-sign.tiktokcdn.com/...",
"duration": "00:27",
"duration_raw": 27,
"description": "Wait for it... this hack changed everything ๐Ÿคฏ #lifehack #viral",
"uploader": "Jane Creator",
"uploader_id": "janecreator",
"view_count": 4820193,
"like_count": 612044,
"comment_count": 8321,
"share_count": 19022,
"timestamp": 1755072000
}

๐Ÿงฐ Technical Stack

  • HTTP Client: with Chrome impersonation for reliable access to TikTok's video pages
  • Concurrency: asyncio with an executor bridge for running the impersonated client asynchronously
  • JSON Parsing: json for extracting the rehydration and SIGI_STATE data blocks
  • Pattern Matching: re for both structured JSON extraction and raw HTML fallback parsing
  • Text Handling: html for unescaping HTML entities in captions and titles
  • Date Handling: datetime with timezone-aware UTC timestamps
  • Proxy: Apify Proxy with RESIDENTIAL configuration by default
  • Logging: Apify Actor logging system
  • Platform: Apify Actor serverless environment

๐Ÿ“Š Data Fields Explained

Video Identity

  • id: The unique TikTok video ID
  • title: A short title derived from the video's caption or uploader name
  • url: The final, resolved video page URL after any redirects

Media Assets

  • download_url: Direct link to the video file itself
  • thumbnail: Direct link to the video's cover image
  • duration / duration_raw: The video's length, formatted and in raw seconds

Creator Details

  • uploader: The creator's display nickname
  • uploader_id: The creator's @username handle

Engagement Metrics

  • view_count, like_count, comment_count, share_count: Public engagement totals at time of scrape

๐ŸŽฏ Use Cases

  • Content Archiving โ€“ Save metadata and download links for videos you want to reference or preserve
  • Creator Analytics โ€“ Track engagement metrics across a creator's video catalog
  • Trend Research โ€“ Study caption text, duration, and engagement patterns across viral videos
  • Competitive Benchmarking โ€“ Compare engagement stats across your own and competitor content
  • 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:

{
"startUrls": ["https://www.tiktok.com/@username/video/7123456789012345678"]
}

2. Run the Actor

Click Start. The Actor will:

  • Fetch each TikTok video page with retry handling
  • Parse structured JSON data, falling back to HTML regex extraction if needed
  • Extract metadata, engagement stats, and the download URL
  • Push each successfully extracted record to the Dataset

3. Monitor Progress

Console shows:

[1/1] Extracting TikTok video: https://www.tiktok.com/@username/video/7123456789012345678
Successfully extracted: 'Wait for it... this hack changed everything' | Uploader: @janecreator | Views: 4820193 | Likes: 612044
๐ŸŽ‰ Scraping complete! Successfully extracted 1 TikTok videos.

4. View & Download Results

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

โš™๏ธ Configuration

Single video extraction:

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

Batch extraction:

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

Custom proxy group:

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

๐Ÿ“ˆ Performance

Processing Speed

  • One HTTP request per video URL, with up to 3 retries on rate limits or auth errors
  • 0.5 second delay between video requests to reduce blocking
  • Faster than browser-based scraping since no rendering engine is required

Resource Usage

  • Memory: Low, since no browser instance is launched
  • Network: One request per TikTok Reels & Video URL, plus retries if needed
  • Proxy: One residential proxy tunnel shared across the impersonated session for the run

โš ๏ธ Important Notes

  • Public Data Only: Retrieves only publicly accessible TikTok Reels & Video content exposed on the video's own page
  • Privacy: Downloading and reusing video content 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, especially around redistribution of downloaded content

Data Quality

  • Freshness: Reflects each TikTok Reels & Video's live state at time of run
  • Completeness: Private, deleted, or geo-restricted videos will fail to extract and are skipped with a warning
  • Accuracy: Sourced directly from TikTok's own embedded page data
  • 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 Reels & Video access
  • Provide full, direct video URLs rather than shortened or profile links
  • Re-run periodically to track how engagement metrics change over time
  • Expect extraction to fail gracefully for private, deleted, or geo-restricted videos
  • Respect content owners' rights before redistributing any downloaded video

Terms of Use:

  • Use for legitimate research, archiving, and analytics purposes
  • Respect TikTok's Terms of Service and applicable copyright law
  • Do not use for unauthorized redistribution of copyrighted video content
  • Use TikTok Reels & Video data responsibly and in compliance with applicable privacy and copyright laws

Disclaimer: TikTok Reels & Video Downloader 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 Reels & Video Excellence

This Actor is optimized for TikTok Reels & Video research with:

  • โœ… Dual-layer JSON extraction for maximum page-version compatibility
  • โœ… Raw HTML regex fallback when structured data is unavailable
  • โœ… Full engagement metrics and clean download links
  • โœ… Retry-resilient requests with automatic backoff
  • โœ… Real-time Dataset push
  • โœ… Production-ready code