All tutorials

How to scrape TikTok transcripts with curl (2026)

A curl walkthrough for GET /v1/tiktok/videos/transcript. Copy the snippet, run it, then read the JSON.

GET /v1/tiktok/videos/transcript · 1 credit +10 credits when AI transcribes the audio (useAiFallback) +10 credits per started minute of AI transcript, replacing the flat +10 (allowLongTranscription) Max 601 credits Failed requests are free

Also available in

You'll pull a TikTok transcript from a public video URL and see the text you get back.

Example job: turn a public TikTok video into text for search or alerts.

Get ready

Get a Social Fetch API key and a curl environment ready. New accounts include 100 free credits.

  • API key. Create a Social Fetch account and copy an API key. New accounts include 100 free credits.

  • curl setup. Any shell with curl. Export SOCIALFETCH_API_KEY before you run the sample.

When you're done, SOCIALFETCH_API_KEY is set in your shell.

Make the request

Copy the curl snippet, set SOCIALFETCH_API_KEY, and call GET /v1/tiktok/videos/transcript with the x-api-key header. Example: /v1/tiktok/videos/transcript?url=https%3A%2F%2Fwww.tiktok.com%2F%40mkbhd%2Fvideo%2F7123456789012345678.

Request
curl

You should see a JSON body on stdout. Use curl -sS so HTTP errors still print on stderr.

Read the response

JSON with data (the transcripts) and meta (creditsCharged, requestId). Sample below is illustrative — field docs live on the endpoint page. Credits charge on completed lookups, not transport failures.

Request
Sample response

Check data.lookupStatus when present. Keep meta.requestId if a row looks wrong.

lookupStatus not_found means no transcript — you still pay the base credit. Photo carousels aren't videos. Optional language is a preference, not a guarantee.

Common questions

Do I need an official TikTok developer account?

No. Social Fetch authenticates with your Social Fetch API key. You call GET /v1/tiktok/videos/transcript and we handle the lookup. You still need to follow each platform's terms for how you use public data.

What does the tiktok transcripts endpoint return?

A JSON envelope with data (the transcripts) and meta (creditsCharged, requestId). Shape details and field docs live on the endpoint page and in the OpenAPI docs.

When should I set useAiFallback on TikTok transcripts?

When you need text from clips with no caption track. Base cost is 1 credit; the AI surcharge of 10 (11 total) applies only when AI produced the transcript, so captioned clips stay at 1. AI covers clips up to 2 minutes; allowLongTranscription=true handles longer ones at 10 credits per started minute.

What URL formats does the TikTok transcript route accept?

Public /@user/video/… links and vm.tiktok.com short links. Photo carousel URLs return transcript_target_not_video. Always check lookupStatus before treating data.transcript as present.

How much does a successful request cost?

1 credit +10 credits when AI transcribes the audio (useAiFallback) +10 credits per started minute of AI transcript, replacing the flat +10 (allowLongTranscription) Max 601 credits Failed requests are free

Is this okay for production?

Yes — same production API as everywhere else: typed errors, requestId on every response, credits charged only on completed lookups. New accounts get 100 free credits.

Any curl-specific tips for this request?

Yes. Pass the key with -H "x-api-key: $SOCIALFETCH_API_KEY", and wrap the full URL in double quotes so the shell does not split on & in query strings. Prefer curl -sS so HTTP errors still surface on stderr.