TikTok Reels & Video Downloader
Pricing
from $5.00 / 1,000 result scrapes
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
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
0
Monthly active users
7 days ago
Last modified
Categories
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
- Data Source
- How It Works
- Input
- Output
- Technical Stack
- Data Fields
- Use Cases
- Quick Start
- Configuration
- Performance
- Important Notes
- License & Legal
๐ฅ Features
- Dual JSON Extraction Strategy โ Parses both TikTok's modern
__UNIVERSAL_DATA_FOR_REHYDRATION__block and the legacySIGI_STATEblock 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/downloadAddrand 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:SSorHH:MM:SSdisplay format. - Uploader Identity Resolution โ Extracts both the display nickname and the
@usernamehandle 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:
- Input Parsing โ Accept a list of TikTok Reels & Video URLs
- Proxy Setup โ Configure Apify residential proxy for the impersonated HTTP session
- URL Loop โ Iterate through each provided TikTok video URL
- Page Fetch โ Request the video page's HTML with retry handling for rate limits and auth errors
- Rehydration JSON Parsing โ Attempt to extract structured data from
__UNIVERSAL_DATA_FOR_REHYDRATION__ - SIGI_STATE Fallback โ Attempt the legacy JSON block if the modern one isn't found
- Raw HTML Fallback โ Apply regex extraction on play address and meta tags as a final fallback
- URL Cleaning โ Unescape and clean the extracted download and thumbnail URLs
- Duration Formatting โ Convert raw seconds into a readable duration string
- Dataset Push โ Push each successfully extracted record to the Dataset immediately
- 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:
| Field | Type | Default | Description |
|---|---|---|---|
startUrls / urls | array or string | (required) | One or more TikTok Reels & Video URLs to extract. |
proxyConfiguration | object | {"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:
| Field | Type | Description |
|---|---|---|
title | string | Video title, derived from description or uploader name |
id | string | The TikTok video ID |
source | string | Always "TikTok" |
url | string | The final resolved video page URL |
download_url | string | Direct, cleaned download URL for the video file |
thumbnail | string | Direct URL to the video's cover/thumbnail image |
duration | string | Formatted video duration (MM:SS or HH:MM:SS) |
duration_raw | integer | Raw video duration in seconds |
description | string | Full video caption/description |
uploader | string | Display nickname of the video's creator |
uploader_id | string | The creator's @username handle |
view_count | integer | Total view count |
like_count | integer | Total like count |
comment_count | integer | Total comment count |
share_count | integer | Total share count |
timestamp | integer | Unix 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:
asynciowith an executor bridge for running the impersonated client asynchronously - JSON Parsing:
jsonfor extracting the rehydration and SIGI_STATE data blocks - Pattern Matching:
refor both structured JSON extraction and raw HTML fallback parsing - Text Handling:
htmlfor unescaping HTML entities in captions and titles - Date Handling:
datetimewith timezone-aware UTC timestamps - Proxy: Apify Proxy with
RESIDENTIALconfiguration 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
@usernamehandle
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/7123456789012345678Successfully 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
Legal & Compliance
- 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
๐ License & Legal
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