TikTok Transcripts API Documentation

GET   /api/v1/search?engine=tiktok_transcripts

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. Short vm.tiktok.com / vt.tiktok.com / tiktok.com/t/ links are also accepted.

    Required if video_id and username are not provided.

  • Name
    video_id
    Required
    Optional
    Description

    Parameter defines the unique identifier of a TikTok video. Use it together with username as an alternative to url.

  • Name
    username
    Required
    Optional
    Description

    Parameter defines the TikTok creator's username (with or without the @ symbol). Use it together with video_id as an alternative to url. TikTok resolves the post by its video_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-BR and fr-CA stay distinct). It defaults to the video's original language, and the served track is marked with is_selected. Both 2-letter and 3-letter ISO codes are accepted: an exact code match wins first (en, eng, and eng-US all 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_key authenticates 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 true to 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

Full Response
GET
https://www.searchapi.io/api/v1/search?engine=tiktok_transcripts&url=https%3A%2F%2Fwww.tiktok.com%2F%40zachking%2Fvideo%2F7652362186873916686
Request
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)
Response
{
  "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
    }
  ]
}