TikTok Scraper — All-in-One Data Extractor avatar

TikTok Scraper — All-in-One Data Extractor

Pricing

from $1.00 / 1,000 result scrapeds

Go to Apify Store
TikTok Scraper — All-in-One Data Extractor

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

dltik

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

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

ModeInputWhat you get
profiles@usernameFollowers, bio, likes, video count, avatar, verified status
videosVideo URLFull metadata + optional comments
hashtags#hashtagRecent videos for that hashtag
searchKeywordVideos 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
}
{
"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

FieldTypeDefaultDescription
modestringprofilesOne of: profiles, videos, hashtags, search, trending
inputsarrayUsernames, URLs, hashtag names, or keywords
maxResultsPerInputinteger20Max results per input (1–500)
includeCommentsbooleanfalseFetch top comments for each video
commentsPerVideointeger20Number of comments per video (1–100)
sessionCookiesarray[]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:

  1. Open TikTok in Chrome → DevTools (F12) → Application → Cookies → tiktok.com
  2. Copy these 5 cookies: sessionid, ttwid, s_v_web_id, msToken, odin_tt
  3. 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):

ModeQueryResultsTime
profiles@charlidamelio1 profile~1s
videossingle URL1 video~0.5s
hashtags#tiktokmademebuyit × 1515 videos~16s
search"viral product 2026" × 2013–15 videos~20s
search"decathlon" × 5050 videos~37s
trending— × 3022 videos~20s

With session cookies (search/hashtag):

QueryResultsTime
"decathlon" × 5040 videos~36s

Pricing

$0.001 per result = $1 per 1,000 results.

ActorPrice 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/full with 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)
  • trending returns 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)

  1. Add an Apify module in your Make scenario
  2. Select Run Actor and choose this actor
  3. Configure the input (paste your JSON)
  4. Add a Get Dataset Items module to retrieve results
  5. Connect to Google Sheets, HubSpot, Slack, or any other app

Zapier

  1. Use the Apify integration on Zapier
  2. Set trigger: Actor Run Finished
  3. Action: Get Dataset Items
  4. Send results to your CRM, email tool, or spreadsheet

n8n

  1. Add an HTTP Request node to call the Apify API
  2. POST to https://api.apify.com/v2/acts/dltik~tiktok-scraper/runs
  3. Wait for completion, then fetch dataset items
  4. 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

ActorWhat it doesPrice
Google Maps Email ExtractorExtract emails, phones, WhatsApp from Google Maps businesses$3/1K
Facebook Ads ScraperScrape Meta Ad Library — ad copy, creatives, CTA links$1/1K
TikTok Video DownloaderDownload TikTok videos without watermark$5/1K
Reddit ScraperScrape posts, comments, profiles with sentiment analysis$2/1K
Trustpilot ScraperScrape reviews, ratings, company profiles with sentiment$0.50/1K