TikTok Transcripts API Documentation
The TikTok Transcripts API returns the transcripts of a single TikTok video from its URL. You get timestamped caption segments, the available caption languages, and more.
API Parameters
Search Query
-
- Name
-
url - Required
- Optional
- Description
-
Parameter defines the TikTok video you want the transcript for. Pass the full URL, for example
https://www.tiktok.com/@stoolpresidente/video/7499229683859426602. Shortvm.tiktok.com/vt.tiktok.com/tiktok.com/t/links are also accepted.
Required ifvideo_idandusernameare not provided.
-
- Name
-
video_id - Required
- Optional
- Description
-
Parameter defines the unique identifier of a TikTok video. Use it together with
usernameas an alternative tourl.
-
- Name
-
username - Required
- Optional
- Description
-
Parameter defines the TikTok creator's username (with or without the
@symbol). Use it together withvideo_idas an alternative tourl. TikTok resolves the post by itsvideo_id: if the username doesn't match the video's owner, TikTok redirects and the actual owner's video is returned.
-
- Name
-
language - Required
- Optional
- Description
-
Parameter defines the language of the transcripts. The languages a video offers are returned in
available_languages, each entry carrying the track's full code, including the region when TikTok defines one (pt-BRandfr-CAstay distinct). It defaults to the video's original language, and the served track is marked withis_selected. Both 2-letter and 3-letter ISO codes are accepted: an exact code match wins first (en,eng, andeng-USall select English), and a regioned request falls back to its base language when the exact track doesn't exist. Examples:en,es,pt-BR,de,it,ja,ko,zh.
Engine
-
- Name
-
engine - Required
- Required
- Description
-
Parameter defines an engine that will be used to retrieve real-time data. It must be set to
tiktok_transcripts.
API key
-
- Name
-
api_key - Required
- Required
- Description
-
The
api_keyauthenticates your requests. Use it as a query parameter (https://www.searchapi.io/api/v1/search?api_key=YOUR_API_KEY) or in the Authorization header (Bearer YOUR_API_KEY).
Zero Data Retention
-
- Name
-
zero_retention - Enterprise Only
- Enterprise Only
- Required
- Optional
- Description
-
Set this parameter to
trueto disable all logging and persistent storage. No request parameters, HTML, or JSON responses are stored or logged. Suitable for high-compliance use cases. Debugging and support may be limited while enabled.
API Examples
Full Response
https://www.searchapi.io/api/v1/search?engine=tiktok_transcripts&url=https%3A%2F%2Fwww.tiktok.com%2F%40zachking%2Fvideo%2F7652362186873916686
- Python
- Node
- Ruby
- Java
- Go
- PHP
- Bash
- R
- Kotlin
- Swift
- C#
- C
- C++
- requests
import requests
url = "https://www.searchapi.io/api/v1/search"
params = {
"engine": "tiktok_transcripts",
"url": "https://www.tiktok.com/@zachking/video/7652362186873916686"
}
response = requests.get(url, params=params)
print(response.text)
{
"search_metadata": {
"id": "search_vxbn58j7pJdLFrJwoDeN0V2d",
"status": "Success",
"created_at": "2026-08-20T18:47:45Z",
"request_time_taken": 2.68,
"parsing_time_taken": 0.05,
"total_time_taken": 2.73,
"request_url": "https://www.tiktok.com/@zachking/video/7652362186873916686",
"html_url": "https://www.searchapi.io/api/v1/searches/search_vxbn58j7pJdLFrJwoDeN0V2d.html",
"json_url": "https://www.searchapi.io/api/v1/searches/search_vxbn58j7pJdLFrJwoDeN0V2d"
},
"search_parameters": {
"engine": "tiktok_transcripts",
"url": "https://www.tiktok.com/@zachking/video/7652362186873916686"
},
"transcripts": [
{
"text": "Alright, I gotta go in for a pit stop real quick.",
"start": 0.02,
"duration": 2.22
},
{
"text": "Okay? Be right back.",
"start": 5.5,
"duration": 1.54
},
{
"text": "Alright.",
"start": 9.42,
"duration": 0.8
},
{
"text": "Alright, I'm back in it.",
"start": 22.1,
"duration": 1.82
}
],
"available_languages": [
{
"name": "English",
"lang": "en",
"is_selected": true
}
]
}