Skip to main content
POST https://api.transcriptmagic.com/api/facebook/transcript
Reels, video posts, Watch URLs, posts containing video, and fb.watch short links are all supported.

Request

curl -X POST https://api.transcriptmagic.com/api/facebook/transcript \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.facebook.com/user/videos/123456789/"}'

Response

{
  "transcript": "Hey everyone, today I want to walk\nyou through how we built the new product line...",
  "videoUrls": {
    "sd": "https://...mp4",
    "hd": "https://...mp4",
    "thumbnail": "https://...jpg"
  },
  "credits": 994
}
transcript is a plain string with newlines between spoken lines — there is no per-line timing in the Facebook response and no title field. videoUrls is included when the upstream exposes a downloadable video URL (Facebook usually provides both sd and hd); it is omitted when neither is available.

Supported URL formats

FormatExample
Standard video posthttps://www.facebook.com/{user}/videos/{id}/
Reelshttps://www.facebook.com/reel/<id>
Watchhttps://www.facebook.com/watch/?v=<id>
Posts containing videohttps://www.facebook.com/{user}/posts/<id>
fb.watch short linkhttps://fb.watch/<code>/
Live replayCompleted Live videos served at the standard /videos/<id>/ URL
The bare facebook.com/watch Watch home page (no ?v=) is rejected with 400 Invalid URL — the validator requires a v query parameter.

FAQ

No. Only publicly viewable videos can be transcribed.
Group-only videos aren’t supported because the API can’t authenticate as a group member.
No — only completed Live replays. Live-in-progress streams don’t have stable transcripts to fetch.
If a video URL is available but no captions, you’ll get a 200 with transcript: "" and a videoUrls object — and you’ll be charged 1 credit. If the upstream has neither captions nor a video URL, you’ll get 404 No transcript available for this video and you won’t be charged.