Facebook Transcript Scraper
Pricing
$5.99/month + usage
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
Maintained by CommunityActor stats
0
Bookmarked
15
Total users
0
Monthly active users
10 days ago
Last modified
Categories
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:
| Field | Type | Required | Description |
|---|---|---|---|
videoUrls | array | ✅ Yes | List of public Facebook Video or Reel URLs to scrape |
maxItems | integer | No | Limit 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
| Field | Type | Description |
|---|---|---|
inputUrl | string | The original URL you provided |
videoId | string | The Facebook video/reel numeric ID |
canonicalUrl | string | The resolved canonical URL of the video |
pageName | string | The name of the Facebook page or creator |
hasSrtCaptions | boolean | true if native SRT captions were found and used |
transcriptEntryCount | integer | Total number of transcript segments in the result |
transcript | array | Array 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
- URL Resolution — The actor fetches your input URL and follows all Facebook redirects to find the canonical video page (e.g.
/videos/...). - Caption Discovery — It searches the page HTML for embedded SRT caption metadata specific to the target video ID.
- SRT Download & Parsing — If English captions are found, the
.srtfile is downloaded and parsed into timestamped segments. - Intelligent Fallback — If no captions exist, it extracts inline voiceover transcription or the post caption text from the page JSON.
- 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:
- Open the actor in the Apify Console
- Go to the Proxy & Browser configuration tab
- Select Residential as the proxy type
- Set the country to United States (recommended)
Supported URL Formats
https://www.facebook.com/reel/VIDEO_IDhttps://www.facebook.com/watch?v=VIDEO_IDhttps://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
Legal & Ethical Notice
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.


