VOOZH about

URL: https://apify.com/paul_44/tiktok-search

⇱ TikTok Search Scraper - Keyword & Hashtag Video Extractor Β· Apify


Pricing

from $0.90 / 1,000 video results

Go to Apify Store

TikTok Search Scraper

Scrape TikTok videos by keyword. Extract title, views, likes, author, hashtags, play URLs, thumbnails. Supports date range, region, sort order, min views/duration filters, strict keyword matching (Korean NFKC), residential proxy, and session caching.

Pricing

from $0.90 / 1,000 video results

Rating

5.0

(1)

Developer

πŸ‘ paul_44

paul_44

Maintained by Community

Actor stats

0

Bookmarked

87

Total users

51

Monthly active users

a month ago

Last modified

Share

TikTok Search Scraper extracts structured video data from TikTok search results by keyword β€” including views, likes, comments, shares, hashtags, author info, upload date, thumbnails, and playable preview URLs. Run a single keyword or a batch of hundreds; filter by date, region, view count, or minimum duration; and get clean JSON ready for analytics, dashboards, or content research.

What does TikTok Search Scraper do?

Given one or more search keywords, this Actor calls TikTok's search API through a residential proxy and returns every video it can collect, up to your chosen maxItems. Results come back as a flat dataset where each row is one video with consistent field names, so you can plug the output straight into BigQuery, Postgres, Google Sheets, Zapier, Make, n8n β€” anywhere Apify integrates.

It is a drop-in replacement for manually browsing tiktok.com/search and is built for teams that need:

  • Marketing research β€” tracking trending content in specific niches
  • Brand monitoring β€” who is posting about your product / keyword
  • Influencer discovery β€” surfacing creators by region and engagement
  • Competitive analysis β€” hashtag velocity, view distribution, top posts
  • Content intelligence β€” feeding AI pipelines with TikTok context

What data can TikTok Search Scraper extract?

For every video returned, you get:

  • Identifiers β€” id, canonical TikTok URL, embed URL
  • Content β€” title (first line of description), full hashtags, uploadedAt (Unix seconds)
  • Engagement stats β€” views, likes, comments, shares
  • Author / channel β€” username, display name, profile url, followers, avatar
  • Video metadata β€” duration, direct videoUrl, HLS preview, play URL candidates
  • Media β€” stable thumbnail URL and optional stable preview for in-Console playback
  • Keyword relevance β€” keywordRelevance (high / none) and keywordMatchedIn list so you can post-filter fuzzy TikTok matches

See the Output section for a complete JSON sample.

How do I use TikTok Search Scraper to scrape TikTok?

  1. Click Try for free at the top of this page and sign in to Apify (free account works).
  2. Open the Input tab on the Actor run page.
  3. Enter one or more keywords in the keywords list β€” one search is run per keyword.
  4. (Optional) Choose Upload date, Sort by, Region, Min views, or Min duration to narrow the results.
  5. (Optional) Toggle Strict keyword match to drop TikTok's fuzzy unrelated results.
  6. Click Start. The run takes roughly 10–30 seconds per 50 videos depending on keyword popularity and region.
  7. When the run finishes, open the Storage β†’ Dataset tab to preview results, or export as JSON / CSV / Excel / HTML.

You can also call the Actor via API, schedule it from Apify Console, or chain it into an Apify workflow.

How much does it cost to scrape TikTok?

Pricing is from $0.60 per 1,000 video results on Apify Store. You only pay for successful results β€” failed runs are free. New Apify accounts include free monthly platform credits.

Input

Configure the run via the Input tab in Apify Console or pass JSON via API.

FieldTypeDefaultDescription
keywordsstring[]β€”Search keywords. One search per keyword.
keywordstringβ€”Single-keyword fallback when keywords is empty.
maxItemsinteger50Max results per keyword (1–1000).
dateRangestringallall, today, yesterday, 7days, 1month, 3months, 6months.
sortTypestringRELEVANCERELEVANCE, MOST_LIKED, or LATEST.
locationstringUSISO 3166-1 alpha-2 country code (US, KR, JP, GB, DE, …).
minPlayCountinteger0Exclude videos below this view count.
minDurationSecnumber0Exclude videos shorter than N seconds.
strictKeywordMatchbooleanfalseWhen OFF: all results returned with keywordRelevance tag. When ON: drops videos where keyword does not appear in title / description / hashtags / author.
mirrorVideosbooleantrueStore preview clips in Apify KV Store for stable Console playback.
includeSearchKeywordsbooleanfalseAdds searchKeyword field to each result.
maxConcurrentKeywordsinteger1Run N keyword searches in parallel (1–16).
proxyConfigurationobjectApify RESIDENTIALApify proxy group / country.

Input example

{
"keywords":["BTS","BLACKPINK","aespa"],
"maxItems":100,
"dateRange":"7days",
"sortType":"MOST_LIKED",
"location":"KR",
"minPlayCount":10000,
"strictKeywordMatch":true
}

Output

Results land in the default dataset with one JSON object per video. Sample row:

{
"id":"7628238301794766101",
"title":"HBD to meeeee #aespa #KARINA #μΉ΄λ¦¬λ‚˜",
"views":1250000,
"likes":98000,
"comments":3200,
"shares":1500,
"hashtags":["aespa","KARINA","μΉ΄λ¦¬λ‚˜"],
"uploadedAt":1713200000,
"channel":{
"username":"karina.aespa",
"name":"KARINA",
"url":"https://www.tiktok.com/@karina.aespa",
"followers":5200000,
"avatar":"https://p16-sign.tiktokcdn-us.com/..."
},
"video":{
"duration":15,
"url":"https://v16-webapp.tiktok.com/...",
"thumbnail":"https://p16-sign.tiktokcdn-us.com/...",
"cover":"https://p16-sign.tiktokcdn-us.com/..."
},
"url":"https://www.tiktok.com/@karina.aespa/video/7628238301794766101",
"videoUrl":"https://v16-webapp.tiktok.com/...",
"downloadUrl":"https://v16-webapp.tiktok.com/...",
"thumbnail":"https://p16-sign.tiktokcdn-us.com/...",
"tiktokEmbedUrl":"https://www.tiktok.com/embed/v2/7628238301794766101",
"keywordRelevance":"high",
"keywordMatchedIn":["desc","hashtags"]
}

A full field reference lives in .actor/dataset_schema.json and is rendered as the Overview tab on the dataset page in Apify Console.

Usage via API

curl-X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_TOKEN"\
-H"Content-Type: application/json"\
-d'{
"keywords": ["BTS", "BLACKPINK"],
"maxItems": 50,
"dateRange": "7days",
"sortType": "MOST_LIKED",
"location": "KR"
}'

Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("YOUR_ACTOR_ID").call(run_input={
"keywords":["BTS"],
"maxItems":50,
"dateRange":"7days",
"sortType":"MOST_LIKED",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["views"])

JavaScript (apify-client)

import{ ApifyClient }from'apify-client';
const client =newApifyClient({token:'YOUR_TOKEN'});
const run =await client.actor('YOUR_ACTOR_ID').call({
keywords:['BTS'],
maxItems:50,
dateRange:'7days',
sortType:'MOST_LIKED',
});
const{ items }=await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item=> console.log(item.title, item.views));

FAQ

Is scraping TikTok legal?

Scraping publicly available data is generally permitted, but you are responsible for complying with TikTok's Terms of Service and applicable law (GDPR, CCPA, local data-protection rules). Do not use this Actor to collect personal data without a lawful basis, and avoid redistributing downloaded video files without the creator's permission.

Why does a keyword sometimes return fewer results than maxItems?

TikTok's search API stops returning items once it decides it has shown you "enough" matches, especially for niche or very new keywords. The Actor will collect as many as TikTok serves and then stop β€” it never fabricates rows.

Why do some videoUrl / downloadUrl links stop working after a few hours?

TikTok URLs expire after a short period. For persistent playback use the previewVideoUrl field (enabled by mirrorVideos=true, default ON) β€” it stays stable.

What is keywordRelevance for?

TikTok's search is intentionally fuzzy and often mixes in unrelated videos. Every result is tagged high (keyword found in title / description / hashtags / author) or none (fuzzy match). Leave strictKeywordMatch off to inspect both; turn it on to drop none rows at scrape time.

Does this Actor support @username / video URL input?

No β€” this Actor is keyword-search only. Profile and single-video extraction are outside its scope.

Can I run this Actor on a schedule?

Yes. Use Schedules in Apify Console to trigger runs at any cron interval and forward the dataset to a webhook, spreadsheet, or database.

Which URL should I use to embed a video preview on my site?

Use the tiktokEmbedUrl field. It points to TikTok's /embed/v2/ endpoint, which is the most permissive embed URL TikTok offers and works across the widest range of videos. Avoid TikTok's newer /player/v1/ endpoint β€” it rejects (HTTP 403) certain older videos or videos whose uploader tightened embed settings, even though the same videos play fine in /embed/v2/.

Limitations and disclaimers

  • This Actor is not affiliated with or endorsed by TikTok.
  • Expect occasional missing fields when TikTok omits them for a given video (null-safe in the schema).
  • Video download URLs are time-limited β€” re-scrape when needed.
  • Result ordering depends on TikTok's algorithm and varies by region and time.

Support

Found a bug or have a feature request? Open an issue on the Actor's issue tracker, or contact the maintainer via Apify Console's Submit feedback button at the top of the Actor page. Include a run ID and the input JSON so issues can be reproduced quickly.

You might also like

TikTok Keyword Search Scraper

sociavault/tiktok-keyword-search-scraper

Search TikTok videos by keyword with advanced filtering options, including date posted, sort order, region targeting, and automatic pagination support. Perfect for content research, trend analysis, and competitive intelligence.

488

3.1

TikTok Scraper

rupom888/tiktok-scraper-js

Scrape TikTok videos, user profiles, hashtags, and comments. Search by keyword, hashtag, or username. Extracts views, likes, shares, comments, author stats, music, and more.

TikTok Scraper - Search Videos, Users & Hashtags

thirdwatch/tiktok-scraper

Scrape TikTok videos by keyword, username, or hashtag. Extracts video details, engagement stats, author info, music, and hashtags. No login required. Uses TikTok's internal APIs with residential proxy.

Tiktok Scraper

therealdude/tiktok-scraper

Scrape TikTok videos by URL, profile, hashtag or search. Extract metadata, stats, author info. Download with or without watermark. Filter by date, likes, views.

TikTok Hashtag Scraper - Scrape Videos by Tag

logiover/tiktok-hashtag-video-scraper

Scrape TikTok by hashtag or keyword, no API key. Export TikTok video data to CSV/JSON with views, likes, sound & author. A TikTok unofficial API.

🎡 TikTok Scraper - Videos, Profiles & Engagement Data

nourishing_courier/tiktok-scraper

Scrape TikTok profiles, hashtags, search results, and video URLs. Extract video metadata, play counts, likes, shares, comments, author info, music data, and hashtags. Export to JSON, CSV, Excel, or XML. Supports date filtering, engagement filters, proxy rotation, and anti-detection.

πŸ‘ User avatar

Ani BjΓΆrkstrΓΆm

89

Tiktok Search Scraper

api-empire/tiktok-search-scraper

πŸ”Ž TikTok Search Scraper pulls real-time search resultsβ€”videos, profiles, captions, hashtags, URLs, views, likes & timestamps. πŸ“Š Ideal for trend tracking, keyword research, competitor analysis & influencer discovery. Export to CSV/JSON. πŸš€

TikTok Scraper

badrnaseem/tiktok-scraper

Extract detailed public metadata from TikTok videos β€” likes, views, comments, shares, bookmarks, author info, hashtags, music, description, and more β€” using one or multiple video URLs.

πŸ‘ User avatar

Badruddeen Naseem

3

TikTok Post Scraper

sophisticated_zythum/tiktok-scraper

Extract TikTok posts by keyword, hashtag, or profile. Get views, likes, comments, video URLs, hashtags, and creator data. No login required. Pay only for results delivered.

3

Tiktok Keyword Videos Urls Scraper

sasky/tiktok-keyword-videos-urls-scraper

Scrapes Tiktok videos URLs related to a given keyword

Abdulrahman

54