TikTok Search Scraper: Keywords, Hashtags & Creators (Fast) avatar

TikTok Search Scraper: Keywords, Hashtags & Creators (Fast)

Pricing

from $5.00 / 1,000 extracted tiktok video + creator lead records

Go to Apify Store
TikTok Search Scraper: Keywords, Hashtags & Creators (Fast)

TikTok Search Scraper: Keywords, Hashtags & Creators (Fast)

Scrape TikTok search results by keyword or hashtag and discover creators in 256MB RAM. Extracts views, likes, comments, shares, bookmarks, channel stats, music, subtitles, full transcripts, and direct video URLs. No login or proxy required. API & MCP ready.

Pricing

from $5.00 / 1,000 extracted tiktok video + creator lead records

Rating

0.0

(0)

Developer

H H

H H

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

TikTok Search Scraper: Keywords, Hashtags, Creators & Spoken Transcripts (256MB Zero-Proxy)

TikTok Search Scraper (church_of_loujess/tiktok-search-scraper) is a high-speed, 256MB RAM, zero-proxy TikTok search API alternative built for influencer marketing teams, social listening pipelines, researchers, and AI/MCP agents.

Enter a list of search keywords or hashtags and receive structured TikTok video posts — including views, likes, comments, shares, bookmarks, creator/channel stats, sound/music metadata, subtitle tracks, decoded spoken transcripts (transcriptText), virality metrics (analytics), optional comment threads (commentList), and creator profiles (authorProfile) — in seconds.


Why Choose This TikTok Search Scraper?

FeatureLegacy / Competitor TikTok Search ScrapersThis Actor (church_of_loujess/tiktok-search-scraper)
Free-Plan RestrictionsArtificially capped at 10 results/run & 5 runs/monthZero artificial caps — use your full Apify credits freely
Expansion Pools (suggest, hashtag, music)Locked behind paid Apify tiersIncluded for all users at no extra gate
Comments (commentList) & Profiles (authorProfile)Charged as separate per-comment / per-profile add-on eventsIncluded — toggle on anytime without extra add-on event charges
Spoken Video Transcripts (transcriptText)Raw expiring CDN .vtt links onlyAutomatically downloads & decodes WebVTT into clean plain text for LLMs/RAG
Memory Footprint1,024 MB – 4,096 MB256 MB RAM (1/16th the compute cost)
Schema CompatibilityStandard TikTok scraper JSON100% drop-in compatible (views, likes, channel.*, video.*, song.*, subtitleInformation)

What Data Does TikTok Search Scraper Extract?

One structured dataset item per video, 100% compatible with existing TikTok scraper pipelines plus RAG/lead enrichment:

  • Engagement: views, likes, comments, shares, bookmarks
  • Post Metadata: id, title (full caption), hashtags, uploadedAt (Unix timestamp), uploadedAtFormatted (ISO-8601), postPage (permanent URL)
  • Creator / Channel (channel): id, name, username, avatar, verified, url, followers, following, videos, likes
  • Video Stream (video): width, height, ratio, duration, url (direct MP4 stream URL), cover, thumbnail
  • Sound / Music (song): id (number), musicId (exact 19-digit string ID), title, artist, album, duration, cover
  • Subtitles & Spoken Transcript:
    • subtitleInformation: Array of caption tracks (caption_format, caption_length, lang, language_code, is_auto_generated, url, url_list, version)
    • transcriptText: Clean, timestamp-stripped spoken transcript text decoded directly from the WebVTT track (when includeTranscriptText: true)
  • Virality & Creator Lead Analytics (analytics):
    • engagementRatePct: ((likes + comments + shares + bookmarks) / views) * 100
    • viralityViewsToFollowersRatio: views / followers (identifies breakout viral posts from emerging creators)
    • isAiGenerated: Boolean flag for TikTok AIGC-labeled content
    • extractedEmails: Business emails extracted from captions or creator bios
  • Opt-In Enrichment (No Extra Add-On Event Fees):
    • commentList (when commentsPerPost > 0): Top comments with author details, likes, language, pinned status, and nested replies (maxRepliesPerComment)
    • authorProfile (when includeAuthorProfile: true): Full creator profile (signature bio, bioLink, createTime, language, friends, isOrganization, ttSeller, commerceUser, commerceCategory, secUid, roomId)

Expansion Mode & 10x Creator Discovery (expansion)

Set expansion to harvest additional discovery pools seeded automatically from each keyword's search results:

  • suggest — Harvests search suggestions related to your keyword and runs each suggestion through TikTok search (expansion_source: "suggest").
  • hashtag — Crawls the keyword's primary hashtag feed plus the top 5 co-occurring hashtags discovered in the search results (expansion_source: "hashtag").
  • music — Crawls the feeds of the top 5 sounds used in the search results, filtered by relevanceThreshold (expansion_source: "music").

Combine "expansion": ["suggest", "hashtag", "music"] with "uniqueAuthors": true to emit one video per unique creator (channel.id) for large-scale influencer discovery.


Output Example

{
"inputSource": "artificial intelligence",
"id": "7400028062320020768",
"title": "Humanity's smartest invention might also be its last. Superintelligent AI could be our dream come true... #kurzgesagt #sciencetok #ai #artificialintelligence",
"views": 122700,
"likes": 10000,
"comments": 134,
"shares": 221,
"bookmarks": 776,
"hashtags": ["kurzgesagt", "sciencetok", "ai", "artificialintelligence"],
"channel": {
"id": "6807723105163871238",
"name": "Kurzgesagt - In A Nutshell",
"username": "kurz_gesagt",
"avatar": "https://p16-common-sign.tiktokcdn-eu.com/...",
"verified": true,
"url": "https://www.tiktok.com/@kurz_gesagt",
"followers": 2000000,
"following": 42,
"videos": 506,
"likes": 30000000
},
"collabInfo": null,
"uploadedAt": 1722953306,
"uploadedAtFormatted": "2024-08-06T14:08:26.000Z",
"video": {
"width": 576,
"height": 1024,
"ratio": "540p",
"duration": 56,
"url": "https://v16-webapp-prime.tiktok.com/...",
"cover": "https://p16-common-sign.tiktokcdn-eu.com/...",
"thumbnail": "https://p16-common-sign.tiktokcdn-eu.com/..."
},
"song": {
"id": 7400028146168319000,
"musicId": "7400028146168318752",
"title": "original sound",
"artist": "Kurzgesagt - In A Nutshell",
"album": null,
"duration": 56,
"cover": "https://p16-common-sign.tiktokcdn-eu.com/..."
},
"subtitleInformation": [
{
"caption_format": "webvtt",
"caption_length": 1802,
"lang": "eng-US",
"language_code": "eng",
"is_auto_generated": true,
"url": "https://v16-webapp.tiktokcdn-eu.com/...",
"url_list": ["https://v16-webapp.tiktokcdn-eu.com/..."],
"version": "1:big_caption"
}
],
"transcriptText": "Humanity's smartest invention might also be its last. Superintelligent AI could be our dream come true or our worst nightmare...",
"postPage": "https://www.tiktok.com/@kurz_gesagt/video/7400028062320020768",
"poi": null,
"keyword": "artificial intelligence",
"analytics": {
"engagementRatePct": 9.07,
"viralityViewsToFollowersRatio": 0.06,
"isAiGenerated": false,
"extractedEmails": []
}
}

Usage via Python, JavaScript & MCP

Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("church_of_loujess/tiktok-search-scraper").call(
run_input={
"keywords": ["ai tools", "skincare routine"],
"maxItems": 50,
"sortType": "MOST_LIKED",
"includeTranscriptText": True,
"commentsPerPost": 10,
"includeAuthorProfile": True,
},
memory_mbytes=256,
)
items = client.dataset(run["defaultDatasetId"]).list_items().items

Claude Desktop / Cursor MCP Server

{
"mcpServers": {
"apify": {
"command": "npx",
"args": [
"-y",
"@apify/actors-mcp-server",
"--actors",
"church_of_loujess/tiktok-search-scraper"
],
"env": {
"APIFY_TOKEN": "YOUR_APIFY_TOKEN"
}
}
}
}