Documentation Python quickstart Blog Free tools Enterprise solutions hello@quanticdata.ioLog in

Video API: YouTube transcript, chapters and frames in one call

The Video API reads a YouTube video for a model. One POST returns the transcript in the language that is spoken, stamped [m:ss], the chapters the author wrote, and small frames taken where the speaker points at the screen or says a price, interleaved in one Markdown timeline. Three videos of 8 to 19 minutes came back in 1.7 to 7.3 seconds on 20 October 2026, billed only because the reads succeeded.

$2 of free API usage per month · No card required · Failed reads are never billed

POST /v1/scraper/video · read on 20 Oct 2026
$ curl https://api.quanticdata.io/v1/scraper/video \
    -d '{ "url": "https://www.youtube.com/watch?v=aircAruvnKk" }'
{ "video": { "title": "But what is a neural network? | Deep learning chapter 1",
             "duration_seconds": 1120 },
  "transcript": { "source": "captions", "language": "en" },
  "chapters": [ { "start": 0, "title": "Introduction example" }, … ],
  "frames": [ { "n": 3, "at": "2:10", "reason": "cue", "mime": "image/jpeg",
                "quote": "…you and I are just going to look at the simplest…" }, … ],
  "content": "## [0:00] Introduction example\n[0:04] This is a 3. It's sloppily written…" }
# 12 chapters · 12 frames · 5,780 tokens · 2.6 s · billed once, on success
Video API: one YouTube URL sent to POST /v1/scraper/video, the video drawn as a player with three marked moments at 0:10, 3:15 and 7:40, and a card with the timeline the API returns: frame 1 where a price is said, frame 5 where the speaker points at the screen, frame 12 at the second price, the transcript stamped [m:ss], 12 frames of 160×90 and 2,342 tokens.
One URL in, one timeline out: the transcript in the spoken language, the author's chapters, and a frame wherever the words point at the screen or a price is said.
As spokentranscript with [m:ss] stamps, never a translated track
Up to 30 frames160×90, where the speaker points, says a price, starts a chapter
1.7 to 7.3 sper read, three videos measured on 20 Oct 2026
Pay per successa video that cannot be read is never billed

Pricing

Per read. No subscription.

One price per video read, whatever its length: a window read with start and end costs the same as the whole video, and a transcript-only read (max_frames 0) too. A read costs $0.02 ($20 per 1,000 reads), the price shown in the dashboard and the API reference; the free allowance and the accounts below are the same as for every Data API.

$0.02per read, any lengthwindow or whole video
$0for a failed readremoved, gated or blocked: not billed
$2 freeevery month, foreverno card required
$0monthly minimumpure pay-as-you-go
Transcript · chapters · framesSpoken language keptstart / end windowsmax_tokens budgetResidential retry built inFailed reads never billed

What is the Video API?

A video API turns a video URL into text and pictures a language model can reason over. QuanticData answers with the transcript in the original language, because a translated track adds the translator's errors on top of the captioner's, the chapters the author wrote in the description, and up to 30 storyboard frames placed at the moments that matter. The model sees what the words point at without anyone downloading or watching the video.

The frames are the seek-bar tiles the platform already renders, 160×90 on most videos, so no media byte is pulled and a read stays in seconds. They are enough to see the scene and the objects, not to read small text, and the response says so. Everything comes back in one JSON envelope with a Markdown content timeline: the model reads it in order, picture, then the words said over it.

What one call returns

content

The timeline for the model: the description, each chapter as a heading, the transcript merged into 20-second blocks stamped [m:ss], and a [frame N · m:ss · why] marker where every picture belongs.

transcript

source says captions, automatic captions or none; language is the one spoken; available lists every track the video offers; segments adds the raw timed cues on request.

chapters

The author's own structure from the description, start second and title, kept as headings in the timeline so a long lesson reads as a lesson.

frames

Up to 30 small JPEGs, base64, each with its second, its reason (cue, price, chapter, scene, interval) and the quote that earned it. frames: false keeps the list without the image data.

tokens

An estimate of the timeline (chars/4), the full size before any trim, and whether max_tokens cut it, so the next call knows where to resume with start and end.

notes and meta

What to know about this read: automatic captions, no storyboard, text trimmed. meta.via_proxy says the read went through a residential exit; usage carries what it cost.

Frames: what a transcript alone cannot tell you

A transcript says "as you can see"; it does not say what was seen. The Video API fills that gap with the storyboard tiles the platform renders for its seek bar: 160×90 pictures, one every 2 to 10 seconds, picked by five rules and returned as base64 JPEG next to their [frame N] marker.

ReasonWhen a frame is takenIn the three measured videos
cuethe speaker points at the screen: "as you can see", "come vedete", "regardez", "wie ihr sehen könnt" and the like, in six languages21 of 36 frames
pricea price is said: "€499", "799 dollars"2
chapterthree seconds into each chapter the author wrote6
scenethe picture changes, to cover a stretch nobody points at6
intervalperiodic coverage when nothing else claims the stretch1

Two thirds of the frame budget go to what the words and the author point at; the rest covers the gaps, so no part of the video goes unseen. Frames are small by design. They show a product, a slide or a chart, not small text, and the response says so in its header.

Why does a transcript library get IP blocked, and what changes here?

The open-source youtube-transcript-api package reads captions from your own machine, and the platform refuses many datacenter addresses. On a laptop the call works. On a cloud server the same call answers a block or a rate limit, and the usual advice is to buy proxies and configure them yourself.

The Video API runs that whole path for you. Each read is attempted directly first. When the platform refuses the address or answers empty captions, the read is repeated through a residential exit inside the same call, with no parameter to set. All three reads measured on 20 October 2026 took that second path and still came back in 1.7 to 7.3 seconds. A read that still fails answers a stable payload.code and is not billed.

What you can build with it

Summaries with quotes

The transcript keeps the original words and their stamps, so a summary can cite [12:30] instead of paraphrasing, and a reader can jump there.

Product reviews to data

A price said out loud gets a frame: the model reads the number and sees the product at the same moment. Prices, verdicts and specs become rows.

Fact checks

Find where a claim is made, read the words around it and look at what was on screen, with a timestamp the reader can verify.

Lessons and tutorials

Chapters, slides and demos become a step-by-step guide an agent can follow or test, as in the tutorial.

Agents that watch

The MCP tool read_video gives Claude, Cursor or any MCP client the same timeline, pictures inline, mid-conversation.

Long videos in windows

start and end read one part at a time; max_tokens keeps each call inside the model's budget. One price per read either way.

Three videos, measured

On 20 October 2026 we sent three public YouTube videos to the production endpoint with the default settings, one call each, and timed the whole round trip from a client outside our network. The transcript came back in the spoken language every time, with twelve frames of 160×90 pixels, and every read was billed once.

VideoLengthTranscriptChaptersFramesTokensTime
A product review in Italian8:23it, automatic captions012 (2 at a price, 6 where the speaker points, 4 scene changes)2,3421.7 s
A 12-chapter maths lesson18:40en, captions (31 tracks available)1212 (5 chapter starts, 6 where the speaker points, 1 periodic)5,7802.6 s
A developer tutorial with 25 chapters12:22en, automatic captions2512 (9 where the speaker points, 2 scene changes, 1 chapter start)4,2707.3 s

Each read fetched between 442 KB and 565 KB from the platform: the player payload, the captions and the storyboard sheets, never the media. The review has no chapters, so its frames follow the words: the price said in the first ten seconds and again at 7:40 got a frame each, and "come vedete" earned six more. The lesson has chapters, so five frames land on chapter starts and the rest where the speaker says "let me show you".

Integration

One POST, one timeline

curl https://api.quanticdata.io/v1/scraper/video \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://www.youtube.com/watch?v=aircAruvnKk",
        "max_frames": 8, "max_tokens": 6000 }'

Add start and end (seconds or m:ss) to read a window of a long video, languages to prefer another caption track, segments: true for the raw cues. Every field is in the API reference.

Give it to your agent as a tool

The QuanticData MCP server exposes this API as the read_video tool: the agent passes a URL and receives the timeline with the frames inline as images, so Claude, Cursor or any MCP client can watch a video mid-conversation. From your own loop, the REST call above plus one function that turns [frame N] markers into image blocks is all it takes. The step by step is in Train an agent with the Video API; the rest of the data layer is in the web data API for AI. Agents that read the open Agent Skills format learn the tool from the skills QuanticData publishes: npx skills add https://quanticdata.io.

QuanticData vs a typical transcript API

QuanticData Video APITypical transcript API
What comes backtranscript, chapters, description and frames, in one timelinethe transcript, sometimes with timestamps
Languageas spoken, every available track listeda default or translated track
When the platform blocks the requestretried through a residential exit inside the same callan "IP blocked" or rate-limit error to handle yourself
Billingper successful read, failures freeper request, errors often counted
Free tier$2 every month, renews forevera one-time quota
AI agent accessnative MCP tool read_video, frames as imagesa wrapper to write

The setting to start with

POST /v1/scraper/video with url, max_frames: 8 and max_tokens: 6000: enough frames to see the scene, a timeline that fits a prompt. One price per successful read, failed reads never billed, and $2 of free API usage per month to try it before you pay.

Get my free API key
Three real videos read with the Video API on 20 October 2026: an 8:23 review in Italian with automatic captions, 2,342 tokens in 1.7 seconds; a 12:22 tutorial in English with 25 chapters, 4,270 tokens in 7.3 seconds; an 18:40 lesson in English with 12 chapters and 31 caption tracks, 5,780 tokens in 2.6 seconds; twelve 160×90 frames each, transcript always in the spoken language.
The three reads of the table above: one call each with the defaults, timed from outside our network.

FAQ

The short answers on transcripts, frames, limits and cost.

Something else? Ask us

What is the Video API?

The Video API is a REST endpoint that reads a YouTube video for a language model. One POST with the URL returns the metadata, the transcript in the language that is spoken with [m:ss] timestamps, the chapters the author wrote and up to 30 small frames taken at the moments that matter, all interleaved in one Markdown timeline. No model runs on our side: you hand the timeline to yours.

Is this a YouTube transcript API?

It includes one. The transcript comes with timestamps from the captions the video carries, manual or automatic, in the spoken language. On top of it you get what a transcript alone cannot give: the chapters, the description, and frames placed where the speaker says "as you can see", where a price is said and at each chapter start, so the model also sees what the words point at.

What happens when a transcript library gets its IP blocked or rate limited?

Nothing on your side. Every read is attempted directly first and, when the platform refuses a datacenter address or answers empty captions, repeated through a residential exit automatically, inside the same call. In our three measured reads of 20 October 2026 all three went through that second path and came back in 1.7 to 7.3 seconds. A read that still fails is reported with a stable code and never billed.

Is there a free YouTube transcript API?

Every account with a permanent email address gets $2 of API usage free each month, with no card required, shared across all QuanticData Data APIs. The allowance renews monthly, so a small pipeline can run on it indefinitely; beyond it you pay per successful read with no subscription.

Does it translate the transcript?

No, by design. A translated caption track adds the translator's errors on top of the captioner's, and the model reading the transcript translates better from the original. The transcript therefore arrives in the spoken language; pass languages to prefer another track the video offers, and transcript.available lists every track.

How are the frames chosen?

From the words first: where the speaker points at the screen ("as you can see", "come vedete", "regardez" and the like in six languages), where a price is said, and at the start of each chapter. Stretches nobody points at get a frame where the picture changes or every so often, so no part of the video goes unseen. The default is 12 frames, the maximum 30, and max_frames: 0 returns the transcript alone.

Can I read only part of a long video?

Yes. start and end accept seconds or m:ss and limit both the transcript and the frames to that window. max_tokens trims the text to a budget and says so in tokens.truncated and in a note, so a second call with start/end reads the rest. Price per read is the same for a window as for the whole video.

What about videos without captions?

The read still succeeds: you get the metadata, the description, the chapters and the frames, and transcript.source says none. Videos that need a signed-in viewer, private or removed videos answer a 403 or 404 with a stable payload.code and are not billed.

Can I call it from Python or JavaScript?

Yes. It is plain HTTPS with a Bearer key and a JSON body, so requests in Python, fetch in Node, curl or any HTTP client works; the code samples on this page and the API reference cover all three. Frames come back as base64 JPEG strings you can pass straight into a model's image input.

Can AI agents use it directly?

Yes. The QuanticData MCP server exposes the same call as the read_video tool: Claude, Cursor, Windsurf, VS Code and any MCP client receive the timeline with the frames inline as images, no glue code. The tutorial on this site shows the MCP setup and the REST loop side by side.

Does it work with LangChain, n8n or CrewAI?

Yes. It is one HTTPS call, so any framework that wraps a function as a tool can use it: the LangChain tab on this page is a ten-line @tool, an n8n HTTP Request node posts the same JSON, and CrewAI or the OpenAI Agents SDK wrap the Python function. MCP clients need no wrapper at all.

How much does the Video API cost?

You pay per successful read: one price for the video, whatever its length, and the same price for a window read with start and end. A read costs $0.02 ($20 per 1,000 reads); reads that fail for any reason are never billed, and $2 of usage is free every month.

Read your first video in a minute

$2 free every month, no card. The transcript, the chapters and the frames from the first call.

Get my free API key

From the blog