Skip to main content
POST
Scrape a YouTube video's transcript
Scrape a YouTube video’s transcript. The video is identified by its URL or ID.

Request

Exactly one of videoUrl or videoId is required. A request that sets both, or none, fails with invalidRequest.
This endpoint can be called without an API key, subject to per-address limits. Pagination requires a key.

Response

If successful, the response body contains the standard envelope. data contains what the video says as one block of text. The following example is a real response, truncated: each list shows one item and long strings are cut.
For every field, see the response schema on this page.

Optional parameters

Billing

Each successful request consumes 1 credit, regardless of the number of items returned. Requests that fail, or that return no items, are not billed.

Pagination

This method is not paginated. A single request returns the complete result.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

maxTextLength
integer

Cut every text value in the response to this many characters. A value that was cut ends with …, and a page whose text was cut has isTruncated set to true. A screenshot is never cut. Leave it out to get the full text.

Required range: x >= 1

Body

application/json
videoUrl
string

Link to the YouTube video, like https://youtu.be/p0fybvFyOlM. Send this or videoId.

videoId
string

YouTube video id, like p0fybvFyOlM. Send this or videoUrl.

language
string

BCP 47 language tag, e.g. en or pt-BR. Any case is accepted.

Pattern: ^[A-Za-z]{2,3}(?:[-_][A-Za-z0-9]{2,4})?$
includeTimestamps
boolean
default:false

Response

The data, and the credits this call used.

success
any
required
data
object
required
creditsUsed
integer
required
requestId
string
required