TikTok Scraper — Videos, Creators, Hashtags, Comments & Trends
Pricing
from $0.90 / 1,000 results
TikTok Scraper — Videos, Creators, Hashtags, Comments & Trends
TikTok scraper & real-time data API for videos, creators, hashtags, sounds, comments & search suggestions. Keyword video search, influencer profiles, engagement stats, related videos & webhooks. Structured JSON for marketing, influencer research, trend analysis, brand monitoring & LLM pipelines.
Pricing
from $0.90 / 1,000 results
Rating
0.0
(0)
Developer
Chidubem Aneke
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
TikTok Real-Time Data
Collect live TikTok videos, creators, hashtags, sounds, suggestions, and comments as clean, structured JSON — streamed to your Apify dataset in real time.
Built for marketers, agencies, researchers, data teams, and AI pipelines that need reliable TikTok intelligence without building and maintaining a collection stack from scratch.
Why this Actor
| TikTok Real-Time Data | Typical DIY scrapers | |
|---|---|---|
| Setup | Checkbox UI — click Start with prefilled keywords | Weeks of brittle scripts |
| Output | Structured JSON, one row per item | Messy HTML / mixed payloads |
| Scale | Long runs stream to the dataset (low RAM risk) | Often buffers everything in memory |
| Delivery | Dataset + optional real-time webhook | Manual export only |
| AI-ready | LLM / MCP friendly records | Ad-hoc parsing required |
| Coverage | Videos, creators, trends, suggestions, comments, URL paste | Usually one surface only |
What you get
Every record includes featureType and scrapedAt so you can filter, join, and pipe into any workflow.
Videos (featureType: "video")
| Field | Description |
|---|---|
videoSource | How the video was found: keyword, url, related, user, hashtag, scrape |
videoId, url, description, author, authorId | Identity |
playCount, diggCount, commentCount, shareCount, collectCount | Engagement |
createTime, durationSec, musicTitle, musicAuthor, hashtags[] | Media context |
coverUrl, downloadUrl | Assets when available |
searchQuery, position | Traceability |
engagementFetched | Full engagement details were applied |
accountFollowerCount, accountVerified, accountSignature, … | Optional creator fields on the same row |
Creators (featureType: "account")
| Field | Description |
|---|---|
uniqueId, userId, nickname, url | Identity |
signature, bioLink, avatarUrl, verified | Bio & trust |
followerCount, followingCount, heartCount, videoCount | Reach |
friendCount, privateAccount, isCommerce, language, createTime | Extra signals |
discoveryQuery | Keyword that discovered this creator (keyword mode) |
Hashtags & sounds
featureType | Key fields |
|---|---|
hashtag | name, views, videoCount, description, coverUrl, url |
sound | musicId, title, author, videoCount, coverUrl, url |
Suggestions (featureType: "suggestion")
| Field | Description |
|---|---|
content | Suggested phrase / demand language |
query | Seed keyword |
isHashtag, position | Classification & rank |
Comments (featureType: "comment")
| Field | Description |
|---|---|
commentId, text, author, authorId | Identity |
diggCount, replyCount | Engagement |
videoId, url, createTime, position | Parent video & order |
Set includeRaw: true only if you need extended source fragments (larger output, advanced users).
Features
Keyword videos — on by default
Search by topic. Prefill: cooking, gym tips — click Start immediately. Each section has its own engagement, author details, and filters.
Videos by URL
Open specific TikTok video links or IDs, with optional enrichment toggles for this path.
Related videos
Seed video URLs → related recommendations, with path-level enrichment toggles.
Creator video grids
Recent posts from usernames (for full profiles, use Search or discover creators), with enrichment + min plays / date filters.
Search or discover creators
Two modes:
- By username / URL — deep profiles for known handles
- Search / discover by keyword — find creators matching a topic, then load full stats
Optional: also fetch each creator’s recent videos.
Hashtags & Sounds
- Discover — trending hashtags and sounds for your market
- Specific hashtags — meta for named tags, with optional videos under each tag
Search Suggestions
Autocomplete / related phrases TikTok associates with your keywords — ideal for demand research and content planning.
Comments
Three ways to pick videos: search by keyword, paste URLs, or reuse run-collected videos. Set videos per keyword, comments per video, and optional min comment likes.
Scrape by URL
Paste any TikTok video, profile, or hashtag URL — the Actor detects the type and returns the right record shape.
Webhooks
Every record is always saved to the run dataset. Optionally POST each record to your webhook URL (CRM, Slack, Zapier, Make, custom API) as it is collected.
Use cases
- Content & trend research — keyword videos with plays, likes, and music signals
- Creator discovery & outreach — find profiles by topic; export followers, bio, and bio link
- Brand monitoring — track hashtags, sounds, and mentions over time
- Competitive intelligence — related videos and creator grids around competitors
- Influencer shortlists — filter by engagement and account size
- Comment listening — sample audience language under high-performing videos
- AI & LLM pipelines — structured JSON for RAG, scoring, summaries, and draft content
- CRM / warehouse feeds — stream via dataset API or real-time webhook
LLM & MCP integration
Output is JSON Lines–friendly structured data — ideal for ChatGPT, Claude, Gemini, LangChain, LlamaIndex, and custom agents.
Recommended workflow
- Run the Actor with the features you need (prefilled Videos works out of the box).
- Fetch dataset items via Apify API or export JSON/CSV.
- Pass records to your LLM with a system prompt, or index into a vector store.
Example: video record for an LLM prompt
{"featureType": "video","videoSource": "keyword","videoId": "7635410154141338893","url": "https://www.tiktok.com/@creator/video/7635410154141338893","description": "Easy weeknight dinner tips #cooking","author": "creator","playCount": 11900000,"diggCount": 850000,"commentCount": 1384,"searchQuery": "cooking","scrapedAt": "2026-07-16T12:00:00.000Z"}
Apify MCP (Model Context Protocol)
Use the Apify MCP server so AI assistants can:
- Run this Actor with natural-language instructions
- Read dataset results directly in the chat
- Chain with other Actors (e.g. collect → score → CRM)
Typical MCP tool flow:
User: "Find 30 cooking videos with high play counts and summarize hooks"→ MCP runs Actor with enableVideoKeyword, videoKeywords=["cooking"], videoFetchEngagement=true→ MCP reads dataset items→ LLM summarizes descriptions, music, and engagement
API quick start
curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"enableVideoKeyword": true,"videoKeywords": ["cooking", "gym tips"],"videoMaxResults": 20,"videoKeywordFetchEngagement": true}'
Dataset items: GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
Input reference
Enable only what you need. Features are independent. Defaults are prefilled so Start works immediately.
| Input | Type | Default | Description |
|---|---|---|---|
| Keyword videos | |||
enableVideoKeyword | boolean | true | Search videos by topic |
videoKeywords | string[] | ["cooking","gym tips"] | Search keywords |
videoMaxResults | integer | 20 | Max videos per keyword |
videoKeywordFetchEngagement | boolean | true | Full stats for keyword videos |
videoKeywordFetchAccountDetails | boolean | false | Author fields on keyword rows |
videoKeywordMinPlays / videoKeywordPublishedWithin | Filters for this path | ||
| Videos by URL | |||
enableVideoUrl | boolean | false | Open specific video links |
videoUrls / videoIds | string[] | — | Video URLs or IDs |
videoUrlFetchEngagement / videoUrlFetchAccountDetails | boolean | Enrichment for URL path | |
| Related videos | |||
enableVideoRelated | boolean | false | Related / recommended clips |
relatedVideoUrls | string[] | — | Seed video URLs |
relatedMaxResults | integer | 16 | Related per seed |
videoRelatedFetchEngagement / videoRelatedFetchAccountDetails | boolean | Enrichment for related path | |
| Creator video grids | |||
enableVideoUser | boolean | false | Recent posts from usernames |
videoUsernames | string[] | — | Usernames without @ |
videoUserMaxResults | integer | 20 | Videos per creator |
videoUserFetchEngagement / filters | Enrichment + min plays / date | ||
| Search or discover creators | |||
enableAccounts | boolean | false | Look up or discover creator profiles |
accountMode | enum | url | url or keyword |
accountUsernames / accountUrls | string[] | — | Specific profiles |
accountKeywords | string[] | — | Search / discover keywords |
accountsPerKeyword | integer | 15 | Max creators per keyword |
accountFetchRecentVideos | boolean | false | Also fetch recent posts |
accountRecentVideosMax | integer | 12 | Videos per creator |
| Hashtags & Sounds | |||
enableTrends | boolean | false | Trends section |
trendsMode | enum | discover | discover, hashtag, all |
hashtags | string[] | — | Specific tags (without #) |
hashtagFetchVideos | boolean | true | Videos under each hashtag |
hashtagMaxVideos | integer | 20 | Videos per hashtag |
discoverMaxHashtags / discoverMaxSounds | integer | 40 / 20 | Discover caps |
discoverHydrateDetails | boolean | true | Full hashtag stats on discover |
| Suggestions | |||
enableSuggestions | boolean | false | Search suggestions |
suggestionKeywords | string[] | — | Defaults to video keywords if empty |
suggestionsMaxResults | integer | 15 | Per keyword |
| Comments | |||
enableComments | boolean | false | Comment rows |
commentKeywords | string[] | — | Find videos by keyword, then load comments |
commentSearchMaxVideos | integer | 5 | Videos per comment keyword |
commentsMaxResults | integer | 30 | Comments per video |
commentMinDiggs | integer | 0 | Min likes on a comment (0 = off) |
commentVideoUrls / commentVideoIds | string[] | — | Explicit video targets |
commentsFromSearchResults | boolean | false | Also use videos from this run |
commentsFromSearchMaxVideos | integer | 10 | Cap for run-collected videos |
| Scrape by URL | |||
enableScrapeByUrl | boolean | false | Auto-detect URL type |
scrapeUrls | string[] | — | Video / profile / tag URLs |
| Output & delivery | |||
webhookUrl | string | — | Optional real-time POST per record |
webhookFormat | enum | json | json or slack |
includeRaw | boolean | false | Extended payloads |
Full schema: .actor/input_schema.json or the Input tab on Apify Console.
Output reference
Each dataset row is one record. Filter by featureType:
featureType | Description |
|---|---|
video | Unified video row (videoSource explains origin) |
account | Creator profile |
hashtag | Hashtag / trend tag |
sound | Trending or discover sound |
suggestion | Search suggestion phrase |
comment | Single comment |
Dataset views in Apify Console: Overview, Videos, Creators, Hashtags, Sounds, Comments.
Export: JSON, CSV, Excel, RSS, or API.
Streaming & memory
Records are pushed to the dataset as they are collected. The Actor does not hold the full run result set in RAM, so long runs stay stable. Control volume with the limits inside each feature section (videos per keyword, comments per video, etc.).
Webhook delivery
- Set
webhookUrlto your endpoint (HTTPS recommended). - Choose
webhookFormat: JSON (full record) or Slack (short message). - Each successful dataset write is also POSTed to your URL (best-effort — webhook failures never drop dataset data).
Quick start examples
Keyword videos (default-style)
{"enableVideoKeyword": true,"videoKeywords": ["cooking", "gym tips"],"videoMaxResults": 20,"videoKeywordFetchEngagement": true}
Search or discover creators by keyword
{"enableVideoKeyword": false,"enableAccounts": true,"accountMode": "keyword","accountKeywords": ["gordon ramsay"],"accountsPerKeyword": 10,"accountFetchRecentVideos": true,"accountRecentVideosMax": 5}
Trending hashtags & sounds
{"enableVideoKeyword": false,"enableTrends": true,"trendsMode": "discover","discoverMaxHashtags": 30,"discoverMaxSounds": 15}
Keyword videos + comments from this run + webhook
{"enableVideoKeyword": true,"videoKeywords": ["skincare"],"videoMaxResults": 10,"enableComments": true,"commentsFromSearchResults": true,"commentsFromSearchMaxVideos": 5,"commentsMaxResults": 20,"webhookUrl": "https://hooks.example.com/tiktok","webhookFormat": "json"}
Performance
- Connection routing is handled automatically by the Actor.
- Default memory: 1024 MB.
- Results stream to the dataset continuously; pair with webhooks for live pipelines.
Limitations & compliance
- Some surfaces (for example public comments) depend on what TikTok exposes without a user login; yield can vary by region and content type.
- Unofficial tool — not affiliated with TikTok. Use responsibly and comply with applicable laws and TikTok’s Terms of Service.
Contact & custom work
Need something beyond this Actor? I build custom scrapers, data pipelines, and full-stack web applications of any kind for startups and enterprises.
- Email: dubem115@gmail.com
- GitHub: github.com/DrunkCodes
Reach out for:
- Custom TikTok, Instagram, LinkedIn, Google Maps, or any site collection
- Lead-gen and enrichment systems
- Dashboards, internal tools, and production web apps
- AI agents and MCP-powered workflows wired to your data
License
ISC
TikTok Real-Time Data · by DrunkCodes