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.
| Endpoint | What it returns | Credits/call | USD/call (Freelance plan) |
|---|---|---|---|
/v1/tiktok/video_captions | Transcript | 1 | $0.0017 |
/v1/tiktok/video_captionsTranscript 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | yes | TikTok video URL |
language | string | no | Language of the transcript. 2 letter language code, ie 'en', 'es', 'fr', 'de', 'it', 'ja', 'ko', 'zh' |
allow_long_transcription | boolean | no | Paid 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_fallback | string | no | Set 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'..."
}curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/tiktok/video_captions"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())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.
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.
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.
No. You only need a Scrapall API key. There is no app review and no TikTok login, and the endpoint only reads public videos.
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.
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.
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.
Full reference: all tiktok endpoints.