TikTok Scraper — All-in-One Data Extractor
Pricing
from $1.00 / 1,000 result scrapeds
TikTok Scraper — All-in-One Data Extractor
Extract TikTok data 5x cheaper than alternatives. Scrape profiles, videos, hashtags, search results and comments in one actor. Get followers, likes, views, captions, music metadata and engagement stats. $1 per 1000 results. No proxy needed for most queries. All-in-one no need for separate scrapers.
Pricing
from $1.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
dltik
Actor stats
1
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
TikTok All-in-One Scraper
Extract TikTok data at $1 per 1,000 results — profiles, videos, hashtags, search and trending in a single actor. No proxy needed.
4× cheaper than clockworks/tiktok-scraper ($4/1000 vs $1/1000) with comparable data quality.
What you can scrape
| Mode | Input | What you get |
|---|---|---|
profiles | @username | Followers, bio, likes, video count, avatar, verified status |
videos | Video URL | Full metadata + optional comments |
hashtags | #hashtag | Recent videos for that hashtag |
search | Keyword | Videos matching your search query |
trending | (none) | Currently trending videos on TikTok |
Quick start
Scrape a profile
{"mode": "profiles","inputs": ["@charlidamelio", "@khaby.lame"]}
Search for videos
{"mode": "search","inputs": ["decathlon", "viral product 2026"],"maxResultsPerInput": 40}
Scrape a hashtag
{"mode": "hashtags","inputs": ["#fitness", "#cooking"],"maxResultsPerInput": 30}
Get trending videos
{"mode": "trending","inputs": [],"maxResultsPerInput": 50}
Scrape a video with comments
{"mode": "videos","inputs": ["https://www.tiktok.com/@username/video/7123456789"],"includeComments": true,"commentsPerVideo": 50}
Input fields
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | profiles | One of: profiles, videos, hashtags, search, trending |
inputs | array | — | Usernames, URLs, hashtag names, or keywords |
maxResultsPerInput | integer | 20 | Max results per input (1–500) |
includeComments | boolean | false | Fetch top comments for each video |
commentsPerVideo | integer | 20 | Number of comments per video (1–100) |
sessionCookies | array | [] | TikTok session cookies to unlock more results (optional) |
Using session cookies (optional)
Providing TikTok session cookies unlocks real cursor pagination (search/item/full endpoint), giving 40+ results per query instead of the standard 12–25.
To get your cookies:
- Open TikTok in Chrome → DevTools (F12) → Application → Cookies →
tiktok.com - Copy these 5 cookies:
sessionid,ttwid,s_v_web_id,msToken,odin_tt - Paste them in this format:
[{ "name": "sessionid", "value": "abc123..." },{ "name": "ttwid", "value": "1|xyz..." },{ "name": "s_v_web_id", "value": "verify_..." },{ "name": "msToken", "value": "Pzfj..." },{ "name": "odin_tt", "value": "4812..." }]
Cookies expire after 7–30 days. Without cookies the scraper still works well for most use cases.
Output
Every result has a type field: profile, video, hashtag, or comment.
Video
{"type": "video","video_id": "7123456789012345678","video_url": "https://www.tiktok.com/@username/video/7123456789012345678","description": "Caption text #hashtag #fyp","published_at": "2026-03-29","published_ts": 1743200400,"duration": 28,"width": 1080,"height": 1920,"definition": "540p","language": "en","cover": "https://p16-sign.tiktokcdn-us.com/...","play_url": "https://v19-webapp.tiktok.com/...","author_username": "username","author_nickname": "Display Name","author_verified": false,"author_avatar": "https://p16-sign.tiktokcdn-us.com/...","author_followers": 125000,"plays": 2400000,"likes": 180000,"comments": 3200,"shares": 8900,"bookmarks": 12000,"reposts": 450,"music_title": "original sound","music_author": "username","music_original": true,"hashtags": ["decathlon", "sport", "fyp"]}
Profile
{"type": "profile","username": "tiktok","nickname": "TikTok","bio": "Make Your Day","verified": true,"private": false,"avatar": "https://p16-sign.tiktokcdn-us.com/...","bio_link": "https://tiktok.com","region": "US","followers": 93500000,"following": 340,"likes": 280000000,"videos_count": 1417,"profile_url": "https://www.tiktok.com/@tiktok","sec_uid": "MS4wLjABAAAA..."}
Comment
{"type": "comment","video_id": "7123456789012345678","comment_id": "7123456789012345679","text": "This is amazing!","likes": 4200,"replies": 12,"author": "username","author_nickname": "Display Name","created_at": 1743200400}
Performance
Benchmarks on real queries (no cookies):
| Mode | Query | Results | Time |
|---|---|---|---|
| profiles | @charlidamelio | 1 profile | ~1s |
| videos | single URL | 1 video | ~0.5s |
| hashtags | #tiktokmademebuyit × 15 | 15 videos | ~16s |
| search | "viral product 2026" × 20 | 13–15 videos | ~20s |
| search | "decathlon" × 50 | 50 videos | ~37s |
| trending | — × 30 | 22 videos | ~20s |
With session cookies (search/hashtag):
| Query | Results | Time |
|---|---|---|
| "decathlon" × 50 | 40 videos | ~36s |
Pricing
$0.001 per result = $1 per 1,000 results.
| Actor | Price per 1,000 results |
|---|---|
| clockworks/tiktok-scraper | ~$4.00 |
| This actor | $1.00 |
Apify compute cost is negligible (~$0.00004 per run at 1024 MB × 40s).
Technical details
- No proxy required — uses DrissionPage with real browser fingerprinting
- SessionPage (HTTP) for profiles and videos — fast, ~1s
- ChromiumPage (headless Chromium) for search, hashtags and trending — full browser automation
- Listens to TikTok's internal XHR APIs (
search/general/full,search/item/full,explore/item_list) - With cookies: navigates
search/item/fullwith real cursor pagination - Max 2 concurrent runs to stay within memory limits
Limitations
- Profile video lists require authentication (only profile metadata is returned without cookies)
trendingreturns 20–30 videos per run (TikTok's explore page limit)- Cookies expire after 7–30 days and must be refreshed manually
- TikTok may rate-limit IPs after many consecutive runs — the built-in delays mitigate this
Connect with Make, Zapier & n8n
This actor integrates with any automation platform via the Apify API.
Make (Integromat)
- Add an Apify module in your Make scenario
- Select Run Actor and choose this actor
- Configure the input (paste your JSON)
- Add a Get Dataset Items module to retrieve results
- Connect to Google Sheets, HubSpot, Slack, or any other app
Zapier
- Use the Apify integration on Zapier
- Set trigger: Actor Run Finished
- Action: Get Dataset Items
- Send results to your CRM, email tool, or spreadsheet
n8n
- Add an HTTP Request node to call the Apify API
- POST to
https://api.apify.com/v2/acts/dltik~tiktok-scraper/runs - Wait for completion, then fetch dataset items
- Route results to any n8n node
Webhooks
Set up a webhook to get notified when a run finishes:
run = client.actor("dltik/tiktok-scraper").call(run_input={...},webhooks=[{"eventTypes": ["ACTOR.RUN.SUCCEEDED"],"requestUrl": "https://your-webhook-url.com"}])
Other scrapers by dltik
| Actor | What it does | Price |
|---|---|---|
| Google Maps Email Extractor | Extract emails, phones, WhatsApp from Google Maps businesses | $3/1K |
| Facebook Ads Scraper | Scrape Meta Ad Library — ad copy, creatives, CTA links | $1/1K |
| TikTok Video Downloader | Download TikTok videos without watermark | $5/1K |
| Reddit Scraper | Scrape posts, comments, profiles with sentiment analysis | $2/1K |
| Trustpilot Scraper | Scrape reviews, ratings, company profiles with sentiment | $0.50/1K |