BulkTranscripts

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 docs

No sign-up. No credit card. Works on channels, playlists, and single videos.

Three 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.

Related

See the integration docs