TikTok Search API: Video Search by Keyword
Pricing
from $0.17 / 1,000 results
TikTok Search API: Video Search by Keyword
TikTok search scraper and API: find TikTok videos by keyword, no login or cookies. Export views, likes, comments, shares, saves, caption, hashtags, music, upload date and video URL, plus creator followers and engagement stats. Sort by relevance, newest or most viewed and filter by date posted.
Pricing
from $0.17 / 1,000 results
Rating
5.0
(1)
Developer
DeepMine
Maintained by CommunityActor stats
1
Bookmarked
124
Total users
46
Monthly active users
4 days ago
Last modified
Categories
Share
Search TikTok videos by keyword and get each video's views, likes, comments, shares, saves, caption, hashtags, music, upload date and video URL, plus the creator's followers. It searches logged out: no TikTok account, cookies or proxy setup needed.
$0.25 per 1,000 videos on the Free and Starter plans ($0.21 Scale, $0.17 Business), with no start fee. The prefilled run (street food + cosplay, 50 each, 100 videos) costs about $0.025.
Real rows from one street food search:
Creator (author) | Caption (desc, shortened) | Views (plays) | Likes | Comments | Shares | Creator followers | Posted (createdAt) |
|---|---|---|---|---|---|---|---|
| @streetfoodiee | #streetfood #jajananstreetfood β¦ | 25.7M | 466.7K | 7,538 | 20.1K | 512.7K | 2024-04-08 |
| @hughabroad | $0.70 burger π #hughabroad #streetfood | 4.6M | 139K | 1,054 | 4,512 | 1.6M | 2025-11-05 |
| @juderusga | $30 street bread! #mexicoπ²π½ #mexicocity β¦ | 886.8K | 101.3K | 718 | 1,499 | 530.7K | 2026-04-14 |
| @dereats | Found a local street stall in China selling a $4 sirloin spaghetti set β¦ | 121.7K | 5,725 | 55 | 412 | 2,671 | 2026-07-15 |
Data returned
For every video matching your search keywords:
| Field | Description |
|---|---|
url | Direct link to the TikTok video |
desc | Full caption / description |
shortDesc | Caption cut to 120 characters, for tables |
createdAt | Upload date (ISO 8601) |
cover | Thumbnail image URL |
dynamicCover | Animated thumbnail URL |
videoUrl | Playable video URL |
duration | Video length in seconds |
authorId | Creator's TikTok user ID |
author | Username (@handle) |
nickname | Display name |
verified | Verified account status |
avatar | Profile picture URL |
followers | Follower count |
following | Following count |
videoCount | Total videos published |
authorLikes | Total likes across the creator's videos |
plays | View count |
likes | Like count |
comments | Comment count |
shares | Share count |
bookmarks | Save/bookmark count |
hashtags | Array of hashtag strings |
musicTitle | Background track name |
musicAuthor | Music creator |
musicUrl | Music playback URL |
keyword | Search keyword that matched this video |
matchedKeywords | Every keyword in the run that found this video (one row and one charge per video) |
id | TikTok video ID |
embedUrl | Embeddable player URL |
Input
{"keywords": ["street food", "gym motivation"],"maxVideosPerKeyword": 100,"maxVideosTotal": 1000,"sortOrder": "mostViews","datePosted": "thisMonth"}
| Parameter | Type | Default | Description |
|---|---|---|---|
keywords | string[] | β | One or more search terms. Required. |
maxVideosPerKeyword | integer | 100 | Cap per keyword β set as high as you need |
maxVideosTotal | integer | 1000 | Hard cap across all keywords combined |
sortOrder | string | relevance | relevance keeps TikTok's order; mostRecent and mostViews re-sort the collected videos |
datePosted | string | allTime | allTime, today, thisWeek, thisMonth, 3months, 6months (applied to the collected videos, so a narrow window can return fewer than your max) |
includePhotoPosts | boolean | false | Include photo carousel posts alongside videos |
Output example
{"keyword": "street food","matchedKeywords": ["street food"],"id": "7566677026967538966","url": "https://www.tiktok.com/@hughabroad/video/7566677026967538966","desc": "$0.70 burger π #hughabroad #streetfood","createdAt": "2025-11-05T23:00:00Z","duration": 86,"author": "hughabroad","nickname": "Hugh Abroad","verified": false,"followers": 1600000,"videoCount": 911,"authorLikes": 79600000,"plays": 4600000,"likes": 139000,"comments": 1054,"shares": 4512,"bookmarks": 7757,"hashtags": ["streetfood"],"musicTitle": "original sound - Hugh Abroad"}
Shortened: the real record also has shortDesc, cover, dynamicCover, videoUrl, authorId, avatar, following, musicAuthor, musicUrl and embedUrl.
Use cases
Content research β see what's working in any niche, filtered by date or sorted by views.
Influencer discovery β search by topic and filter by engagement metrics and follower counts to find creators worth reaching out to.
Competitor monitoring β track what videos are being published in your space, who's gaining traction, and how audiences are responding.
Market research β watch how many videos, views and comments a brand, product or category gets over time.
Social listening β track keywords, hashtags, and topics across TikTok at scale.
Dataset building β collect labeled TikTok video data for machine learning, classification, or analysis projects.
Trend detection β pull recent videos on a keyword and watch engagement patterns to catch rising topics early.
Related Actors
- The same keywords on Threads: Threads Search Scraper returns the Threads posts that match a keyword or hashtag, with likes, replies and dates.
- Comments under the videos you found: pass the
videoUrlfields to TikTok Comments API. - What is said in the videos: TikTok Transcript API returns the transcript from TikTok's own captions.
Pricing
$0.25 per 1,000 videos on the Free and Starter plans, $0.21 on Scale and $0.17 on Business, with no start fee. You pay only for videos saved to the dataset, and a video found by several keywords is charged once.
FAQ
Is there an official TikTok search API? TikTok's official Research API includes video search, but only for approved academic researchers. This Actor gives you the public search results TikTok's website shows, as structured data, with no application or approval.
Does it require a TikTok account or login? No. It searches TikTok logged out and never asks for your cookies or credentials.
Does it require a proxy? No proxy configuration is required from you.
How many results can I get per keyword?
It depends on how many results TikTok returns for that search term. The Actor paginates automatically until TikTok has no more results or your limit is reached. In our 2026-09-26 test with a cap of 150 per keyword, street food returned all 150 and cosplay returned 135.
Can I search multiple keywords at once?
Yes β pass an array and every keyword is searched in one run, with all results combined into a single dataset. A video found under several keywords is one row and one charge: keyword is the first keyword that found it and matchedKeywords lists every keyword that did.
Can I filter by date or sort by views?
Yes. Use datePosted to keep recent videos (today, this week, this month, 3 months, 6 months) and sortOrder to sort by most recent or most viewed. Both apply to the videos collected for your keyword.
How fresh are the results? Results come directly from TikTok's live search index β the same videos you'd see searching on TikTok.com at that moment.
Are the counts exact?
They're whole numbers exactly as TikTok returns them. TikTok itself rounds large counts, so views and followers often look like 25700000.
What regions does it cover? Defaults to US region results. TikTok's search index includes global public content.
Is the data ready to use without further processing? Yes. Every field is typed β integers are integers, dates are ISO 8601 strings, booleans are booleans. Drop it straight into a spreadsheet, database, or downstream API.
How do I leave feedback? If the data helped, a short review on the Actor's Store page helps other buyers find it. Found a problem? Open an issue on the Issues tab and we'll fix it.
Calling it via API?
Use deepmine/tiktok-search-api (was sentry/tiktok-search-api before September 3, 2026), or the Actor ID 1SpIR6vF0cL8oUfaU, which never changed.