Transcript API for Social Media Video

The Transcript24 API lets you submit a public social media URL and receive the transcript in one request.

The API automatically decides whether to:

The response can also include video metadata such as platform, post ID, duration, views, and likes.

Base URL

https://api.transcript24.com

Authentication

Send your API key in the Authorization header.

Authorization: Bearer <API_KEY>

Supported Platforms

Create a Transcript

Endpoint

POST /transcribe

Headers

Content-Type: application/json
Authorization: Bearer <API_KEY>

Body

{
  "url": "https://www.youtube.com/watch?v=..."
}

Only url is required.

Optional fields:

{
  "url": "https://www.youtube.com/watch?v=...",
  "prefer": "auto"
}

Supported prefer values:

Response

Success Response

{
  "ok": true,
  "mode": "raw",
  "taskCredits": 1,
  "history": false,
  "meta": {
    "platform": "ytb",
    "id": "abc123",
    "title": "Video title",
    "desc": "Short description",
    "duration": 125,
    "views": 12345,
    "likes": 456,
    "image": "https://..."
  },
  "caption": [
    {
      "start_time": "00:00:00.000",
      "end_time": "00:00:03.200",
      "text": "..."
    }
  ]
}

Field meanings:

Example ASR Response

{
  "ok": true,
  "mode": "asr",
  "taskCredits": 3,
  "history": false,
  "meta": {
    "platform": "tik",
    "id": "7345678901234567890",
    "title": "Video title",
    "duration": 165,
    "views": 99887,
    "likes": 3201
  },
  "caption": [
    {
      "start_time": "00:00:00.000",
      "end_time": "00:00:03.200",
      "text": "..."
    }
  ]
}

Examples

JavaScript

const res = await fetch("https://api.transcript24.com/transcribe", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: "Bearer <API_KEY>",
  },
  body: JSON.stringify({
    url: "https://www.youtube.com/watch?v=...",
  }),
});

const data = await res.json();
console.log(data.mode);
console.log(data.meta);
console.log(data.caption);

Python

import requests

res = requests.post(
    "https://api.transcript24.com/transcribe",
    headers={
        "Authorization": "Bearer <API_KEY>",
        "Content-Type": "application/json",
    },
    json={"url": "https://www.youtube.com/watch?v=..."},
)

data = res.json()
print(data["mode"])
print(data["meta"])
print(data["caption"])

Error Responses

{
  "error": "Invalid API key"
}

Common error messages:

Credits

Billing follows the same logic as the website:

Examples for asr mode:

Notes:

Notes

Support

If you have questions, please contact support with the URL you tested and the timestamp of your request.