Titok Post Scraper | No Login | No Cookie avatar

Titok Post Scraper | No Login | No Cookie

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Titok Post Scraper | No Login | No Cookie

Titok Post Scraper | No Login | No Cookie

Fast, lightweight, and cost-effective TikTok scraper for bulk extraction of profiles, videos, hashtags, search queries, top comments, and direct HD video download URLs without login.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

REXREUS D.O

REXREUS D.O

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

17 days ago

Last modified

Categories

Share

🎡 TikTok Bulk Scraper & Comment Extractor

Apify Actor TypeScript Node.js LICENSE

A commercial-grade, high-speed, cost-effective Apify Actor for bulk TikTok data extraction. Extract profiles, posts/videos, hashtags, and search keywords in bulk with rich metadata, direct video download links, instant browser-playable embed links, music info, top comment scraping, and engagement filtering.


🌟 Key Features

  • πŸ“¦ Bulk Multi-Source Scraping: Scrape multiple TikTok profiles (usernames), direct post URLs (postUrls), hashtags (hashtags), and search keywords (searchQueries) in a single execution.
  • 🎬 Browser-Playable Links (embedUrl): Clean embed player URLs (https://www.tiktok.com/embed/v2/{id}) that play instantly in any web browser without 403 Forbidden or hotlink blocks.
  • πŸ“₯ Signed HD 720p Video Streams (downloadUrl): Direct signed MP4 stream URLs for automated video downloading scripts.
  • ⚑ HTTP-First Architecture: Built on Crawlee and got-scraping with Mobile User-Agent HTML Rehydration for maximum throughput and 10x cheaper Apify compute costs compared to browser scrapers.
  • πŸ’¬ Top Comment Extractor: Extract top N comments per video (maxCommentsPerPost) with comment author, timestamp, and like count.
  • 🎯 Engagement Filtering: Filter output dataset items by minimum likes (minLikes) or video play count (minViews).
  • πŸ”’ Proxy & Session Support: Full integration with Apify Residential/Datacenter Proxies and optional custom cookie inputs.

πŸ“ Architecture Layout

src/
β”œβ”€β”€ main.ts # Apify Actor composition & lifecycle
β”œβ”€β”€ domain/ # Pure domain models, types, interfaces, error classes
β”‚ β”œβ”€β”€ types.ts
β”‚ └── errors.ts
β”œβ”€β”€ input/ # Input parsing & Zod runtime validation
β”‚ └── input-parser.ts
β”œβ”€β”€ parsers/ # Pure payload parsing & transformers
β”‚ β”œβ”€β”€ post-parser.ts
β”‚ └── comment-parser.ts
└── clients/ # Got-scraping HTTP client & TikTok Embed Engine
└── tiktok-client.ts

πŸš€ Input Example

{
"usernames": ["@tiktok", "@khaby.lame"],
"postUrls": ["https://www.tiktok.com/@tiktok/video/7464673322108718368"],
"hashtags": ["fyp", "tech"],
"searchQueries": ["dance challenge"],
"maxItems": 20,
"maxCommentsPerPost": 5,
"minLikes": 100,
"minViews": 1000,
"proxyConfiguration": {
"useApifyProxy": true
}
}

πŸ“€ Output Example

{
"id": "7672718286085197064",
"webVideoUrl": "https://www.tiktok.com/@owa_aya/video/7672718286085197064",
"embedUrl": "https://www.tiktok.com/embed/v2/7672718286085197064",
"downloadUrl": "https://v9-id.tiktokcdn.com/a113192d35b4b8086c0c90357855128f/6a9486cd/kmoat/mps/.../mp4/main.mp4?a=1233&definition=720p&policy=...",
"text": "my boyfriend, my bestie🫰🏻🫰🏻",
"createTime": "2026-08-28T18:42:59.000Z",
"authorMeta": {
"id": "u_owa_aya",
"name": "owa_aya",
"nickName": "oooaa",
"verified": true,
"signature": "Official Account",
"avatar": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/..."
},
"musicMeta": {
"musicName": "Original Sound - owa_aya",
"musicAuthor": "owa_aya",
"musicOriginal": true
},
"diggCount": 45000,
"shareCount": 680,
"commentCount": 1200,
"playCount": 520000,
"hashtags": ["video"],
"comments": [
{
"id": "7672973828378067732",
"text": "pauso kayo! pag yan nakita ng gf ko ha!",
"createTime": "2026-08-12T02:57:48.000Z",
"diggCount": 95315,
"user": "weirdo_ej"
}
],
"scrapedAt": "2026-08-28T19:42:59.116Z",
"sourceType": "postUrl",
"sourceQuery": "https://www.tiktok.com/@owa_aya/video/7672718286085197064"
}

πŸ”— Understanding Video URLs

FieldDescriptionBest Used For
embedUrlOfficial TikTok Embed Player link (https://www.tiktok.com/embed/v2/{id})Instant video playback directly in any web browser without 403 Forbidden errors.
webVideoUrlTikTok Web Page link (https://www.tiktok.com/@user/video/{id})Opening the video post on TikTok's web application.
downloadUrlDirect HD 720p Signed Stream MP4 URLAutomated video downloading via Python/Node.js scripts (requires Referer: https://www.tiktok.com/).

πŸ’‘ Cost & Performance Estimation

Data VolumeEstimated Compute CostTime TakenRecommended Proxy
100 Videos~$0.01 - $0.02~10-20 secondsDatacenter Proxy
1,000 Videos~$0.05 - $0.10~1-2 minutesResidential Proxy
10,000 Videos~$0.50 - $0.90~10-15 minutesResidential Proxy

❓ FAQ

Q: Why does opening downloadUrl directly in my browser show 403 Forbidden?
A: TikTok's raw CDN server enforces anti-hotlinking and checks the HTTP Referer header. To watch the video directly in your browser, click embedUrl. To download downloadUrl programmatically in Python/Node.js, send Referer: https://www.tiktok.com/ in your request headers.

Q: Do I need a TikTok account or login cookies?
A: No, public profiles, videos, hashtags, and search results do not require login. You can optionally provide customCookie for restricted regions or private items.

Q: What proxy setup should I use?
A: We recommend using Apify Residential Proxies for large volume bulk scraping to avoid IP rate limits.


πŸ“„ License

MIT License.