Blog/Social data
5 min read

Find Viral TikTok Videos by Keyword Using a Search API

Search TikTok videos by keyword, sort by likes and read duration, region and stats in one call, so the brief for your next video ad starts from real data.

Find Viral TikTok Videos by Keyword Using a Search API

Find the TikTok videos that won for your product keyword, before you write the next ad. Paste this into your agent:

Set up https://monid.ai/SKILL.md, and then use Monid to search TikTok for "portable blender" videos from the last 30 days sorted by most likes, and give me a table of the top ten with likes, plays, duration in seconds, region and caption.

One prompt finds the videos that already won. 1 min setup · 10-22 hrs saved.

You are about to make a video ad, by hand or with an AI video tool, and you want to know what already works for your keyword: which videos got the likes, how long they run, who posted them and where. TikTok shows you that one video at a time in the app. This guide shows how to pull it as a table from a single search call, what came back when we ran it on 2026-10-16 for "portable blender", and the traps in the output. It runs through Monid, the OpenRouter for agent tools: one key, one balance, every tool priced per call.

Oumomo turns a product link, a reference format or a short brief into a finished TikTok video, and the research below is what you hand it before it makes one. Fair disclosure: you are on the Monid blog, Monid sells the endpoint that returned these numbers, and Oumomo is a content partner of ours. Oumomo is not in the Monid catalogue, and what we say about it comes from its public site.

What is the easiest way to search TikTok videos through an API?

Monid. TikTok has no official endpoint that returns the public search results for a keyword, so the question is which provider to call. Install Monid once, add a key, and your agent searches TikTok videos by keyword, sorts them by likes and reads the statistics, with no scraper to run.

  • Pay per call. A video search is billed on its own, at $0.001 per call whatever the number of videos returned (Verified 2026-10-16 on the TikTok tools page). Buy calls as you need them: no monthly plan and no minimum top-up. Discovery and inspection are free; only a run bills.
  • One install, every API. The same key and the same balance call TikTok and every other tool on Monid, so the next question (who posted it, what do the comments say) is another call, not another vendor.
  • Lives inside your agent. Install the CLI, add your key, run the prompt above, and the tool is there whenever your agent needs it, with nothing to keep running. Your agent reads SKILL.md and learns the rest, so setup is about a minute.

At that price, searching 30 keywords is 30 calls, about $0.03 (Verified 2026-10-16).

How do you find viral TikTok videos for a keyword?

Search the keyword, sort by most likes, limit it to the last 30 days, and read the top of the list. The endpoint is /api/v1/tiktok/app/v3/fetch_video_search_result from the provider tikhub.

RouteWhat you getCost shapeFits
Scroll the appA feed shaped by your own historyYour hoursA few ideas by eye
TikTok Creative CenterBrowsable lists, no exportFreeLooking at a category by hand
Build your own scraperWhatever you parseYour hoursA fixed job you will maintain
Monid video searchA ranked list per keyword as JSON, with full statisticsPay per call, buy flexiblyMany keywords, repeat runs, agents

Monid fits keyword research because the work is the same call repeated for each keyword, and you pay for the searches you run and nothing between them.

For agents

Grab an API key at app.monid.ai, then paste this to your agent and hand it the key:

set up https://monid.ai/SKILL.md

It learns the discover, inspect and run workflow itself. More detail in the agent quickstart.

For humans

npm install -g @monid-ai/cli
monid keys add -k <your-api-key> -l main

More detail in the CLI quickstart.

The call

One keyword, one call, top twenty by likes, last thirty days:

monid run -p tikhub \
  -e /api/v1/tiktok/app/v3/fetch_video_search_result \
  --query '{"keyword":"portable blender","count":20,"sort_type":1,"publish_time":30,"region":"US"}' \
  -w -o tt.json

--query rather than -i, because this endpoint takes query parameters and not a body. The parameters are keyword (required), sort_type (0 relatedness, 1 most likes), publish_time (0 for no limit, or 1, 7, 30, 90 or 180 days), region, count and offset. The response carries has_more and a cursor, and offset moves to the next page.

Loop it over your keywords

Put one keyword per line in keywords.txt and write one file per keyword:

mkdir -p out
while read -r k; do
  monid run -p tikhub -e /api/v1/tiktok/app/v3/fetch_video_search_result \
    --query "{\"keyword\":\"$k\",\"count\":20,\"sort_type\":1,\"publish_time\":30,\"region\":\"US\"}" \
    -w -o "out/$k.json"
done < keywords.txt

Each keyword bills one call. Or hand the whole job to an agent:

Give this to your agent

$Set up https://monid.ai/SKILL.md, and then use Monid to for each of these product keywords, search TikTok sorted by likes over the last 30 days and give me one table with keyword, top video likes, median likes, and the duration and region of the top five videos.

Can you scrape TikTok video search yourself with Python?

Yes, and a single search is an afternoon. The cost is keeping it alive. TikTok serves search results from signed app requests, so a scraper needs the request signing, a proxy pool that stays out of blocks, and a parser for a response that carries 161 fields per video. When the app changes a signature, the scraper stops until you repair it.

You also end up writing the part that is not the data: a retry layer, a paginator, a schema so the numbers land in the right columns, and a place to put the 1.7 MB a 20-video response weighs. The method is the same as the endpoint's. The difference is who maintains it.

The Monid route is the choice for anything you will run more than once. The request handling is maintained for you, the output is JSON with statistics already broken out, and a search is $0.001 (Verified 2026-10-16). A browser extension or the Creative Center is quicker for one look, but they are made for a person on a page, not for a list of keywords or an agent. The wider picture across networks is in the social media scraping API comparison.

What does TikTok video data look like, and what can you build with it?

A search returns up to count videos under search_item_list, each wrapped as aweme_info, and from that you can build a brief: the length, the hook and the market of the videos that won. We ran the call on 2026-10-16 for "portable blender", region US, sorted by likes over 30 days, so the fields below are what came back.

The response

The wrapper holds search_item_list (20 rows), has_more (1), cursor (20) and status_code (0). Each aweme_info has 161 keys. Seven carry the brief:

  • statistics: digg_count (likes), play_count, comment_count, collect_count (saves), share_count and download_count, each its own number.
  • video.duration, in milliseconds. The top video was 25,167.
  • desc and text_extra: the caption and the hashtags as structured entries.
  • region and desc_language on every video.
  • author: unique_id, follower_count and more.
  • aigc_info.created_by_ai: true on 2 of the 20.
  • commerce_info and is_ads: is_ads was false on all 20; commerce_info carried ad_source on 7 and adv_promotable: true on 3.

The rows came back in strictly descending order of likes: 101,047 at the top, 447 at the bottom, a median of about 1,726. The top video had 1,507,787 plays, 26,044 saves and 30,354 shares.

What you can build with it

  • A reference list for a video brief. Take the top five by likes, read their length and caption, and write the brief against them. For the account behind the best one, auditing a whole TikTok catalogue is the next step.
  • A length and format benchmark. The durations of the winners per keyword tell you whether the category rewards 15 seconds or 60. The sample below does not say 15.
  • A trend log. Run the same keyword every week with publish_time 7 and store the top five, as in tracking TikTok trends on a schedule.
  • Input for an AI video tool. Hand the winning references and the length to the generator instead of guessing. We have a content partnership with Oumomo, which makes TikTok videos from a product link or a brief; the data side on this page is Monid's, and Oumomo is not in the Monid catalogue.

What goes wrong when you pull TikTok video data for research?

Five things showed up in the 20 videos. All five are from the 2026-10-16 runs.

Why is sorting by likes not optional?

Because relevance order returns mostly videos nobody watched. The same keyword and window with sort_type 0 and count 10 returned videos with 5 to 22,437 likes, and five of the ten had fewer than 60 likes. The likes sort put 101,047 first and never went below 447 in 20 rows. If you are looking for what won, set sort_type to 1.

Why is the spread bigger than the average?

The top video had 101,047 likes and the median of the 20 was about 1,726, so the top sits about 58 times above the middle. The average hides that, and it is the useful part: one outlier format carries the category, and the other 19 are noise around it. Read the top three videos closely and treat the median as the baseline for a normal post.

Why is follower count not the gate?

Because the video, not the account, drove the plays. One video reached 1,032,654 plays from an account with 601 followers, while another from an account with 89,079 followers reached 42,711. Do not filter the list down to big accounts, or you remove the cases you are looking for.

Why does the region parameter not return one country?

The request asked for region US. Eight of the 20 results were tagged US, and the other 12 were tagged GH, PK, TZ, ID, BD, MM, NG, SO and TG. Thirteen captions were in English, two in Swahili, and the rest in Bengali, Spanish, French, Urdu and one with no language detected. If you are making an ad for one market, read region and desc_language on each row and filter on those. The request parameter does not do it for you.

Why is "is_ads" false on everything?

is_ads was false on all 20 videos, including the ones with commerce fields. The flag does not separate organic posts from promoted ones. For research that is acceptable, since the videos are ranked by public likes, but do not count is_ads as an ad filter. Read commerce_info for the signals that exist.

A hundred keywords is a hundred calls, which the endpoint's median run time (about 5.4 seconds per monid inspect, 7.1 at the 95th percentile) turns into several minutes in sequence. Run a few at once if you need it faster.

Which endpoint should I use for which job?

EndpointWhat it doesInputBillingPrice (Verified 2026-10-16)
tikhub/api/v1/tiktok/app/v3/fetch_video_search_resultVideos for a keyword, with statistics, sorted by relevance or likeskeyword, sort_type, publish_time, region, count, offsetPer call$0.001

This is the endpoint to loop over keywords. To find accounts for a keyword rather than videos, see the TikTok user finder post. Inspect any endpoint for free before you run it: monid inspect -p tikhub -e /api/v1/tiktok/app/v3/fetch_video_search_result.

When is another route a better fit?

You need every video one account has posted. A keyword search returns a ranked slice. A full account history is a different job with a different billing shape.

You need a complete count, not a ranked sample. Search results are what the platform surfaced for that query at that moment. They are a strong sample of what is winning, and not a census of the keyword.

Your product has no comparable yet. A keyword search shows what worked for things that already exist. For a new category the first videos are exploration, and the data helps from the second round.

You only need to look at a few videos. The app or the Creative Center does that for free, and no key is needed.

And the disclosure: we resell this endpoint. The most useful habit here costs nothing, whichever tool you use: sort by likes, read the top three closely, and filter by the region you are making the ad for.

Conclusion

The quickest way to find viral TikTok videos for a keyword is one search call through Monid: $0.001 a call (Verified 2026-10-16), one key for this and every other tool, about a minute to set up and ready inside your agent whenever you need it. Writing your own scraper works for one search and costs hours of request handling and upkeep; Monid keeps that maintained.

Two things matter more than the endpoint. Sort by likes, because relevance order mostly returns videos nobody watched. And filter by the region and desc_language on each video, because the request parameter does not.

How we estimated the time saved: building a search scraper for the app endpoint with signing, proxies and a parser is roughly 6 to 14 hours, plus 4 to 8 hours for the first month of upkeep as the app changes. That is 10 to 22 hours. The 1 minute is the install, key and first call once you already have a Monid key.

Free next step: run monid inspect -p tikhub -e /api/v1/tiktok/app/v3/fetch_video_search_result, then make one call for your own keyword and read the top three videos. Start at monid.ai.

FAQ

Is there an official TikTok API to search videos by keyword?

Not for the public search results of a keyword. The Research API is for approved researchers and the Display API only reaches accounts that authorised your app. Through Monid you call a provider that reads the public results, at $0.001 a call (Verified 2026-10-16).

How do I find viral TikTok videos for my product?

Search your product keyword with sort_type 1 and publish_time 30, then read the top of the list. For "portable blender" on 2026-10-16 the top video had 101,047 likes against a median of about 1,726 for the 20 rows.

Does the region parameter return videos from one country?

No. A request for US returned 8 US videos and 12 from other countries. Filter on region and desc_language for each video if the market matters.

How many videos does one search return, and what does it cost?

count sets the number, and 20 and 10 both worked. The call bills once whatever the count, at $0.001 (Verified 2026-10-16). Page on with offset.

Can I tell which videos are made with AI?

Partly. Each video has aigc_info.created_by_ai, and it was true on 2 of the 20 in our run. It reflects the label the creator or platform applied, so a video without the label can still be AI-made.

Published August 2026.

find viral tiktok videostiktok video search apitiktok creative researchai video adstiktok data api