TikTok Transcript API: get video captions and subtitles as JSON

To get the transcript of a TikTok video, send its URL to one REST endpoint and you get back the video id, the URL and the transcript text as JSON. Existing captions or subtitles are used first, and you can ask for an AI transcription fallback when a video has none. Each successful call is billed on its own, so you can test on a few videos before you plan a large batch.

Buy credits

Use cases

Endpoints and cost

EndpointWhat it returnsCredits/callUSD/call (Freelance plan)
/v1/tiktok/video_captionsTranscript1$0.0017

Endpoint details

/v1/tiktok/video_captions

Transcript 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
urlstringyesTikTok video URL
languagestringnoLanguage of the transcript. 2 letter language code, ie 'en', 'es', 'fr', 'de', 'it', 'ja', 'ko', 'zh'
allow_long_transcriptionbooleannoPaid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mod
use_ai_as_fallbackstringnoSet to 'true' to use paid AI only when existing captions are unavailable. Defaults to false. By default, successful AI transcription of videos up to 120 seconds

Sample response (trimmed):

{
 "id": "7499229683859426602",
 "url": "https://www.tiktok.com/@stoolpresidente/video/7499229683859426602",
 "transcript_with_timestamp": null,
 "transcript": "WEBVTT\n\n\n00:00:00.120 --> 00:00:01.840\nAlright, pizza review time.\n\n00:00:01.841 --> 00:00:03.761\nSal's Pizza Factory. Oh,\n\n00:00:03.762 --> 00:00:05.721\nit'..."
}

Example: curl

curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/tiktok/video_captions"

Example: Python

import os, requests
r = requests.get("https://api.scrapall.bipsport.com/scapi/v1/tiktok/video_captions",
    headers={"X-Scapi-Key": os.environ["SCAPI_KEY"]})
print(r.json())

FAQ

How do I get a TikTok video transcript with an API?

Call the transcript endpoint with the public video URL in the url parameter and your API key in the header. The JSON response contains the video id, the URL and the transcript text, so you can store it or pass it straight to another tool.

What if the video has no captions?

By default the endpoint returns existing transcripts, captions or subtitles. Set use_ai_as_fallback to request a speech-to-text transcript when the video has no captions of its own. Long videos need allow_long_transcription to be enabled.

Can I choose the transcript language?

Yes. The endpoint accepts an optional language parameter, so you can ask for a specific caption language when the video offers more than one track.

Do I need a TikTok developer account?

No. You only need a Scrapall API key. There is no app review and no TikTok login, and the endpoint only reads public videos.

How is a transcript call billed?

You pay per successful call from your credit balance. The exact cost per call is shown in the cost table on this page and comes from the live price list, so it is always current.

How do I pay and get my API key?

Open the Buy page, pick the Freelance plan and pay in USDT on TRC20 or ERC20. The key is shown once, right after the payment is confirmed on-chain.

How many credits does one call use?

The cost table on this page lists credits per call for each endpoint. The Freelance plan is $45 for 27,000 credits per 30 days.

Get an API key and credits

Full reference: all tiktok endpoints.