TikTok Video Scraper — Creator Feeds
Pricing
from $3.00 / 1,000 video scrapeds
TikTok Video Scraper — Creator Feeds
Scrape any public TikTok creator's recent videos: views, likes, comments, shares, description, music, cover, and timestamps. Browser-signed, no login.
Pricing
from $3.00 / 1,000 video scrapeds
Rating
0.0
(0)
Developer
bootforge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
TikTok Video Scraper
The TikTok Video Scraper is an Apify actor that extracts a public TikTok creator's recent videos by handle or profile URL — no login, no account, no cookies. It returns one structured record per video: description, timestamp, view/like/comment/share counts, duration, cover image, and TikTok's CDN video link. Optionally downloads each video's file too, so you get a link that actually plays outside TikTok.
Use it for creator research, content benchmarking, trend tracking, and social-media analytics — exported to JSON, CSV, or Excel.
How it works: this actor is browser-signed — it drives a real anti-detect browser (Camoufox) to obtain TikTok's request signature, so results are reliable but it is slower and pricier per unit than pure-HTTP scrapers. For profile identity and stats only (no videos), use the companion TikTok Profile Scraper.
Table of contents
- What the TikTok video scraper does
- How to scrape TikTok videos
- TikTok video scraper input
- TikTok video data output
- How much it costs
- Recommended proxies for TikTok videos
- Why this TikTok video scraper
- FAQ
- Rate this actor
- Related actors
What the TikTok video scraper does
- 🔓 No login required — anonymous, browser-signed extraction; no TikTok account, password, or session cookie.
- 🔗 Handle or URL input — accepts
nasa,@nasa, orhttps://www.tiktok.com/@nasa. - 🎬 Recent-video feed per handle — description, timestamps, view/like/comment/share counts, duration, cover, and video URL, one row per video.
- 🎚️ Configurable depth —
max_videoscaps how many recent videos to pull per handle (default 30, ~one feed page). - ⬇️ Optional playable download link —
download_videosdownloads each video's file and hosts it for you, so you get adownload_urlthat plays anywhere (the rawvideo_urlis TikTok's signed CDN link and only works from our scrape session). - 📊 Flat, join-ready output — every video row carries the parent creator's
unique_id/sec_uid, so it joins cleanly across handles in CSV or a dataset. - 💵 Pay only for delivered videos — $0.003 per video; not-found, blocked, and errored handles are never charged. Video downloads are billed separately, per 10MB.
How to scrape TikTok videos
- Click Try for free and open the actor.
- Add one or more
targets(handles or profile URLs). - Set
max_videos— how many recent videos to pull per handle. - Optional: set
max_profilesto cap how many handles to process. - Keep the default US residential proxy prefill, then click Start.
- Export the data as JSON, CSV, or Excel, or pull it from the Apify API.
Scrape one creator's recent videos:
{"targets": ["nasa"],"max_videos": 30,"proxy": {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US"}}
Scrape several handles, capped:
{"targets": ["nasa", "@natgeo", "https://www.tiktok.com/@bbcearth"],"max_videos": 10,"max_profiles": 2,"proxy": {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US"}}
Scrape with a playable download link per video:
{"targets": ["nasa"],"max_videos": 10,"download_videos": true,"proxy": {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US"}}
TikTok video scraper input
| Field | Description |
|---|---|
targets | Handles or profile URLs (nasa, @nasa, or https://www.tiktok.com/@nasa). Returns each creator's recent videos. Required. |
max_videos | How many recent videos to fetch per handle (default 30, ~one feed page). |
max_profiles | Optional cap on how many handles from targets to process. |
proxy | Proxy config. US residential required — TikTok blocks datacenter and non-US IPs. Prefilled with Apify RESIDENTIAL pinned to the US. |
ms_token | Optional reliability boost. Paste a fresh msToken cookie value from a logged-out tiktok.com session to warm-start the feed. Leave blank to let the browser mint its own; a stale token is ignored. |
download_videos | Optional, off by default. Downloads each video's file and adds a download_url you can play/download from anywhere. Adds a per-10MB charge (see pricing below). |
TikTok video data output
Each delivered video is one flat dataset row, keyed by video_id and carrying the parent creator's unique_id/sec_uid. Sample (with download_videos: true):
{"unique_id": "nasa","sec_uid": "MS4wLjABAAAA...","video_id": "7312345678901234567","description": "A new view of the Pillars of Creation from JWST.","create_time": 1751500800,"play_count": 4200000,"digg_count": 310000,"comment_count": 5400,"share_count": 22000,"duration_sec": 34,"cover_url": "https://p16-sign-va.tiktokcdn.com/...","video_url": "https://v16-webapp-prime.us.tiktok.com/video/tos/useast8/...&signature=...","download_url": "https://api.apify.com/v2/key-value-stores/abc123/records/7312345678901234567-tiktok-video","download_note": "download_url is a direct link to the video file... use download_url instead.","source": "item_list","scraped_at": "2026-07-07T00:00:00Z"}
| Field | Description |
|---|---|
unique_id | Parent creator handle the video belongs to. |
sec_uid | Creator's stable TikTok ID (joins rows across handles). |
video_id | Unique video ID. |
description | Video caption text. |
create_time | Post timestamp, Unix seconds. |
play_count | View count. |
digg_count | Like count. |
comment_count | Comment count. |
share_count | Share count. |
duration_sec | Video length in seconds. |
cover_url | Thumbnail/cover image URL. |
video_url | TikTok's raw, signed CDN link to the video file. Not directly playable outside our scrape session — it's signed against the proxy IP that fetched it and returns 403 from any other IP. Set download_videos: true for a link that actually plays. |
download_url | Only present when download_videos: true. A direct, playable download link (hosted in this run's Apify key-value store); its lifetime follows your Apify plan's data-retention setting. |
download_note | Only present when download_videos: true. Short explanation of the video_url vs download_url difference above. |
source | How the row was obtained (e.g. item_list). |
scraped_at | ISO timestamp of the scrape. |
Handles that error out (not found, blocked, or fetch failure) contribute zero rows and are never charged.
How much it costs
This actor uses pay-per-event pricing — you pay for the videos you scrape, not for time.
| Event | USD |
|---|---|
| Actor start (per GB memory) | $0.0001 |
| Video scraped | $0.003 |
Video file, per 10MB (only with download_videos: true) | $0.02 |
| Typical run (default 2 GB) | Videos | Cost |
|---|---|---|
| Single handle, 30 videos | 30 | ~$0.0902 |
| 10 creators, 30 videos each | 300 | ~$0.9002 |
| 100 creators, 10 videos each | 1,000 | ~$3.0002 |
Single handle, 30 videos, download_videos: true (~5MB avg) | 30 | ~$0.6902 |
You only pay for videos actually delivered. Handles that are not-found, blocked, or errored are not charged. The per-10MB video-file charge only applies when download_videos: true and only for videos successfully downloaded.
Recommended proxies for TikTok videos
A US residential proxy is required — TikTok blocks datacenter IPs (like Apify's servers) and non-US exits. The proxy input prefills Apify's RESIDENTIAL group pinned to the US (apifyProxyCountry: "US"), and the scraper defaults any provider to a US exit unless you set a country, so the correct region is applied out of the box.
The actor supports Apify Proxy and external providers (Bright Data, Oxylabs, SmartProxy, or any raw proxy URL). If you run your own scrapers — inside or outside Apify — and need reliable residential IPs for TikTok, social, or e-commerce sites, we use and recommend DataImpulse (pay-as-you-go, per-country targeting, no monthly minimum):
👉 Get DataImpulse residential proxies (referral link)
// Apify managed proxy (easiest){"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US"}// Bright Data{"provider": "brightdata", "username": "YOUR_USER", "password": "YOUR_PASS", "zone": "residential", "country": "US"}// Oxylabs{"provider": "oxylabs", "username": "YOUR_USER", "password": "YOUR_PASS", "proxy_type": "residential", "country": "US"}// Any proxy URL{"provider": "raw_urls", "urls": ["http://user:pass@proxy.example.com:8080"]}
Why this TikTok video scraper
- No login, no cookies — anonymous extraction of publicly visible video data; nothing from your TikTok account is used.
- Browser-signed reliability — drives a real anti-detect browser (Camoufox) to produce TikTok's signed
item_listrequest, without reverse-engineering the signer. - Flat, join-ready rows — one row per video, each stamped with the parent creator's
unique_id/sec_uidfor clean cross-handle joins in CSV. - Honest billing — pay only for delivered videos; not-found, blocked, and errored handles never produce rows and are never charged. If every handle fails, the run raises instead of a silent zero-result success.
- Open source — the underlying
tiktok-scraperPython package ships a Typer CLI and a FastAPI server; the Apify wrapper is a thin layer.
FAQ
Do I need a TikTok account or login? No. The actor extracts only publicly visible video data anonymously — no account, password, or session cookie. It reads the same recent-video feed a logged-out visitor sees on a creator's profile page.
Do I need a proxy?
Yes — a US residential proxy is required. TikTok blocks requests from datacenter IPs (like Apify's servers) and from non-US exits. The proxy input prefills the easiest option: Apify RESIDENTIAL pinned to US, so it works out of the box.
Which proxies work best for TikTok? Residential IPs with per-country targeting, pinned to the US. Apify's RESIDENTIAL group works by default; for your own scrapers we recommend DataImpulse residential proxies (referral link) — pay-as-you-go with per-country targeting.
Why does this actor need a browser? The profile actor doesn't.
TikTok's video feed (item_list) requires a signed request that only a real browser session produces reliably. This actor drives an anti-detect browser (Camoufox) to capture that signed response, which is why it needs more memory and runs slower per handle than the HTTP-only profile actor. The optional msToken input can warm-start the feed on flaky IPs.
How deep does it go — full history or just recent?
Recent videos only, up to max_videos per handle (default 30, ~one feed page). It is not a full video-history crawler.
Is scraping TikTok legal? This actor collects only publicly available video data. You are responsible for complying with TikTok's terms and applicable laws. Do not collect personal data without a lawful basis.
Why doesn't video_url play in my browser or media player?
video_url is TikTok's raw CDN link, signed against the specific proxy IP that fetched it — it returns 403 Forbidden from any other IP, regardless of headers, and isn't meant to be opened directly. Set download_videos: true to get a download_url that actually plays anywhere (see pricing above for the added cost).
Rate this actor ⭐
If the TikTok Video Scraper saved you time, please leave a review on its Apify Store page — ratings help other people find it and tell us what to build next. Hit a bug or missing field? Open an issue or contact us through the actor's Issues tab and we'll fix it fast — recency and reliability are what keep this actor ranking.
Related actors
Building a broader social or lead pipeline? Pair this actor with our other scrapers — same proxy config format, same Pydantic-validated output, all open source.
- TikTok Profile Scraper — public TikTok profile identity and stats (nickname, bio, avatar, follower/following/heart/video counts). No login, HTTP-only, cheaper per unit.
- TikTok Shop Product Scraper — scrape TikTok Shop products across 10 regions (US, GB, VN, TH, PH, MY, SG, JP, MX, BR): variants, prices, seller info, ratings, sold counts.
- Instagram Profile Scraper — public Instagram profiles: bio, followers, recent posts. No login.
- Google Maps Business & Contact Scraper — extract business leads with emails, phone numbers, reviews, images, and social links.