Captions of a YouTube video
crawl4ai.youtube.video.captionsOne YouTube video's captions (its transcript) in one language, as one row: the whole text, the timed lines, whether they are auto-generated, and every caption language the video has. `video` is the watch URL, a youtu.be or shorts link, or the 11-character id; `language` a code such as en, es or pt-BR (default en), or `any` for the default captions. A person's track comes before an auto-generated one. No captions in that language gives no row and a warning listing the languages. 1 to 3 s; when YouTube refuses, a slower second source gives the default captions (billed even when it has none). Columns: video_id, title, language, is_auto_generated, available_languages, text, segments, url.
- Price
- $0.00165/successAu prix du fournisseur
- Success rate
- 91,8 %Last 30 days · 18 915 calls
- Latency p50
- 1.2 sp95 131 s
- Last verified
- 11 oct. 2026Verified working
POSThttps://toolswitch.dev/v1/tools/crawl4ai.youtube.video.captionsPreview- Uses platform quota
- Synchronous response
- Reads public data
Paramètres
Cet outil n’a pas de paramètres. Voir la doc du fournisseur ↗ Provider docs
Exemples de code
Remplacez $TOOLSWITCH_KEY par la clé créée dans la console.
curl -X POST 'https://toolswitch.dev/v1/tools/crawl4ai.youtube.video.captions' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY" \
-H "Content-Type: application/json" \
--data-raw '{"video":"dQw4w9WgXcQ"}'import os
import json
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/crawl4ai.youtube.video.captions",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
json=json.loads("{\"video\":\"dQw4w9WgXcQ\"}"),
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/crawl4ai.youtube.video.captions", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
"Content-Type": "application/json",
},
body: JSON.stringify(JSON.parse("{\"video\":\"dQw4w9WgXcQ\"}")),
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());Cette API de passerelle est en préversion ; son URL et son authentification peuvent changer. Les paramètres de l’exemple sont des données fictives. Les appels sont facturés à $0.00165/success, frais de service inclus.