Video transcript API

7 endpoints on 7 platforms return the same Transcript object. The words spoken in a video, as text. Every call costs $0.0020; a failed call is free.

Run it in the PlaygroundSee the callSign in to run it; it runs on your own balance.
Platforms7 platforms
Endpoints7 endpointsone on each platform
PriceFrom $0.0020per call. A failed call is free
ReturnsTranscriptone object a call

Video transcript on each platform

One row per endpoint: what it is called, how much comes back in a call, and what a call costs.

PlatformEndpointA pageReturnsPrice
TikTokTikTok video transcriptGET/v1/tiktok/videos/transcript/get1Transcript$0.0020
YouTubeYouTube video transcriptGET/v1/youtube/videos/transcript/get1Transcript$0.0020
InstagramInstagram video transcriptGET/v1/instagram/posts/transcript/get1Transcript$0.0020
X (Twitter)X video transcriptGET/v1/x/posts/transcript/get1Transcript$0.0020
RedditReddit video transcriptGET/v1/reddit/posts/transcript/get1Transcript$0.0020
LinkedInLinkedIn video transcriptGET/v1/linkedin/posts/transcript/get1Transcript$0.0020
Meta Ad LibraryMeta ad video transcriptGET/v1/meta/ads/transcript/get1Transcript$0.0020
Prices are the prices in force. A call that fails, or whose result is uncertain, costs nothing.Live status →

The Transcript object

Every endpoint above returns these fields, with the same names and types.

The object's own page →
post_idtextID of the post it belongs to
langtextLanguage code
texttextThe whole text
segments[].startnumberStart, in seconds
segments[].endnumberEnd, in seconds
segments[].texttextText of the segment

Which platform fills which field

A field an endpoint cannot give is listed in meta.unavailable on every answer, so a gap is never a surprise.

Platformlangsegments[].startsegments[].endsegments[].text
TikTok
YouTube
Instagram
X (Twitter)
Reddit
LinkedIn
Meta Ad Library

The same call on two platforms

Same parameter names, same paging, same answer. Only the path changes.

# TikTok
curl -G "https://api.dataxapi.com/v1/tiktok/videos/transcript/get" \
  --data-urlencode "id=7665840565958872333" \
  -H "Authorization: Bearer $DATAXAPI_API_KEY"

# YouTube: one word changes
curl -G "https://api.dataxapi.com/v1/youtube/videos/transcript/get" \
  --data-urlencode "id=dQw4w9WgXcQ" \
  -H "Authorization: Bearer $DATAXAPI_API_KEY"
// TikTok
import { DataXAPI } from "@dataxapi/sdk";

const dx = new DataXAPI(); // reads DATAXAPI_API_KEY
const result = await dx.tiktok.videos.transcript.get({ id: "7665840565958872333" });
console.log(result.data.item);

// YouTube: one word changes
const other = await dx.youtube.videos.transcript.get({ id: "dQw4w9WgXcQ" });
console.log(other.data.item);
# TikTok
from dataxapi import DataXAPI

dx = DataXAPI()  # reads DATAXAPI_API_KEY
result = dx.tiktok.videos.transcript.get(id="7665840565958872333")
print(result["data"]["item"])

# YouTube: one word changes
other = dx.youtube.videos.transcript.get(id="dQw4w9WgXcQ")
print(other["data"]["item"])
# TikTok
dataxapi call tiktok.videos.transcript.get id=7665840565958872333

# YouTube: one word changes
dataxapi call youtube.videos.transcript.get id=dQw4w9WgXcQ
200 · application/json · charged $0.0020
{
  "code": "ok",
  "request_id": "d769ec30-ee48-492d-a245-185caeb7e795",
  "data": {
    "item": {
      "post_id": "7735791757913201402",
      "text": "Hey everyone, today I am going through what I packed for weekend hiking. Short version: light, fits in one bag, hard to break. Let's go piece by piece.",
      "segments": [
        {
          "start": 1.14,
          "end": 2.76,
          "text": "Hey everyone, today I am going through what I packed for weekend hiking."
        },
        {
          "start": 3.06,
          "end": 4.98,
          "text": "Short version: light, fits in one bag, hard to break."
        },
        // … 35 more
      ]
    }
  },
  "warnings": [],
  "meta": {
    "capability": "tiktok.videos.transcript.get",
    "result_status": "complete",
    "fetched_at": "2026-10-12T18:47:26.000Z",
    "cached": false,
    "replayed": false,
    "unavailable": { "lang": "capability" },
    "billing": {
      "amount": "0.002",
      "currency": "USD",
      "balance_after": "9.998"
    }
  }
}

TikTok video transcript: From a response recorded 2026-10-12 18:47 UTC. Names, text and IDs are examples, and so are the links: none is the recorded one (the page shows no one's personal data); the figures are as recorded. Long lists are cut. The request ID, cursor and balance are made up.

Ready to use

Skills your AI can run on these endpoints, with what one run costs, and the objects every answer comes back as.

All skills →

Questions about the Video transcript API

Short answers. Each endpoint's page has its own limits and examples.

TikTok video transcript API →
How much does it cost?

$0.0020 a call on TikTok, YouTube, Instagram, X (Twitter), Reddit, LinkedIn, Meta Ad Library. You are charged when data comes back; a failed call costs nothing. No subscription, no monthly minimum.

Does every platform fill every field?

No. 4 of the 6 fields are missing on at least one platform; the table on this page says which. A field an endpoint cannot give is named in meta.unavailable on every answer, never filled with a guess.

Do I need an account on the platform?

No. One DataXAPI key reads all 7 platforms. No platform account and no cookie.

Other data types

The same idea everywhere: one action, every platform that has it.

Start with one key.

207 endpoints on 21 platforms, from $0.0003 a call. Errors and timeouts are not charged.

Start free