Body parameters
- type
string- required
true- description
Keyword search query.
- type
string- required
false- default
"youtube"- values
youtubetiktokinstagram- description
- Every video result's url is accepted by the transcript and batch endpoints as-is.
- The
type,upload_date,duration,sortandcaptionsoptions search YouTube only.
- type
string- required
false- default
"video"- values
videochannelplaylist- scope
- YouTube only
- description
- Channels come back as
data.kindchannel_list, each row's url accepted by thechannelendpoint; playlists asdata.kindplaylist_list, each row's url accepted by theplaylistendpoint. - A
channelrow carries the @handle, subscriber count and description; itsvideoCountisnull, because YouTube'schannelresults no longer show one.
- Channels come back as
- type
string- required
false- values
hourtodayweekmonthyear- scope
- YouTube video search only
- description
Keep videos uploaded within the last
hour,today, thisweek, thismonthor thisyear.
- type
string- required
false- values
shortmediumlong- scope
- YouTube video search only
- description
Keep
short(under 4 minutes),medium(4 to 20 minutes) orlong(over 20 minutes) videos.
- type
string- required
false- default
"relevance"- values
relevanceviews- scope
- YouTube only
- description
- Result order:
relevance(the default) orviews(most viewed first). - YouTube search no longer sorts by upload date or rating, so neither is offered; for recent videos, filter with
upload_date.
- Result order:
- type
boolean- required
false- default
false- scope
- YouTube video search only
- description
truekeeps only videos with subtitles or closed captions, whose transcripts come from captions rather than AI Fallback Transcription.- Defaults to
false: no filter.
- type
boolean | { mode, timestamps, markdown, chunks }- required
false- description
- Beta.
- Video searches only.
- Adds a
transcriptto every video row, in the same shape as a batch entry (outcome ok, processing or error, with text, segments, and markdown or chunks when asked), so one call goes from aqueryto what the videos say. truefetches caption transcripts with timestamps; an object sets mode ("captions", the default, so a search never starts paid AI transcription unless you send"auto"), timestamps (falsedrops segments), markdown and chunks (see the transcript endpoint).limitcan be at most 10 with it.- Costs the page's credit plus 1 credit per caption transcript delivered; failures are free, and an account that cannot cover the page and every row is refused up front.
- type
integer (1–50)- required
false- default
5- description
Max items to return per page: videos, or the playlists or channels some listing options return.
- type
string- required
false- description
- Opaque pagination cursor from a previous response's
next_cursor(max 256 characters). - Omit for the first page.
- Cursors are scoped to the listing that issued them, so send the same platform and listing options with each page.
- Offset-based sources cannot page past the first 2000 items.
- Opaque pagination cursor from a previous response's
{
"ok": true,
"request_id": "req_…",
"data": {
"kind": "video_list",
"source": "search",
"platform": "tiktok",
"videos": [
{
"videoId": "7563520074795994399",
"url": "https://www.tiktok.com/@explore.scientist/video/7563520074795994399",
"title": "How does a power transformer work #knowledge #science #tiktok",
"duration": 72,
"channel": "@explore.scientist",
"publishedAt": "2025-10-21T04:01:08Z",
"stats": {
"plays": 496600
}
},
{
"videoId": "7649719917507251488",
"url": "https://www.tiktok.com/@theengineeringmindset/video/7649719917507251488",
"title": "How transformers actually work: Two coils, a steel core, and a magnetic field that's pure magic (but science!). #ScienceExplained #HowItWorks #Transformer #STEM #Physics",
"duration": 92,
"channel": "@theengineeringmindset",
"publishedAt": "2026-06-10T11:00:12Z",
"stats": {
"plays": 18300
}
}
],
"next_cursor": "eyJvIjoxMH0"
},
"usage": {
"credits_spent": 1,
"balance": 656,
"bytes": 0
}
}Every TikTok endpoint
- POSTTranscriptText or segments for a TikTok video.
- POSTSearchFind TikTok videos by keyword.
- POSTProfile VideosList a creator's videos, newest first.
- POSTProfile MonitorNew videos from a creator, by webhook.
Same call, other platforms:YouTube Search APIInstagram Search API
Frequently asked questions
How do I search TikTok instead of YouTube?
Send platform tiktok in the body. Without it the search runs on YouTube. Everything else about the call is the same: query, limit and cursor.
Can I filter TikTok results by date, duration or captions?
No. Those filters are YouTube-only and are ignored on TikTok. The rows carry duration, publishedAt and stats.plays, so you can filter on your side after the fetch.
What is in a TikTok search row?
videoId, url, title (the caption), duration in seconds, channel (the creator's @handle), publishedAt and stats.plays. The url goes straight into the transcript or batch endpoint.
How do I transcribe everything a search returns?
Collect the url of each row and send them to the batch endpoint. Caption transcripts cost 1 credit each and videos without captions go to AI Fallback Transcription, billed on delivery.