Transcribe a whole YouTube channel
To search a creator's back catalogue, build a RAG index or study what works in a niche, you need every transcript, not one. It takes two calls.
Step 1: list the videos
/v1/videos takes a channel URL, an @handle, a /channel/UC... link or a playlist URL, and returns up to 500 videos (newest first for channels) for 1 credit:
curl -H "x-api-key: YOUR_KEY" \ "https://api.transkrio.com/v1/videos?url=@veritasium&limit=200"
Step 2: get the transcripts, 50 at a time
Send the returned URLs to /v1/batch. Results keep the order you sent, and each item has ok plus the transcript or an error:
import os
import requests
API = "https://api.transkrio.com/v1"
HEADERS = {"x-api-key": os.environ["TRANSKRIO_API_KEY"]}
videos = requests.get(f"{API}/videos", headers=HEADERS, timeout=60,
params={"url": "@veritasium", "limit": 200}).json()["videos"]
urls = [v["url"] for v in videos]
done, retry = {}, []
for i in range(0, len(urls), 50):
r = requests.post(f"{API}/batch", headers=HEADERS, timeout=300,
json={"urls": urls[i:i + 50], "format": "text"})
for item in r.json()["results"]:
if item["ok"]:
done[item["video_id"]] = item["text"]
elif item["error"]["code"] == "processing":
retry.append(item) # being transcribed from the audio: send again later
print(len(done), "transcripts,", len(retry), "still processing")
What it costs
| Step | Credits |
|---|---|
| List up to 500 videos | 1 |
| Each video with captions | 1 |
| Each video without captions | 1 per started minute of audio |
| Private, deleted or failed videos | 0 |
A channel with 200 captioned videos costs about 201 credits: the free key covers a small channel, and the $9 Starter plan (3,000 credits) covers a dozen typical ones. Results are cached, so running the script again for the same videos is fast.
Podcasts work the same way
Pass a podcast RSS feed or an Apple Podcasts show link to /v1/videos and you get its episodes, ready for /v1/batch. See the podcast transcription API.
Next
Put the transcripts in a vector database and ask questions over the whole channel: RAG over YouTube videos. Or do it from n8n or Claude via MCP without writing code.