Facebook Transcript Scraper avatar

Facebook Transcript Scraper

Pricing

$5.99/month + usage

Go to Apify Store
Facebook Transcript Scraper

Facebook Transcript Scraper

Effortlessly extract spoken-word transcripts from public Facebook Videos and Reels. Retrieves native SRT captions with precise timestamps when available, with smart fallback to voiceover text. Supports bulk URLs and all Facebook video formats.

Pricing

$5.99/month + usage

Rating

0.0

(0)

Developer

Neuro Scraper

Neuro Scraper

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

0

Monthly active users

10 days ago

Last modified

Share

Extract full transcripts and closed captions from public Facebook Videos and Reels — with accurate timestamps — using Apify's residential proxies.

Overview

Facebook Transcript Scraper is a powerful Apify Actor that automatically extracts spoken-word transcripts from public Facebook Videos and Reels. It downloads the native SRT caption file (with precise start/end timestamps) when available, and intelligently falls back to extracting voiceover or post caption text when no captions exist.

Whether you need transcripts for content repurposing, accessibility, SEO, or AI training data — this actor handles it at scale.


Key Features

  • 🎯 SRT Caption Extraction — Downloads the native Facebook subtitle file and parses it into timestamped segments (start, end, text)
  • 🔁 Smart Fallback — If no SRT captions exist, extracts inline voiceover transcription or post caption text automatically
  • 🌐 Residential Proxy Support — Bypasses geo-restrictions using Apify's residential proxy network for reliable scraping
  • 🔗 URL Auto-Resolution — Handles all Facebook URL formats: /reel/, /watch/, /videos/, and shortened links
  • 📦 Bulk Processing — Scrape transcripts from multiple videos in a single run
  • 🚀 Fast & Lightweight — No browser required; pure HTTP scraping for maximum speed

Input Parameters

Configure the actor with the following inputs in the Apify Console or via the API:

FieldTypeRequiredDescription
videoUrlsarray✅ YesList of public Facebook Video or Reel URLs to scrape
maxItemsintegerNoLimit the number of videos to process. 0 = no limit (default)

Example Input

{
"videoUrls": [
"https://www.facebook.com/reel/1549207066583030",
"https://www.facebook.com/watch?v=1665818941169475"
],
"maxItems": 10
}

Output Format

Each successfully scraped video produces one record in the Apify dataset.

Output Schema

FieldTypeDescription
inputUrlstringThe original URL you provided
videoIdstringThe Facebook video/reel numeric ID
canonicalUrlstringThe resolved canonical URL of the video
pageNamestringThe name of the Facebook page or creator
hasSrtCaptionsbooleantrue if native SRT captions were found and used
transcriptEntryCountintegerTotal number of transcript segments in the result
transcriptarrayArray of transcript objects (see below)

Transcript Entry — With SRT Timestamps

When native captions are available, each entry includes precise timestamps:

{
"start": 1.0,
"end": 3.5,
"text": "Not everyone can win."
}

Transcript Entry — Voiceover / Caption Fallback

When no SRT file is found, a single plain-text entry is returned without timestamps:

{
"text": "Greatness takes many forms. Esports World Cup is live in Paris..."
}

Full Output Example

{
"inputUrl": "https://www.facebook.com/reel/1549207066583030",
"videoId": "1549207066583030",
"canonicalUrl": "https://www.facebook.com/Cristiano/videos/greatness-takes-many-forms/1549207066583030/",
"pageName": "Cristiano Ronaldo",
"hasSrtCaptions": true,
"transcriptEntryCount": 15,
"transcript": [
{ "start": 0.0, "end": 2.5, "text": "Not everyone can win." },
{ "start": 2.5, "end": 5.0, "text": "The ones who do, they're different." },
{ "start": 5.0, "end": 7.8, "text": "Precision." }
]
}

How It Works

  1. URL Resolution — The actor fetches your input URL and follows all Facebook redirects to find the canonical video page (e.g. /videos/...).
  2. Caption Discovery — It searches the page HTML for embedded SRT caption metadata specific to the target video ID.
  3. SRT Download & Parsing — If English captions are found, the .srt file is downloaded and parsed into timestamped segments.
  4. Intelligent Fallback — If no captions exist, it extracts inline voiceover transcription or the post caption text from the page JSON.
  5. Data Push — Results are saved to the Apify dataset in structured JSON format.

Setup & Requirements

Proxy Configuration

This actor requires Apify Residential Proxies to reliably access Facebook content. Before running:

  1. Open the actor in the Apify Console
  2. Go to the Proxy & Browser configuration tab
  3. Select Residential as the proxy type
  4. Set the country to United States (recommended)

Supported URL Formats

  • https://www.facebook.com/reel/VIDEO_ID
  • https://www.facebook.com/watch?v=VIDEO_ID
  • https://www.facebook.com/PAGE_NAME/videos/VIDEO_TITLE/VIDEO_ID/
  • https://web.facebook.com/reel/VIDEO_ID

Limitations

  • Only publicly accessible videos can be scraped. Login-restricted content is not supported.
  • SRT captions are only available for videos where the creator or Facebook has enabled closed captioning.
  • Facebook's structure changes frequently — if you encounter issues, check for actor updates.

Use Cases

  • Content Repurposing — Turn video transcripts into blog posts, social captions, or newsletters
  • Accessibility — Generate text transcripts for videos that lack captions
  • AI & NLP Training — Build datasets of spoken-word content from public videos
  • SEO Research — Extract spoken keywords and topics from competitor video content
  • Journalism & Research — Archive and search the spoken content of public videos at scale

This actor scrapes only publicly available Facebook content. Always ensure your use complies with Facebook's Terms of Service and applicable data protection laws. Do not use this tool to collect personal data without a lawful basis.