Tiktok Scraper
Pricing
from $1.96 / 1,000 search results
Tiktok Scraper
Search TikTok by keyword and export unique videos with creator profiles, engagement stats, music, hashtags and media URLs. Sort by relevance or likes, filter by date and region. Cross-keyword dedup, flat pay-per-result pricing, no login or cookies needed.
Pricing
from $1.96 / 1,000 search results
Rating
0.0
(0)
Developer
BatScrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
TikTok Search Scraper: Keyword Search with Creator & Engagement Data ๐ต
Search TikTok by keyword and export unique videos as clean JSON: creator profiles, engagement stats, music metadata, and media URLs included, with transparent flat per-result pricing. No TikTok account, no login, no cookies required. Perfect for trend research, competitor and brand tracking, hashtag monitoring, influencer discovery, and building structured datasets of short-form video content.
๐ฐ Price: $0.0005 flat per run + $0.00199/video (no separate query fee) ๐ Coverage: TikTok global keyword search โ English, emoji, brand names & keywords all work ๐ Data: Video description, creator profile, engagement stats, music metadata, and signed media URLs ๐ฏ Filters: Sort (relevance / most liked), publish-time window, region ๐ก๏ธ Flat Per-Result Pricing
Quick Navigation
- ๐งญ What Does This Actor Do?
- ๐ฌ Features and Functionality
- ๐ฐ Pricing: Transparent Event-Based Costs
- ๐ Who Needs This?
- ๐ต Input Parameters
- ๐ก Input Strategy Guide
- ๐ Example Requests
- ๐ฆ Output
- ๐งฉ Custom Map Function
- ๐ง Troubleshooting
- โ FAQ
- ๐ Contact
๐งญ What Does This Actor Do?
This actor searches TikTok by keyword and pushes results to your dataset as structured JSON โ no headless browser, no signing algorithm to maintain, no login wall to work around on your end. Give it one or more keywords and it queues exactly the searches needed, deduplicating across keywords and respecting your maxItems cap and pay-per-event budget as it goes.
๐ Keyword Search โ search as many keywords as you like in one run (English, brand names, product terms, emoji), each searched independently.
๐ฏ Sort & Filter โ relevance or most-liked sort, a publish-time window, and a region setting, so you get exactly the slice of results you are after.
๐ค Creator Data Included โ every result carries the posting creator's profile (username, nickname, follower count, verification status) at no extra charge โ no separate profile lookup needed.
๐ฌ Features and Functionality
| Feature | Description | Benefit |
|---|---|---|
| ๐ฐ Flat Per-Result Pricing | One price per unique video delivered, no separate query fee | Predictable cost โ no surprise per-page or per-query charges |
| ๐ Multi-Keyword Search | Search as many keywords as you like in one run | Broad coverage from a single actor run |
| ๐งน Cross-Keyword Dedup | A video surfaced by two different keywords is stored (and charged) once | Never pay twice for the same result |
| ๐ฏ Sort & Filter | Relevance or most-liked sort, publish-time window, region | Narrow results down without any extra cost |
| ๐ค Creator Data Included | Username, nickname, followers, verification on every result | No separate profile lookup needed |
| ๐ง Custom Map Function | JavaScript function to reshape or enrich output on the fly | Shape results to match your exact requirements |
| ๐ต Budget-Aware | Every result is checked against the run's charge budget before it is stored | A run stops cleanly instead of overspending |
๐ฐ Pricing: Transparent Event-Based Costs
Pay-per-event pricing โ no subscription, no hidden fees. A flat run fee, and one charge per unique video actually delivered.
Pricing Structure
| Event | Price (USD) | Charged For |
|---|---|---|
| ๐ Actor Start | $0.0005 | Once per run, regardless of input |
| ๐ Search Result | $0.00199 | Each unique TikTok video actually delivered |
How Pricing Works
Every run charges a flat $0.0005 Actor Start fee once, regardless of how many keywords or results you request, then $0.00199 per unique TikTok video actually stored in your dataset โ nothing else. A search that returns nothing costs nothing beyond the flat run fee, and the first 2 pages of results (~40 videos) per keyword are free of charge for paying users.
๐ต Real-World Pricing Examples
| Use Case | Configuration | Total Cost | Breakdown |
|---|---|---|---|
| Quick sample | 1 keyword, 10 results | $0.0204 | $0.0005 + (10 ร $0.00199) |
| Single keyword, default settings | 1 keyword, up to 100 results | $0.1995 | $0.0005 + (100 ร $0.00199) |
| Multi-keyword sweep | 5 keywords, up to 100 results each (~500 unique) | $0.9955 | $0.0005 + (500 ร $0.00199) |
| Large single-keyword pull | 1 keyword, up to 1,000 results | $1.9905 | $0.0005 + (1,000 ร $0.00199) |
Result counts vary keyword to keyword โ a narrow or low-volume keyword simply returns fewer unique results (and costs less) than a popular one; the rows above are illustrative at the volumes shown.
๐ Who Needs This?
- ๐ Social media marketers โ track trending TikTok content under any keyword or campaign term.
- ๐ท๏ธ Brands & competitors โ monitor how competitor keywords or branded hashtags perform across creators.
- ๐ Academic researchers โ build structured datasets of short-form video data for consumption pattern analysis.
- ๐ค Influencer agencies โ evaluate creator reach and engagement rates at scale before outreach.
- ๐ฐ Journalists & analysts โ cover social media trends with verifiable, structured data.
- ๐ E-commerce teams โ surface product-related user-generated content for campaigns and social proof.
๐ต Input Parameters
| Field | Description | Default |
|---|---|---|
keywords | Search keywords (one per line). Each keyword is searched independently; results are deduplicated across keywords so you never pay twice for the same video. Required (at least one). | โ |
maxItems | Maximum number of videos to collect across all keywords combined. Range: 1โ10,000. | 100 |
sortType | RELEVANCE (relevance) / MOST_LIKED (most liked). | RELEVANCE |
publishTime | ALL / ONE_DAY / ONE_WEEK / ONE_MONTH / THREE_MONTHS / HALF_YEAR. | ALL |
region | ISO 3166-1 alpha-2 country code to scope results (e.g. US, GB, DE). | US |
customMapFunction | (object) => object applied to every item. Must not be used for filtering. | (none) |
๐ก Input Strategy Guide
Just want a quick sample? Set maxItems to 10โ20 and run a single keyword โ a cheap, fast check that the actor and your keyword return what you expect. The first 2 pages (~40 results) per keyword are free for paying users, so a small test costs only the $0.0005 run fee.
Tracking a trend or campaign term? Use sortType: MOST_LIKED to surface the highest-engagement content, or publishTime: ONE_WEEK with sortType: RELEVANCE to focus on recently posted videos relevant to your keyword.
Researching several brands or competitors in one run? List every keyword up front. Cross-keyword dedup means an overlapping result is never charged twice, so batching keywords into one run costs the same as running them separately, minus the duplicates.
Need region-specific content? Set region to the relevant ISO country code (e.g. GB for the UK, DE for Germany). The default is US.
๐ Example Requests
Search one keyword for travel content, sorted by most liked:
{"keywords": ["travel"],"sortType": "MOST_LIKED","maxItems": 100}
Track a trend term's newest videos from the last week:
{"keywords": ["summer fashion"],"sortType": "RELEVANCE","publishTime": "ONE_WEEK","maxItems": 50}
Sweep several brand keywords in one run (cross-keyword dedup applies automatically):
{"keywords": ["nike", "adidas", "puma"],"sortType": "MOST_LIKED","publishTime": "ONE_MONTH","region": "US","maxItems": 500}
๐ฆ Output
One dataset item per unique TikTok video. A keyword that returns no matches simply contributes no items โ it is not stored as a placeholder row.
Example item (field values illustrative โ no real run output was captured; values are built from the output schema and field list):
{"id": "7318492016453829893","url": "https://www.tiktok.com/@adventureseeker/video/7318492016453829893","description": "Best hidden beaches in Southeast Asia ๐ #travel #beach #adventure","descriptionLanguage": "en","createTime": 1705420800,"createDate": "2024-01-16","awemeType": 0,"isAiGenerated": false,"region": null,"authorMeta": {"id": "6841234567890123456","secUid": "MS4wLjABAAAAโฆ","name": "adventureseeker","nickname": "Adventure Seeker","followerCount": 284500,"followingCount": 312,"heartCount": 0,"videoCount": 0,"verified": false,"avatar": "https://p16-sign.tiktokcdn-us.com/โฆ"},"videoMeta": {"width": 1080,"height": 1920,"ratio": "540p","duration": 42,"coverUrl": "https://p16-sign.tiktokcdn-us.com/โฆ","dynamicCoverUrl": "https://p16-sign.tiktokcdn-us.com/โฆ","playUrl": "https://v19-webapp.tiktok.com/โฆ"},"statistics": {"likeCount": 48200,"commentCount": 1340,"shareCount": 2870,"playCount": 612000,"collectCount": 5100},"musicMeta": {"id": "6978234567890123456","title": "Summer Vibes","author": "ChillBeats","playUrl": "https://sf16-ies-music.tiktokcdn.com/โฆ"},"hashtags": ["travel", "beach", "adventure"],"searchKeyword": "travel","inputKeyword": "travel"}
Non-obvious fields:
videoMeta.playUrlโ a CDN-signed URL that expires within approximately 24 hours. Fetch or download the video promptly after collecting results; the URL will not be valid indefinitely.regionโ scoped by theregioninput parameter, not the creator's country. This field is not reliably returned by the search endpoint and may benull.authorMeta.heartCount/authorMeta.videoCountโ these fields may return0for all items via the search endpoint; they are not reliably populated in search responses.authorMeta.nameโ the creator's@usernamehandle (used in the URL).authorMeta.nicknameis the display name shown in the TikTok UI.hashtagsโ a flat array of hashtag strings (without the#prefix) extracted from the video's challenge list.searchKeyword/inputKeywordโ the keyword that retrieved this video, stamped by the extractor for traceability.
See tests/schemas/video.schema.js for the validated shape.
๐งฉ Custom Map Function
A synchronous (object) => object function applied to every dataset item. Use it only to add or reshape fields:
(object) => {return {...object,isViral: (object.statistics?.likeCount || 0) > 50000,};};
Rules enforced by the actor (a violation is logged and the function is ignored โ the run never crashes):
- No filtering. Returning
null,{}or a non-object falls back to the original item. - No date-based logic. Sources containing
new Date,Date.nowor1970are rejected. - Synchronous only.
async/ generator functions and returned Promises are rejected.
๐ง Troubleshooting
โ Getting Few or No Results?
- โ
Check
maxItemsโ the run stops once this cap is reached - โ Check the charge budget โ a run that cannot afford another result stops cleanly rather than erroring
- โ Try a broader or more common keyword โ a very narrow keyword may simply have little content on TikTok
- โ
Confirm
keywordsis not empty โ at least one keyword is required - โ
Check your
publishTimesetting โ a very narrow window combined with a niche keyword can return zero results
๐ฐ Unexpected Costs?
Remember: every run charges a flat $0.0005 Actor Start fee once, no matter what you ask for. Beyond that, cost is purely $0.00199 ร unique videos delivered โ there is no separate per-keyword or per-page fee to budget for. The first 2 pages (~40 results) per keyword are free for paying users.
๐ก Want to Minimize Costs?
- โ
Set
maxItemsto only what you actually need - โ
Use
publishTimeto narrow results to the relevant window โ fewer pages to paginate means faster runs - โ Batch related keywords into one run โ cross-keyword dedup means overlaps are never charged twice
โ FAQ
Do I need a TikTok account or login to use this actor? No โ searches run through a backend service using only public data; no TikTok account, login, or cookies are required on your end.
Should I enter keywords with or without the # symbol?
Enter keywords without # (e.g. travel, not #travel). The search endpoint treats them as plain text search terms.
Is creator data included in the price? Yes, at no extra charge โ every result includes the creator's profile (username, nickname, follower count, verification status).
Does this actor download videos? No โ it returns each video's metadata and a signed play URL, but does not download or store video files itself. The play URL expires within approximately 24 hours, so fetch the file promptly if you need it.
What is included at no extra charge for paying users? The first 2 pages of results (~40 videos) per keyword per run are free. You only start paying the $0.00199/video rate from the third page onward.
Can I extract data from a specific country's TikTok feed?
Yes โ set the region field to an ISO 3166-1 alpha-2 country code (e.g. GB, DE, JP) to scope search results to that region.
๐ Contact
Reach out to the maintainers directly for support.
- โ๏ธ Email: batscrape@gmail.com
- ๐ฌ Discord: discord.com/invite/ZRANXwhWU
- ๐ฆ X (Twitter): x.com/batscrape
- ๐ Apify: apify.com/batscrape