TikTok Scraper — Hashtag Date Filter, Profiles & Search
Pricing
from $0.40 / 1,000 results
TikTok Scraper — Hashtag Date Filter, Profiles & Search
Export TikTok videos from hashtags, creators, keywords, or URLs. Filter hashtag posts by date. HTTP-first extraction from $0.40 per 1,000 results.
Pricing
from $0.40 / 1,000 results
Rating
0.0
(0)
Developer
Coor Yu
Maintained by CommunityActor stats
1
Bookmarked
12
Total users
3
Monthly active users
16 hours ago
Last modified
Categories
Share
TikTok Scraper — Profiles, Videos, Hashtags & Search
Use one Actor to export TikTok creator videos, hashtag feeds, keyword search results, or known video URLs. Every result includes metadata, engagement statistics, music, mentions, hashtags, and optional MP4 or cover downloads.
Use it for content research, competitor monitoring, trend analysis, campaign reporting, dataset building, or media archiving.
Why use this Actor
- Four workflows in one input: profiles, hashtags, searches, and direct videos.
- HTTP-first extraction normally starts no browser and no proxy.
- Only failed inputs enter a browser fallback restricted to non-residential egress.
- Optional MP4 and cover-image storage.
- One stable output schema across every input type.
Low-cost tiered pricing
- Free tier: $0.0005 per result — $0.50 per 1,000.
- Bronze: $0.45 per 1,000.
- Silver and above: $0.40 per 1,000.
- A small start event and normal Apify platform usage may also apply; see the Pricing tab.
- Only rows written to the dataset incur the result fee.
Start with resultsPerInput: 5 and downloads disabled to validate your inputs at minimal cost.
Quick start
{"profiles": ["mrbeast"],"hashtags": ["roblox"],"searchKeywords": ["skincare routine"],"videoUrls": ["https://www.tiktok.com/@dafeiju7/video/7648048288498863374"],"resultsPerInput": 10,"dataSource": "auto","shouldDownloadVideos": false,"shouldDownloadCovers": false,"maxConcurrency": 4}
Provide at least one profile, hashtag, keyword, or video URL. You can mix all four in the same run.
Main options
| Field | Default | What it does |
|---|---|---|
profiles | [] | Usernames or full profile URLs. |
hashtags | [] | Hashtags without #. |
searchKeywords | [] | Free-text TikTok video searches. |
videoUrls | [] | Known TikTok video URLs; fastest one-record path. |
resultsPerInput | 50 | Maximum videos per profile, hashtag, or keyword; 0 requests all. |
dataSource | auto | HTTP first, non-residential browser fallback only for failed inputs. |
shouldDownloadVideos | false | Store MP4 files in the Key-Value Store. |
shouldDownloadCovers | false | Store cover images in the Key-Value Store. |
maxConcurrency | 4 | Parallel seed tasks; HTTP calls are rate-limited automatically. |
proxy | DEFAULT | Browser fallback only; groups, custom URLs, and disabling are ignored. |
Use dataSource: "tikwm" to guarantee that no browser or proxy is started. Use browser only for troubleshooting.
Hashtag date filter
hashtagPostedAfter and hashtagPostedBefore apply only to hashtag-sourced videos:
{"hashtags": ["fashion"],"hashtagPostedAfter": "2026-07-01","hashtagPostedBefore": "2026-08-01"}
Date-only values are interpreted at midnight UTC. Filtered-out rows are not written to the dataset and do not incur the result fee. Hashtag feeds are not perfectly chronological, so broader result limits may be needed for narrow date windows.
Output
One dataset row represents one TikTok video:
{"videoId": "7648048288498863374","webVideoUrl": "https://www.tiktok.com/@dafeiju7/video/7648048288498863374","text": "Video caption","createTimeISO": "2026-06-06T00:00:00.000Z","duration": 18,"videoDownloadUrl": "https://...","coverUrl": "https://...","author": {"id": "123","uniqueId": "creator","nickname": "Creator","avatar": "https://..."},"music": {"id": "456","title": "Original Sound","author": "creator","playUrl": "https://..."},"stats": {"playCount": 100000,"diggCount": 9000,"commentCount": 300,"shareCount": 120,"collectCount": 500},"hashtags": ["example"],"mentions": [],"sourceType": "direct","sourceInput": "https://www.tiktok.com/...","scrapedAt": "2026-07-28T00:00:00.000Z"}
When downloads are enabled, storedVideoKey or storedCoverKey points to the file in the run's Key-Value Store.
How the low-cost mode works
The default path uses lightweight public HTTP endpoints for profile posts, hashtag feeds, searches, and video details. Successful inputs are pushed immediately. Playwright and Apify Proxy are initialized only for failed inputs in auto mode.
The fallback accepts only Apify's non-residential DEFAULT pool. Residential groups, custom URLs, proxy disabling, and the legacy fallbackToResidential setting are ignored to prevent accidental residential costs.
中文速览
一个 Actor 同时支持 TikTok 达人主页、话题、关键词搜索和单视频链接。默认轻量 HTTP 优先,不启动浏览器或代理;免费层 每 1,000 条 $0.50,批量层最低 $0.40/1,000。设置 dataSource=tikwm 可严格保证 HTTP-only。
Limitations and responsible use
- Only public and currently available content can be returned.
- Counts and media URLs are snapshots; signed media URLs may expire.
- The HTTP path depends on an independent public upstream service;
autoprovides a non-residential browser fallback. - Media downloads increase runtime, storage, and platform usage.
- Collect and use public data in accordance with applicable laws and platform terms.
Zero-result policy
A run that produces no valid video rows finishes as FAILED. In auto mode, a zero-result HTTP response first receives the existing non-residential browser fallback before the run is failed.