For AI builders
YouTube transcripts for AI agents
Whatever your agent stack — raw HTTP, MCP, or agent skills — the same engine feeds it clean, cited, timestamped YouTube text.
See the integration docsThree integration surfaces, one engine
A REST API for code and no-code tools (n8n, Make, Zapier call it with one HTTP node). An MCP server for Claude, ChatGPT, Cursor, and friends. And an agent skill — a single SKILL.md your coding agent installs once and then knows the whole API. All three share credits, cache, and the same underlying extraction chain; per-client setup lives in the integration guides.
Built for RAG and pipelines
Transcript responses carry everything a retrieval pipeline wants: stable video ids, titles, channels, upload dates, language and caption source, full text, silence-grouped paragraphs (natural chunk boundaries), and per-segment timestamps for deep-linking back to the exact moment in the video.
The cache is the scaling story
Agent workloads re-read the same sources constantly. Here, every extraction lands in a shared cache — so the second, tenth, and thousandth read of a video costs nothing and returns in milliseconds. Your agent can re-run a research task daily without re-paying for the archive, and only new videos cost credits.
Monitoring without burning credits
The latest-uploads endpoint is free (it rides YouTube's RSS feed). The intended loop: poll it on a schedule, diff against what you have, extract only the new videos, hand transcripts to your summarizer. A daily channel brief costs a credit only on days the creator actually posts.
Agents can even buy access themselves
There is no signup flow to automate around: the free tier needs zero setup, and paid access is just a license key string in a header. Give your agent the key as an environment variable and it meters itself with the billing block every response includes.
Questions
How do I use this from LangChain / LlamaIndex / my own code?
It is plain HTTP GET with JSON responses and an OpenAPI spec at /openapi.json — one requests.get() call, or point a codegen tool at the spec.
What about n8n, Make, or Zapier?
Use the generic HTTP request node: GET https://bulktranscripts.co/api/v1/transcript?video={{url}} with an Authorization header. The free latest-uploads endpoint makes a clean trigger.
How should I chunk transcripts for RAG?
Start from the paragraphs array — paragraphs are grouped by natural silence gaps, which beats fixed-size chunking for spoken content. Keep the segment timestamps alongside to cite moments.
Can I run a whole channel through it?
Yes — list the channel (up to 1,000 videos), then fetch transcripts; the web app's bulk mode and the API share the same cache, so nothing is ever extracted twice.