tiktok-search
TikTok videos for a keyword search, one row per video: its text and hashtags, when it was posted, the author, plays, likes, comments, shares and saves, length, cover and sound. query is the search words; limit how many videos (default 20, at most 100). Our own search finds the videos on tiktok.com, in its order, and reads each one: about 2 to 5 s for 20; a video TikTok does not show in time keeps the search's text and has no counts. When it finds fewer than half of limit, a second source adds the rest (15 to 40 s; above 20 videos a slower one, 2 to 5 minutes: run it as a job).
Recipes are not open yet.
What this recipe returned on its last run. No key needed to look.
Fields
10 columns on every row. null means the site does not state it.| field | type | meaning |
|---|---|---|
| post_id | string | TikTok's id of the video (digits, as a string). |
| url | string | The video's page, https://www.tiktok.com/@<handle>/video/<id>. |
| description | string | The video's text; the source sometimes leaves the hashtags out of it (they are in hashtags); null when it has none. |
| hashtags | string[] | The video's hashtags, without the #, in order, each once. |
| created_at | string | When it was posted, ISO 8601 UTC (2026-09-23T17:02:20Z). |
| author | object | {username, name, followers}: username is the handle without @, name the display name, followers an integer. |
| stats | object | {plays, likes, comments, shares, saves}, integers, as TikTok counts them (large counts are rounded by TikTok: 4500000). |
| duration_s | number | The video's length in seconds. |
| cover | string | The cover image URL; it is signed by TikTok and stops working after some hours. |
| music | object | The sound, {title, author, original}: original is true for a sound made for this video. |
null means the site does not state it.
hashtags); null when it has none.How it behaves
Cost. 1 unit per page; records for the rest. A failed run costs 0.
Freshness 30 min. The same input within 30 min is served from cache at 0 units.
How it answers. Answers at once for one input; a large run goes as a job you poll.
Questions about this recipeQuestions
Short answers. The API reference has the long ones.
Call POST /recipes/tiktok-search with your key and query and limit. You get rows with the 10 fields above. The recipe is tested against the live site every 6 hours.
1 unit per page; records for the rest. A failed run costs 0. The same input within 30 min costs 0.
Yes. Sign up with Google, GitHub or email for a free key with 1,000 credits every month. No credit card.
The health check runs every 6 hours against the live site. A failing recipe shows as failing on this page until we fix it.
Extra fields, higher volume, or a private copy with a freshness SLA. We build it on Enterprise.
Request a changeMore for market research
All 9 recipes →The products on an Amazon search results page: ASIN, title, price, star rating, review count, the product's link, image, and whether the…
Headlines for a query from Google News: title, the publishing source, Google's link to the article, time and a short summary.
The places Google Maps lists for a search, in Google's order, one row per place: name, place id and cid, category, address, map point…
For developers
Get a free API key and run your first crawl.
1,000 credits every month. No credit card. Your self-hosted setup keeps working.
For teams
Talk to us about volume, regions and an SLA.
A 30-minute call with the team that writes the crawler. DPA on request, invoice billing, your choice of US, EU or Singapore.