Endpoints
Get YouTube Transcript
Description
This endpoint extracts the transcript from a specified YouTube video URL, formats the transcript, and optionally includes timestamps.
Endpoint
POST /api/v1/get-youtube-transcript
Headers
- Content-Type:
application/json
- Authorization: Bearer
<API_KEY>
(required)
Request Body
{
"videoUrl": "string", // Required. The URL of the YouTube video.
"includeTimestamps": "boolean", // Optional. Whether to include timestamps in the transcript. Default: true.
"timestampsToCombine": "number", // Optional. The number of timestamps to combine in the transcript. Default: 5.
"preferredLanguage": "string" // Optional. Preferred language for the transcript. Default: "en".
}
Accepted Values for preferredLanguage
The preferredLanguage
parameter accepts the following language codes:
Language Code | Language |
---|---|
af | Afrikaans |
ak | Akan |
sq | Albanian |
am | Amharic |
ar | Arabic |
hy | Armenian |
as | Assamese |
ay | Aymara |
az | Azerbaijani |
bn | Bangla |
eu | Basque |
be | Belarusian |
bho | Bhojpuri |
bs | Bosnian |
bg | Bulgarian |
my | Burmese |
ca | Catalan |
ceb | Cebuano |
zh | Chinese |
zh-HK | Chinese (Hong Kong) |
zh-CN | Chinese (China) |
zh-SG | Chinese (Singapore) |
zh-TW | Chinese (Taiwan) |
zh-Hans | Chinese (Simplified) |
zh-Hant | Chinese (Traditional) |
hak-TW | Hakka Chinese (Taiwan) |
nan-TW | Min Nan Chinese (Taiwan) |
co | Corsican |
hr | Croatian |
cs | Czech |
da | Danish |
dv | Divehi |
nl | Dutch |
en | English |
en-US | English (United States) |
eo | Esperanto |
et | Estonian |
ee | Ewe |
fil | Filipino |
fi | Finnish |
fr | French |
gl | Galician |
lg | Ganda |
ka | Georgian |
de | German |
el | Greek |
gn | Guarani |
gu | Gujarati |
ht | Haitian Creole |
ha | Hausa |
haw | Hawaiian |
iw | Hebrew |
hi | Hindi |
hmn | Hmong |
hu | Hungarian |
is | Icelandic |
ig | Igbo |
id | Indonesian |
ga | Irish |
it | Italian |
ja | Japanese |
jv | Javanese |
kn | Kannada |
kk | Kazakh |
km | Khmer |
rw | Kinyarwanda |
ko | Korean |
kri | Krio |
ku | Kurdish |
ky | Kyrgyz |
lo | Lao |
la | Latin |
lv | Latvian |
ln | Lingala |
lt | Lithuanian |
lb | Luxembourgish |
mk | Macedonian |
mg | Malagasy |
ms | Malay |
ml | Malayalam |
mt | Maltese |
mi | Māori |
mr | Marathi |
mn | Mongolian |
ne | Nepali |
nso | Northern Sotho |
no | Norwegian |
ny | Nyanja |
or | Odia |
om | Oromo |
ps | Pashto |
fa | Persian |
pl | Polish |
pt | Portuguese |
pa | Punjabi |
qu | Quechua |
ro | Romanian |
ru | Russian |
sm | Samoan |
sa | Sanskrit |
gd | Scottish Gaelic |
sr | Serbian |
sn | Shona |
sd | Sindhi |
si | Sinhala |
sk | Slovak |
sl | Slovenian |
so | Somali |
st | Southern Sotho |
es | Spanish |
su | Sundanese |
sw | Swahili |
sv | Swedish |
tg | Tajik |
ta | Tamil |
tt | Tatar |
te | Telugu |
th | Thai |
ti | Tigrinya |
ts | Tsonga |
tr | Turkish |
tk | Turkmen |
uk | Ukrainian |
ur | Urdu |
ug | Uyghur |
uz | Uzbek |
vi | Vietnamese |
cy | Welsh |
fy | Western Frisian |
xh | Xhosa |
yi | Yiddish |
yo | Yoruba |
zu | Zulu |
Responses
Success (200)
Returns the transcript of the specified YouTube video and the detected language.
{
"transcript": "string",
"language": "string"
}
- Content-Type: application/json
- X-RateLimit-Limit: The rate limit for the user.
- X-RateLimit-Remaining: The remaining number of requests for the user.
Bad Request (400)
Returned if the request is invalid or missing required parameters.
{
"error": "Error message describing the issue"
}
Not Found (404)
Returned if no subtitles are found for the video.
{
"error": "No subtitles found for the video: <videoID>"
}
Internal Server Error (500)
Returned if there’s an error during the transcript extraction process.
{
"error": "Error message describing the issue"
}
Example Request
curl -X POST https://app.dumplingai.com/api/v1/get-youtube-transcript \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Request-Source: API" \
-d '{
"videoUrl": "https://www.youtube.com/watch?v=example",
"includeTimestamps": true,
"timestampsToCombine": 5,
"preferredLanguage": "en"
}'
Example Response
{
"transcript": "00:00 - Welcome to this video.\n00:05 - Today we'll be discussing...",
"language": "en"
}
Notes
- The
videoUrl
parameter must be a valid YouTube video URL. - If
includeTimestamps
is set tofalse
, the transcript will not include timestamp information. - The
timestampsToCombine
parameter determines how many individual transcript segments are combined into a single line with a timestamp. - The
preferredLanguage
parameter allows you to specify the desired language for the transcript. If not available, it will default to the first available language. - This endpoint uses 2 credit per request.
- The transcript extraction attempts to retrieve the captions of a YouTube video. Some videos have captions disabled, this action will fail on these videos.
Rate Limiting
Rate limit headers (X-RateLimit-Limit
and X-RateLimit-Remaining
) are included in the response to indicate the user’s current rate limit status.