> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/glossary/youtube-transcript-api>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/glossary/youtube-transcript-api.mdx>

---

# What is a YouTube transcript API?

A YouTube transcript API takes a public video URL and returns caption text as structured JSON. Social Fetch: GET /v1/youtube/videos/transcript — on found, data.transcript.plainText and data.transcript.segments (text, startMs, endMs).

## What the response actually contains

Pass watch, youtu.be, or Shorts URL as url. Optional language (ISO 639-1, e.g. en) prefers that track. Returns { data, meta } with lookupStatus plus transcript when found.

Check data.lookupStatus before transcript fields — 200 alone doesn't mean text arrived. found → plainText + segments; not_found → no caption track.

## What it costs and what it doesn't do

1 credit per successful request — meta.creditsCharged is source of truth. found and not_found both bill; lookup_failed and 503 don't.

Reads existing caption tracks only — no speech-to-text. No captions → lookupStatus not_found.

## When teams reach for this

RAG/search indexes, brand-safety scans, repurposing tools that need spoken words or cue timestamps.

Try /tools/youtube-transcript once, then API with x-api-key for batch jobs. Same YouTube tag and key as other routes.

## How this compares to other ways of getting a transcript

Community scrapers: free but break without warning. YouTube Data API: no arbitrary public caption text without uploader OAuth.

Social Fetch: stable typed response, metered by credit. TikTok transcript shares lookupStatus but returns WebVTT with optional useAiFallback — YouTube has no AI fallback.

## Common mistakes

language param prefers a track — doesn't translate. Missing language → not_found or another available track.

Retrying not_found — billed again, won't create captions.

Expecting speech-to-text from audio — this endpoint reads existing tracks only.

## FAQ

### How do I get a YouTube transcript via API?

GET /v1/youtube/videos/transcript with x-api-key and url param. Check lookupStatus, read plainText or segments.

### Does the YouTube transcript API need an API key?

Yes — x-api-key on REST/SDK, or OAuth via hosted MCP. No anonymous access.

### Is this the same as the free YouTube transcript tool?

/tools/youtube-transcript runs the same lookup for manual use. Production/batch → API with your key.

### How much does the YouTube transcript endpoint cost?

1 credit per successful request (found or not_found). lookup_failed and 503 don't charge.

### Can I request a transcript in a specific language?

Optional language as ISO 639-1 — prefers that track if it exists. No translation.

### Does this work on any YouTube video, or only ones I own?

Any public video with an existing caption track — no uploader auth required.

### Does it generate captions if a video has none?

No — reads existing tracks only. No captions → not_found.

### How is this different from Social Fetch's TikTok transcript API?

Same lookupStatus envelope. YouTube: plainText + segments from existing captions only. TikTok: WebVTT + optional useAiFallback.

## Related

- [YouTube transcript endpoint](https://www.socialfetch.dev/platforms/youtube/videos-transcript)
- [YouTube transcript tool](https://www.socialfetch.dev/tools/youtube-transcript)
- [YouTube platform hub](https://www.socialfetch.dev/platforms/youtube)
- [TikTok transcript API](https://www.socialfetch.dev/glossary/tiktok-transcript-api)
- [Does YouTube have an API?](https://www.socialfetch.dev/glossary/does-youtube-have-an-api)
- [Lookup status](https://www.socialfetch.dev/glossary/lookup-status)
- [Pricing](https://www.socialfetch.dev/pricing)
- [Unified schema](https://www.socialfetch.dev/glossary/unified-schema)
