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.
/api/facebook/transcript What the API handles.
Every Facebook URL format below resolves to the same JSON response shape — no branching logic needed in your client code.
facebook.com/{user}/videos/{id}/ — from 30-second clips to multi-hour documentaries. Live replays also serve at this URL form.facebook.com/reel/<id>. Ideal for hook analysis and cross-posting to Instagram or TikTok.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.facebook.com/{user}/posts/<id> for posts containing video, plus fb.watch/<code>/ share-sheet shortcuts. Both resolve server-side.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.
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.
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.
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.
Other platforms & references.
Ship your Facebook pipeline — today.
Free credits included. No credit card required. Same auth across every platform endpoint.