TikTok transcript getter

Paste a TikTok link. Get what is said, as text.

SampleRecorded public data, shortened. Run the tool for a live result.

enAI transcription0:251 line

Something big just landed on TikTok.

Free, no signup. A limited number of lookups per visitor each hour. Public data only. Transcribing audio can take a few seconds.

How it works

TikTok videos often have no captions, so the API falls back to transcribing the audio. The result tells you which one you got: captions or AI transcription. Short links from vm.tiktok.com and vt.tiktok.com work too.

Use this in your app

This tool calls GET /v1/tiktok/video/transcript. See the reference, or get early access for a key.

curl
curl -G "https://api.socialscrape.io/v1/tiktok/video/transcript" \
  -H "x-api-key: $SOCIALSCRAPE_API_KEY" \
  --data-urlencode "url=https://www.tiktok.com/@nasa/video/7665075736742530317"
Python
import os
import requests

params = {
    "url": "https://www.tiktok.com/@nasa/video/7665075736742530317",
}
res = requests.get(
    "https://api.socialscrape.io/v1/tiktok/video/transcript",
    headers={"x-api-key": os.environ["SOCIALSCRAPE_API_KEY"]},
    params=params,
)
body = res.json()

if body["ok"]:
    print(body["data"])
else:
    print(body["error"]["code"], body["error"]["message"])
TypeScript
const url = new URL("https://api.socialscrape.io/v1/tiktok/video/transcript");
url.search = new URLSearchParams({
  "url": "https://www.tiktok.com/@nasa/video/7665075736742530317"
}).toString();
const res = await fetch(url, {
  headers: { "x-api-key": process.env.SOCIALSCRAPE_API_KEY! },
});
const body = await res.json();

if (body.ok) {
  console.log(body.data);
} else {
  console.error(body.error.code, body.error.message);
}
n8n
{
  "nodes": [
    {
      "name": "SocialScrape TikTok video transcript",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        0,
        0
      ],
      "parameters": {
        "method": "GET",
        "url": "https://api.socialscrape.io/v1/tiktok/video/transcript",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "https://www.tiktok.com/@nasa/video/7665075736742530317"
            }
          ]
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "x-api-key",
              "value": "={{ $env.SOCIALSCRAPE_API_KEY }}"
            }
          ]
        }
      }
    }
  ],
  "connections": {}
}

Questions

Is this captions or a transcription of the audio?

Both are possible. The result is labelled Captions when TikTok supplied them and AI transcription when the audio was transcribed.

Does it work on a private account?

No. Only public videos are read, with no login.

Is this tool free?

Yes. No account and no card. Each visitor gets a limited number of lookups an hour, so it stays free for everyone.

How do I get this data in my own app?

Send GET /v1/tiktok/video/transcript with your key in the x-api-key header. A request costs 1 credit for captions; AI transcription 1 up to 2 minutes, then 1 per started minute. A repeat of something fetched recently costs 0 credits, and failed requests are free. See the reference.