Fast Transcriber API · Facebook

Facebook video transcription API for public media

Add public Facebook video transcription without creating a separate processing pipeline. Submit an accessible Reel, video-post, or valid fb.watch link and use Fast Transcriber's shared asynchronous job API from queue to result.

Use it from your product backend or connect a compatible AI agent over MCP.

  • Bearer authentication
  • Asynchronous jobs
  • Structured JSON
Queue a public Facebook Reel
curl --include --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
  }'
202 Accepted · Location: /api/v1/transcriptions/{id}
Why Fast Transcriber?

A consistent API for Facebook video-to-text

Facebook media has many URL shapes, but your server sends each supported public video through the same source_url field. The response remains a normal transcription job, so there is no Facebook-only polling or result code to maintain.

Visibility is the key boundary. A URL that opens for a signed-in user may still be unavailable to a server without that session. Build for a possible failed job when an audience, age, region, group, or page restriction blocks media retrieval.

With Fast Transcriber

  • One asynchronous job lifecycle across supported sources
  • Source resolution and media retrieval handled server-side
  • One transcript response with text and timestamped segments
  • A direct-upload fallback for authorized private media

Building every source yourself

  • Separate URL and access handling for every source
  • Queue, retry, polling, and failure-state infrastructure
  • Source-specific results that need normalization
  • Ongoing maintenance as external sources change

One API family

One source workflow. One predictable job model.

Use the same status lifecycle and transcript fields across supported public URLs and account-owned uploads.

Input reference

What this endpoint accepts

Supported inputs

  • Public facebook.com/reel links
  • Public facebook.com/videos links
  • Valid fb.watch shares that resolve publicly
  • One video or Reel per job

Access and input boundaries

  • The video must be viewable without a Facebook account, cookie, or login session.
  • Pages, groups, feeds, and profile URLs are not individual video inputs.
  • Audience, group, age, region, or removal restrictions can prevent resolution.
  • Use file upload for an authorized recording that cannot be made public.
How it works

Queue once, then follow the job

Transcription runs outside the original HTTP request. Save the returned job identity and poll its status instead of submitting duplicate work.

  1. 01

    Send one Facebook video URL

    POST source_url to /api/v1/transcriptions with a bearer API key. Create one job for each media item.

  2. 02

    Save the job location

    A valid request returns 202 Accepted. Persist the Location header and job ID instead of repeating the POST.

  3. 03

    Poll to a final state

    GET the job URL with bounded backoff until status is completed or failed, then stop polling.

Features and use cases

Built for production transcription workflows

Owned video libraries

Add searchable transcript text to permitted Reels, announcements, recorded talks, and published campaigns.

Content operations

Give editors timestamped speech data for review, reuse, and human-checked caption workflows.

Customer-facing tools

Accept a public Facebook video URL and return a durable job status through your own product interface.

Code example

Send a real API request

Authenticate from your backend, create the job, and store the returned Location header for status retrieval.

Queue a public Facebook Reel
curl --include --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
  }'
202 Accepted · Location: /api/v1/transcriptions/{id}

Implement the complete request flow

Authentication, source rules, request fields, and status handling are covered in the technical guide.

Read the Facebook source guide
Result contract

One predictable transcript response

Facebook jobs return the standard transcription record, including completed text, duration, and timestamped segments. This keeps your storage model identical across public-link sources.

status
Use completed and failed as terminal states.
text
The complete transcript becomes available on completion.
segments[]
Each segment includes start, end, and text values.
duration_seconds
The detected duration of the processed recording.
application/json
{
  "data": {
    "id": "95c3fdd8-...",
    "filename": "source-media.mp4",
    "status": "completed",
    "created_at": "2026-08-24T16:30:00.000Z",
    "duration_seconds": 1842,
    "text": "Completed transcript text...",
    "segments": [
      { "start": 0, "end": 4.2, "text": "Welcome." }
    ]
  }
}
200 OK · completed transcript
Common questions

Facebook API FAQ

Are fb.watch links accepted?
They can be submitted while the short URL still redirects to one Facebook video that is publicly accessible.
Can the API access videos inside a private group?
No. The source worker does not enter groups or use your Facebook session. Upload an authorized copy instead.
Why can a valid Facebook URL fail?
A syntactically valid URL can still be restricted by audience, age, region, group membership, removal, or a later visibility change.
Does the endpoint wait for the transcript?
No. POST /api/v1/transcriptions queues the work and returns 202. Retrieve the job URL until it completes or fails.
Related endpoints

Use the same job model elsewhere

API overview

Ready to build?

Add Facebook transcription to your product.

Create a key, then follow the source guide to queue your first job.