MH MediaHarvester Web Context API

Transcript

YouTube Transcript

Convert a video URL into timestamped text so teams can search, summarize and cite the spoken content without manually scrubbing through the video.

POST /v1/youtube/transcript

What you get

Developer-ready output for YouTube Transcript

01 video_id or full URL input
02 Requested language priority
03 Minute-second timestamp labels
04 Three-step fallback chain metadata

Real workflows

Where teams use YouTube Transcript

These examples map to the endpoint's current inputs and outputs—not hypothetical platform features.

Research long interviews quickly

Pull the transcript, search for topics and jump back to the relevant timestamp when verification is needed.

OutcomeHours of video become searchable text.
Index training videos

Store transcript segments alongside internal learning resources so employees can search what was said.

OutcomeVideo knowledge becomes discoverable in text search or RAG.
Prepare editorial notes

Use timestamped transcript lines to draft summaries, clips or review notes before publication.

OutcomeFaster editorial workflows with traceable time references.

How it works

4 concrete steps from input to result

1

Resolve the video ID

2

Try youtube_transcript_api first

3

Fall back to yt-dlp subtitle tracks

4

Use pytubefix captions as the final local method

API response

Fields developers usually wire first

Retrieve timestamped YouTube transcript text through multiple local fallback methods for research, indexing and content analysis.

video_id language transcript[].timestamp timestamped_text
curl.exe -H "X-API-Key: YOUR_API_KEY" "http://127.0.0.1:8013/v1/youtube/transcript"

Developer FAQ

Common questions about YouTube Transcript

12 answers
What fallback order is used?

The API tries youtube_transcript_api first, then yt-dlp subtitle extraction, then pytubefix caption parsing.

Does the response include minutes and seconds?

Yes. Every transcript line includes start, duration, minute, second and a formatted timestamp field.

What if a video has no transcript?

The response returns success=false with the full fallback_chain so you can see which method failed and why.

What endpoint should I call for YouTube Transcript?

Use POST /v1/youtube/transcript. Local development accepts the X-API-Key header with YOUR_API_KEY, and production clients can use the same shape with their own key.

Can I call it from CLI, SDK, MCP and no-code tools?

Yes. The same endpoint can be called with curl, the TypeScript SDK, Python SDK, MCP server, Zapier, Make, n8n, Google Sheets or Excel workflows where appropriate.

How does caching with maxAgeMs work?

When maxAgeMs is supported, a cached response can be reused if it is younger than the requested freshness window. Set maxAgeMs to 0 when you need a fresh scrape or extraction.

What happens when a page is blocked or requires login?

The API returns clear states such as blocked, verification_required, login_required, robots_disallowed or permission_required. It does not promise to bypass access controls.

Which response fields should I store?

Most integrations store video_id, language, transcript[].timestamp, timestamped_text, plus source URL, status, confidence and timestamp fields when present. Keep source metadata so users can audit values later.

Can I batch this endpoint?

For local or small workflows, loop over a list of URLs or domains. For larger jobs, use crawl, batch workflow endpoints or a queue so failures and retries are tracked cleanly.

How should I handle errors in production?

Check success, HTTP status, error.type and retryable flags. Retry timeouts and temporary network failures, but do not retry robots, login or permission errors without changing input or authorization.

Does the API work with JavaScript-heavy sites?

The engine router starts with fast fetching and escalates when content quality is low. Browser-style rendering is used where available, while access-control barriers are reported explicitly.

Is this safe to use with customer data?

Send only domains, URLs or fields your workflow needs. Use retention controls for generated artifacts and avoid storing unnecessary raw HTML, screenshots or extracted personal data.

Related data APIs

Build the next step in the workflow