TikTok Search videos by keyword API
mentions lists the names written after @ in the caption as TikTok displays them, which can be a display name rather than the @handle.
TikTok video search results and videos (modes search, hashtag, userPosts, music)
| Field | What it is |
|---|---|
playCount |
Views |
likeCount |
Likes |
commentCount |
Comments |
shareCount |
Shares |
collectCount |
Times saved to favorites |
downloadCount |
Downloads, when shown |
description |
Caption of the video |
hashtags |
Hashtags of the video, without # |
createdAt |
Publish time, ISO 8601 UTC |
url |
Link to the video |
videoId |
TikTok video ID |
authorHandle |
Public @handle of the author, without @ |
authorName |
Display name of the author |
authorId |
Numeric TikTok ID of the author |
authorSecUid |
Secure user ID (secUid) of the author, used in TikTok profile links |
authorFollowerCount |
Followers of the author |
authorFollowingCount |
Accounts the author follows |
authorVerified |
True for a verified account |
authorBio |
Author's profile bio as published; null when empty |
authorAvatarUrl |
Link to the author's profile picture (temporary link; download soon after the run) |
authorRegion |
Country code TikTok attaches to the video, e.g. US |
musicTitle |
Title of the sound |
musicAuthor |
Author of the sound |
musicId |
ID of the sound |
musicOriginal |
True when the sound is the author's original sound |
durationSeconds |
Length of the video in seconds |
width, height |
Video width and height in pixels |
textLanguage |
Language code of the caption as detected by TikTok (en, es; un when unknown) |
mentions |
Names mentioned with @ in the caption (display text, no user IDs) |
isPinned |
True when the video is pinned to the top of the author's profile |
isSlideshow |
True for a photo slideshow post |
isPaidContent |
True for paid (subscriber-only) content |
isAd |
True when the video is an ad, when shown |
coverUrl |
Cover image link (temporary; download soon after the run) |
videoUrl |
Video file link (temporary; may be empty) |
type |
Record type: video |
keyword |
The keyword that found the video (search mode) |
hashtag |
The hashtag the video was read from (hashtag mode) |
sourceProfile |
The profile the video was read from (userPosts mode) |
sourceMusicId |
The sound the video was read from (music mode) |
mentions lists the names written after @ in the caption as TikTok displays them, which can be a display name rather than the @handle. isSlideshow is true for photo posts. Most fields TikTok does not send are null; lists such as hashtags and mentions are empty [], and isSlideshow and authorVerified are always true or false.
Search items carry keyword, hashtag items hashtag, profile items sourceProfile and sound items sourceMusicId. A video found by several keywords or hashtags in one run is delivered once.
The input that produced this run
Mode search. Parameters as sent, with what each one does.
| Parameter | Value | What it does |
|---|---|---|
mode | "search" | What to get: videos by keyword, hashtag, profile, sound, repost list, playlist, photo search or explore category; profiles by keyword or similar to a profile; sounds or places by keyword; the sounds a profile has made;... |
keywords | ["air fryer recipes"] | Search keywords; each keyword is a separate search (or a separate suggestion lookup). Falls back to a sample keyword when empty (skincare; love for soundSearch, cats for photoSearch, paris for placeSearch). soundSearch... |
sortType | "most-liked" | Order of the search results. Latest favours recent videos but is not strictly by date. If a keyword runs out before Max results, the rest comes from TikTok's general video results, most liked first; with a publish... |
publishTime | "month" | Only videos published in this period. |
maxResults | 10 | Maximum items for each keyword, hashtag, profile, sound, video or category (up to 1000). Video details, profile details and analytics return one record per input, so the limit rarely matters there. A search inside... |
38 fields in every video
From the first record of the run above. Identity fields of ordinary users are masked on this site.
| Field | Type | Example |
|---|---|---|
type | str | video |
videoId | str | 7701930637141314847 |
url | str | https://www.tiktok.com/@thezachchoi/video/770193063714131... |
description | str | #tiktokfood #asmr Air Fryer S'mores Cookies 🍫🍪 Ingredient... |
hashtags | list | ["tiktokfood", "asmr"] |
createdAt | str | 2026-10-29T15:30:00Z |
durationSeconds | float | 10.2 |
playCount | int | 2776645 |
likeCount | int | 293335 |
commentCount | int | 520 |
shareCount | int | 39375 |
collectCount | int | 60260 |
downloadCount | int | 3 |
authorHandle | str | <masked> |
authorName | str | <masked> |
authorFollowerCount | str | <masked> |
authorVerified | str | <masked> |
authorId | str | <masked> |
authorSecUid | str | <masked> |
authorAvatarUrl | str | <masked> |
authorBio | null | null |
authorRegion | str | <masked> |
musicTitle | str | original sound - thezachchoi |
musicAuthor | str | <masked> |
coverUrl | str | https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-00... |
videoUrl | str | https://v45.tiktokcdn-us.com/03f3c85ce65fc259a8c3f2f83698... |
textLanguage | str | en |
isPinned | bool | false |
isSlideshow | bool | false |
mentions | list | [] |
width | int | 720 |
height | int | 1280 |
musicId | str | 7701930716853979934 |
musicOriginal | bool | false |
authorFollowingCount | str | <masked> |
isPaidContent | null | null |
isAd | bool | false |
keyword | str | air fryer recipes |
A real run, 38 fields per record
Run on 2026-11-09 with input {"mode": "search", "keywords": ["air fryer recipes"], "sortType": "most-liked", "publishTime": "month", "maxResults": 10}. Personal fields of ordinary users are masked here.
| musicTitle | keyword | textLanguage | description | createdAt | durationSeconds |
|---|---|---|---|---|---|
| original sound - thezachchoi | air fryer recipes | en | #tiktokfood #asmr Air Fryer S'mores Cookies 🍫🍪 Ingredient... | 2026-10-29T15:30:00Z | 10.2 |
| Christmas song "Let's decorate" | air fryer recipes | en | 🎄 My Favorite Christmas Treat! ✨🍬 Air Fryer Caramelized A... | 2026-10-22T05:23:57Z | 62.1 |
| original sound - ayline.ea | air fryer recipes | en | Healthy Chicken Nuggets🍗 made with Rice Paper for snackin... | 2026-10-16T16:56:39Z | 23.4 |
| original sound - tfti.bbq | air fryer recipes | en | Crispy Air Fried Pork Belly Lechon 🇵🇭🔥 w/ a Sweet & Spicy... | 2026-10-19T14:24:58Z | 45.4 |
| A refreshing, fashionable and funky guitar song(1135075) | air fryer recipes | en | Finally figured out how to make air fryer fries better th... | 2026-11-03T21:01:54Z | 32.6 |
| original sound - ice.karimcooks | air fryer recipes | en | SAVE THIS ‼️ 20-minute Honey Garlic Chicken 😩 🧄 (recipe 👇... | 2026-10-14T23:38:01Z | 38.4 |
All 38 fields in one record
typevideovideoId7701930637141314847urlhttps://www.tiktok.com/@thezachchoi/video/770193063714131...description#tiktokfood #asmr Air Fryer S'mores Cookies 🍫🍪 Ingredient...hashtagscreatedAt2026-10-29T15:30:00ZdurationSeconds10.2playCount2776645likeCount293335commentCount520shareCount39375collectCount60260downloadCount3authorHandleauthorNameauthorFollowerCountauthorVerifiedauthorIdauthorSecUidauthorAvatarUrlauthorBioauthorRegionmusicTitleoriginal sound - thezachchoimusicAuthorcoverUrlhttps://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-00...videoUrlhttps://v45.tiktokcdn-us.com/03f3c85ce65fc259a8c3f2f83698...textLanguageenisPinnedisSlideshowmentionswidth720height1280musicId7701930716853979934musicOriginalauthorFollowingCountisPaidContentisAdkeywordair fryer recipes
What one video costs
Result (result) · $0.003 · For each video or profile-search record returned (search, hashtag, userPosts, userSearch, music, userReposts, userPlaylists, similarUsers, soundSearch, photoSearch, userSounds) and each videoAnalytics record.
Run this request yourself
The same input as above, three ways.