6 min read

Facebook Reels Transcription API

Queue public Facebook Reel and video URLs for transcription, poll job status, and retrieve structured text with timestamped segments.

Create your Fast Transcriber API key

Create a Bearer key, queue your first transcription, and poll for structured text with timestamped segments.

Turn public Facebook Reels and videos into text from your backend. Submit the Facebook URL, poll the asynchronous job, and use the completed transcript and timestamped segments in your application.

Build Facebook video transcription into publishing operations

Public Facebook video can enter a review, archive, or accessibility workflow through the same API contract as other supported sources. Your system keeps one authentication model and one transcript schema instead of maintaining a Facebook-specific transcription service.

Choose the right public Facebook Reel or video URL

  • Reels: submit a facebook.com/reel/{id} URL copied from the public Reel.
  • Video posts: public facebook.com/.../videos/{id} links identify ordinary Facebook videos outside the Reels surface.
  • Short share URLs: fb.watch links can work when they still redirect to a public video that does not require an account.

Quickstart: queue a public Facebook Reel or video transcription

Create a Fast Transcriber API key and store it in a server-side environment variable. Send the public media URL as source_url; never expose the Bearer key in browser code or commit it to source control.

curl --request POST https://fast-transcriber.com/api/v1/transcriptions \
  --header "Authorization: Bearer $FAST_TRANSCRIBER_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "source_url": "https://www.facebook.com/reel/123456789012345",
    "speaker_diarization": false
  }'

A valid request returns 202 Accepted. This means the job was queued, not that the source was fetched successfully. Read the Location response header, set LOCATION_PATH to that path, and poll it until the job status is completed or failed.

LOCATION_PATH="/api/v1/transcriptions/95c3fdd8-..."
curl --request GET "https://fast-transcriber.com$LOCATION_PATH" \
  --header "Authorization: Bearer $FAST_TRANSCRIBER_API_TOKEN"

Ready to run this request? Create an API key, or review every endpoint in the API documentation.

Work with text and timestamped segments

Completed jobs contain the transcript text and timestamped segments available under the authenticated account's plan limits. The same response shape lets an application index a video, jump to quoted moments, create summaries, or feed the transcript into an authorized search or RAG workflow.

{
  "data": {
    "id": "95c3fdd8-...",
    "filename": "source-video.mp4",
    "status": "completed",
    "duration_seconds": 84,
    "text": "Completed transcript text...",
    "segments": [
      { "start": 0, "end": 3.8, "text": "First segment..." }
    ]
  }
}

Set speaker_diarization to true when speaker labels are needed. Speaker diarization requires a Pro account and uses the same account limits as the web application.

What developers build with public Facebook Reel or video transcripts

  • Media archives: make authorized public video collections searchable by the words spoken in each clip.
  • Campaign review: convert approved Reels and videos into text for brand, legal, or localization workflows.
  • Content operations: create time-aligned source text for summaries, clips, and human-reviewed captions.

Supported links and access requirements

The link resolver accepts supported public Facebook Reel and video URLs that are viewable without a Facebook account.

  • The Reel or video must be public and accessible without signing in.
  • Private posts, restricted groups, removed media, and login-gated videos cannot be imported.
  • Embedded videos hosted by another platform should be submitted using the original supported media URL when possible.

If a recording is private and you are authorized to process it, retrieve the media through your own authenticated workflow and use the direct audio and video upload API instead.

Troubleshoot public Facebook Reel or video imports

  • Separate public posts from public pages: a public Page does not guarantee every video post is visible without signing in. Test the exact video URL.
  • Avoid group and feed URLs: restricted-group posts, feed pages, and generic profile URLs do not provide a publicly fetchable video source.
  • Follow the original host: when a Facebook post embeds a video from elsewhere, submit the original YouTube or direct-media URL instead.

Plan for asynchronous errors

Production integrations should handle invalid or inaccessible sources, authentication failures, account limits, and temporary processing failures. Immediate HTTP failures use an {"error":{"code":"...","message":"..."}} envelope. A queued source can later return data.status as failed with details in data.error when polled. Do not retry private, removed, or login-gated media indefinitely; surface a clear message or offer an authorized file-upload fallback.

Frequently asked questions

Does the API support both Facebook Reels and videos?

It accepts supported public Facebook Reel and video URLs that can be opened without signing in.

Do private posts or restricted-group videos work?

No. The media must be publicly accessible without a Facebook login.

Can the transcript distinguish speakers?

Speaker diarization is available on Pro by setting speaker_diarization to true.

Related API articles

Create your Fast Transcriber API key

Create a Bearer key, queue your first transcription, and poll for structured text with timestamped segments.