Facebook Transcript API

Facebook Transcript API —
every video format.

POST any Facebook video URL — Reels, video posts, Watch URLs, posts containing video, or fb.watch short links — and get back a JSON transcript plus optional video download URLs. Built for publisher archives, media pipelines, and community tooling.

POST /api/facebook/transcript
JSON response Cache hits are free 1 credit per call No scraping
Supported

What the API handles.

Every Facebook URL format below resolves to the same JSON response shape — no branching logic needed in your client code.

01
Video posts
Standard videos on Pages and profiles at facebook.com/{user}/videos/{id}/ — from 30-second clips to multi-hour documentaries. Live replays also serve at this URL form.
02
Facebook Reels
Short-form vertical content at facebook.com/reel/<id>. Ideal for hook analysis and cross-posting to Instagram or TikTok.
03
Watch URLs
facebook.com/watch/?v=<id> — Facebook's dedicated video platform. Both shareable Watch links and direct video routes work; the bare /watch home page (no ?v=) is rejected.
04
Posts & fb.watch links
facebook.com/{user}/posts/<id> for posts containing video, plus fb.watch/<code>/ share-sheet shortcuts. Both resolve server-side.
Reference

Full docs at docs.transcriptmagic.com.

Per-platform response schemas, language-specific code samples (cURL, Python, JavaScript, Go, PHP), error catalog, and rate-limit headers all live on the docs subdomain. Built for both humans and agents.

Pricing

One credit per call.

Every successful API request uses 1 credit — whether it's a 15-second Reel or a 3-hour Live replay. View the full plan breakdown and annual pricing on the pricing page.

Use cases

What devs build with it.

Real pipelines shipping real revenue. If you're doing something new, email us — we love hearing what teams are building.

Live replay repurposing
Turn a 90-minute Facebook Live into a blog post, tweet thread, email newsletter, and YouTube description — all from one transcript.
Show & series indexing
Make Facebook video catalogs searchable by the actual spoken content, not just titles and descriptions.
Community management
Transcribe Page Q&As, member live streams, and community events so moderators can skim text instead of rewatching.
Media & publisher archives
Long-form news and documentary content gets transcribed to feed archives, quote-extraction pipelines, and SEO summary pages.
Customer-facing support
Transcribe brand Live sessions so support agents can answer questions that surfaced on stream without rewatching.
Accessibility workflows
Pair the transcript with the upstream video URL to build internal caption files, then mux them with your CMS pipeline.
FAQ

Questions devs ask.

The short answers. For anything else, email [email protected] — same-day reply.

Which Facebook URLs does the API accept?

Video posts (facebook.com/{user}/videos/{id}/), Reels (facebook.com/reel/<id>), Watch URLs (facebook.com/watch/?v=<id>), posts containing video (/posts/<id>), and fb.watch short links. The bare /watch home page without a ?v= query param is rejected — that's expected.

Does the API work on Facebook Live replays?

Yes — once the Live session ends and the replay becomes a regular video post, it's transcribable. Actively streaming Live sessions aren't supported; wait for the replay to publish.

What about private or friends-only videos?

Only public videos are reachable. Friends-only posts, private group videos, and personal-profile videos with restricted audiences aren't supported because the upstream data isn't available to the API.

How long a video can the API handle?

Long-form content works fine — documentaries, multi-hour Live replays, full-length shows. The response returns the full transcript for the entire video. Very long videos (2+ hours) may take slightly longer to process.

Are Reels and regular posts billed differently?

No. Every successful call is 1 credit, regardless of video length or format. A 15-second Reel and a 2-hour Live replay both cost the same. Cache hits and error responses are free.

Why no per-line timestamps in the response?

Facebook's caption source is delivered as joined text — there's no per-line timing metadata exposed upstream. If you need millisecond-precision timing, use the YouTube endpoint.

Does the response include a video download URL?

Yes — when available. The videoUrls object contains sd, hd, and thumbnail. Facebook usually provides both sd and hd. The field is omitted when the upstream doesn't expose a downloadable URL.

Related

Other platforms & references.

Ship your Facebook pipeline — today.

Free credits included. No credit card required. Same auth across every platform endpoint.

Dashboard Pricing API MCP Get Extension
User