Pull clean transcripts, search videos and channels, and track new uploads — without scraping, proxies, or breakage. Simple credits, no rate-limit roulette.
Seven focused endpoints. Predictable credit pricing. Responses shaped for LLM consumption.
Fetch the full transcript of any public video as clean JSON or plain text, with or without timestamps.
GET /v1/youtube/transcript?video_url=https://youtu.be/dQw4...
Authorization: Bearer tc_live_xxx
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"transcript": [
{ "text": "Welcome back to the channel...", "start": 0.0, "duration": 3.2 }
]
}
Query YouTube for videos, channels, or playlists and get up to 30 structured results per page.
Scope your search to a single channel — by handle, ID, or URL — to find exactly the videos you need.
GET /v1/youtube/channel/search?channel=@fireship&q=rust
{
"results": [
{ "video_id": "5C_HPTJg5ek", "title": "Rust in 100 Seconds" }
],
"continuation": "eyJraW5kIjoiY2hhbm5lbF9zZWFyY2giLi4ufQ"
}
List channel uploads newest first, with up to 30 structured results per page.
GET /v1/youtube/channel/videos?channel=@veritasium
{
"videos": [ /* up to 30 videos */ ],
"continuation": "eyJraW5kIjoiY2hhbm5lbF92aWRlb3MiLi4ufQ"
}
Poll a channel's latest uploads at no credit cost — the cheapest way to trigger downstream workflows.
GET /v1/youtube/channel/latest?channel=@mkbhd
{
"latest": [
{ "video_id": "aX3jf9Qw1kE", "published": "2 hours ago" }
]
}
Expand any playlist into its full video list — courses, series, and curated collections become ingestible datasets.
GET /v1/youtube/playlist/videos?playlist=PLBmc...
{
"playlist_id": "PLBmc...",
"videos": [ /* ordered entries */ ],
"continuation": "eyJraW5kIjoicGxheWxpc3RfdmlkZW9zIi4uLn0"
}
Call it from your application, explore requests interactively, or test endpoints from the dashboard.
A single base URL and Bearer-token auth. Works from any language or runtime in under a minute.
curl "https://api.tubecaption.com/v1/youtube/transcript?video_url=..." \
-H "Authorization: Bearer tc_live_xxx"
Inspect every parameter and response, authorize once, and execute requests from Swagger UI.
https://api.tubecaption.com/docs
Save a local test key, choose transcript options, and inspect formatted API responses.
https://tubecaption.com/dashboard/test
No tiers to decode — every subscription includes all endpoints. Pay only for the credits you use.
Monthly-plan estimate; annual subscribers receive 40% cheaper top-ups.
Need more than 1M credits/month or custom terms? Talk to us about a custom plan →
Short answers to what developers ask before integrating.
TubeCaption is a YouTube transcript & discovery API built for AI applications, agents, and LLM pipelines. One HTTP call returns clean transcripts in JSON or plain text — no scraping, proxies, or browser automation. It also offers video search, channel search and resolution, channel video listings, and playlist videos.
Monthly is $5 with 1,000 credits and $2.50 top-ups. Annual is $54 with 12,000 credits upfront and $1.50 top-ups. A paid subscription is required before buying additional credits.
No. Failed requests are never billed — if a request fails, the credits are automatically refunded to your account.
Yes. Coding agents and AI applications can call TubeCaption through its standard HTTP API from cURL, Python, Node.js, or any language with an HTTP client.
No. You authenticate with your TubeCaption API key only (Authorization: Bearer header). No Google Cloud project or YouTube Data API setup is required.
No. TubeCaption is an independent service and is not affiliated with or endorsed by YouTube or Google.