---
title: "Transcript of a video"
method: GET
path: "/v1/raw/{platform}/video/transcript"
tags: ["Raw"]
---

# Transcript of a video

`GET /v1/raw/{platform}/video/transcript`

## Request

- Base URL: `https://api.virlo.ai`
- URL: `https://api.virlo.ai/v1/raw/{platform}/video/transcript`
- Auth: HTTP bearer

The transcript the platform publishes for one video. TikTok and YouTube only: `instagram` returns 400 `unsupported_platform`. Takes a TikTok video, YouTube video or Instagram post by `url` or `id` (exactly one); the format is not checked. Live data fetched at request time, not stored by Virlo. Typical latency is a few seconds, up to about 25 s. 1 credit ($0.01) per call, including an empty page. Errors (400, 404, 5xx) are not billed.

## Path parameters

- `platform` 'tiktok' | 'youtube' | 'instagram', required

## Query parameters

- `url` string
- `id` string

## Response `200`

- RawTranscriptResponseDto
  - `data` RawTranscriptDto, required
    - `video_id` string, required
    - `platform` 'tiktok' | 'youtube' | 'instagram', required
    - `language` string, nullable, required: Language code of the transcript, when known.
    - `text` string, required: Full transcript as plain text.
    - `segments` RawTranscriptSegmentDto[], nullable, required: Timed segments, or null when the platform transcript has no timings.
      - `start_seconds` number, required
      - `end_seconds` number, nullable, required
      - `text` string, required

## Other responses

- `400`: Invalid input (`validation_error`), operation not offered on this platform (`unsupported_platform`), or a bad cursor (`invalid_cursor`). Not billed.
- `401`: Missing or invalid API key (`missing_api_key` / `invalid_api_key`)
- `402`: Not enough credits (`insufficient_credits`).
- `404`: The platform has no public item for this input (`not_found`). Not billed.
- `429`: Rate limit exceeded (`rate_limit_exceeded`); see the Retry-After header
- `502`: The platform did not return data (`upstream_error`). Retry. Not billed.
- `503`: Temporarily unavailable (`service_unavailable`). Retry later. Not billed.
- `504`: The platform took too long to answer (`request_timeout`). Retry. Not billed.

---

[API](https://skmtc.dev/virlo/apis/virlo-public-api.md) · [All operations](https://skmtc.dev/virlo/apis/virlo-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/virlo/apis/virlo-public-api/revisions/3b69c6145087?raw)
