Facebook Video Transcript Scraper
Pricing
from $3.00 / 1,000 videos
Facebook Video Transcript Scraper
The Facebook Video Transcript Scraper turns Facebook Reels and videos into searchable text, capturing full transcripts with timestamps, available caption languages, post text, Page name, publish date, length, views and reactions — ideal for content research and AI pipelines.
Pricing
from $3.00 / 1,000 videos
Rating
0.0
(0)
Developer
FalconScrape
Maintained by CommunityActor stats
1
Bookmarked
23
Total users
10
Monthly active users
4 days ago
Last modified
Categories
Share
🎬 Facebook Video Transcript Scraper: Reels to Text with Timestamps
Get a Facebook video transcript for any public Reel or video, as clean JSON, CSV or Excel. The Facebook Video Transcript Scraper returns the spoken words (full text plus timestamped cues) together with the whole post: post text, Page name and verified status, publish date, length, thumbnail, views and reactions. Use it to transcribe Facebook videos in bulk, as a Facebook transcript generator for content research, or to feed Reels into an AI pipeline.
Give it a Page and it pulls that Page's latest reels on every run, so it works as a monitor rather than a one-off lookup. Paste video URLs instead when you already know which videos you want.
🎯 Use Cases
- Facebook video transcription at scale: convert Facebook video to text for a whole list of Reels without watching them one by one.
- Competitor content research: schedule a weekly run on rival Pages and read every new reel's script, hook and call to action.
- Facebook reel transcript for AI: send
transcriptto an LLM to summarise a Page's messaging, pull quotes or tag topics. - Brand and product mention tracking: find every reel where a product, person or campaign is named out loud, not just in the caption.
- Repurposing and subtitles: reuse the timestamped cues as a starting point for blog posts, show notes or Facebook video captions in another tool.
- Engagement benchmarking: compare views and reactions across a Page's recent reels alongside what was actually said.
✨ Features
- Transcript with timestamps: the full text plus cue-level
startandendseconds, ready to search, quote or feed to an LLM. - Track Pages, not just links: enter Page names and get their latest reels each run. Add a date filter and a scheduled run returns only what is new.
- Every caption language listed: many reels carry several machine-translated tracks, and the full list comes back in
availableCaptionLocalesat no extra cost. - Honest about translations: when the only text available is a machine translation rather than the original speech, the row says so in
transcriptIsTranslation. - AI transcription for the rest: switch it on and videos with no transcript of their own get transcribed too, billed per started minute only when used.
- The whole post, not just the words: post text, publish date, length, thumbnail, dimensions, Page name, verified status, views and reactions.
- Never pays for empty rows: unavailable videos are skipped and not charged, and a video with no transcript is charged as a video only.
- No account needed: no login, no cookies, nothing to configure.
🛠️ How to Transcribe Facebook Videos
- Enter Pages (
vogue,BBCNews, or a Page URL) or paste video URLs (reel, watch or video links). You can use both in one run. - Optionally set a date filter (
7 daysor2026-08-01) and switch on AI transcription for videos without a transcript. - Run it and download transcripts and post data as JSON, CSV or Excel, or pull them through the API.
⚙️ Input
| Field | What it does |
|---|---|
Facebook Pages (pages) | Pages to pull recent reels from. A Page name or Page URL. |
Video URLs (videoUrls) | Specific reel, watch or video URLs. Use instead of, or alongside, Pages. |
Only videos newer than (onlyPostsNewerThan) | Skip anything older. Accepts 2026-08-01 or 7 days. Empty means no filter. |
Transcribe videos that have no captions (transcribeWithAI) | Also run AI transcription on videos with no transcript of their own. Off by default. |
Language (language) | Spoken language for AI transcription: automatic by default, or one of 15 languages. |
Maximum videos (maxResults) | Stop after this many videos. Default 50. |
Track two Pages for the past week:
{"pages": ["vogue", "BBCNews"],"onlyPostsNewerThan": "7 days","maxResults": 50}
Transcribe specific videos, including ones without a transcript:
{"videoUrls": ["https://www.facebook.com/reel/1069402162590703/"],"transcribeWithAI": true}
💰 Pricing
Pay only for what comes back. No monthly rental.
| Event | Price | When it's charged |
|---|---|---|
| Video | $0.003 per video ($3.00 per 1,000) | Per video returned, with all its post data. |
| Transcript | $0.005 per transcript | Only when the video actually comes back with text. |
| Transcript minute | $0.02 per started minute | Only when AI transcription is switched on and used for a video. |
| Actor start | $0.00005 per run | Charged once when the run starts. |
A video with a transcript costs $0.008; one without costs $0.003. Examples:
- One Page, 10 recent reels, 4 with transcripts: 10 × $0.003 + 4 × $0.005 + $0.00005 ≈ $0.05.
- 100 videos, 60 with transcripts: $0.30 + $0.30 + $0.00005 ≈ $0.60.
- One 15-second reel transcribed by AI: $0.003 + $0.005 + $0.02 = $0.028.
The list of caption languages is included free. New Apify accounts include free monthly usage credits, so you can try it at no cost.
📊 Sample Output Data
A real row from a scheduled run on the vogue Page (thumbnail URLs and cues trimmed):
{"id": "1069402162590703","url": "https://www.facebook.com/reel/1069402162590703/","page": "Vogue","description": "Alexander Skarsgård and Dakota Johnson get candid as Valentino Beauty's new brand ambassadors for #Vendetta. Head to the link in the comments to watch the full video.","createdAt": "2026-10-12T15:26:48.000Z","durationSeconds": 40.554,"thumbnail": "https://scontent-iad6-1.xx.fbcdn.net/v/t15.5256-10/842768620_…","width": 1080,"height": 1920,"ownerId": "100059378598050","ownerName": "Vogue","ownerVerified": true,"ownerUrl": "https://www.facebook.com/Vogue","ownerPicture": "https://scontent-iad3-1.xx.fbcdn.net/v/t39.30808-1/358106809_…","soundtrack": "Vogue · Original audio","isOriginalAudio": true,"views": 306000,"viewsText": "306K","reactions": 2900,"reactionsText": "2.9K","availableCaptionLocales": ["en_US"],"transcriptIsTranslation": false,"hasTranscript": true,"transcriptSource": "platform","transcriptLanguage": "en_US","transcript": "Drama or comedy? Drama day. I knew that was coming. Ugh. You're going to smell it on on skin rather than. Yeah, sure. Come on. Interesting. …","transcriptCues": [{ "start": 0, "end": 5.601, "text": "Drama or comedy? Drama day. I knew that was coming. Ugh." },{ "start": 5.601, "end": 10.201, "text": "You're going to smell it on on skin rather than. Yeah, sure." }],"skippedReason": null,"scrapedAt": "2026-10-15T06:08:35.065Z"}
views and reactions are numbers parsed from the rounded counts Facebook shows (306K), with the original text kept in viewsText and reactionsText. transcriptSource is platform when the text came with the video and ai when AI transcription produced it. When there is no text, hasTranscript is false, transcript is null, transcriptCues is empty and skippedReason explains why in plain words.
| Field | Description |
|---|---|
id, url, page | Video identity and the Page it belongs to. |
description, createdAt, durationSeconds | The post text, when it went up, how long it runs. |
thumbnail, width, height | Cover image and video dimensions. |
ownerId, ownerName, ownerVerified, ownerUrl, ownerPicture | The Page behind it. |
views, reactions, viewsText, reactionsText | Engagement as numbers and as shown on Facebook. |
soundtrack, isOriginalAudio | The sound used, when Facebook names one, and whether it is original audio. |
transcript, transcriptCues | The spoken words as one block, and split into timed cues. |
transcriptLanguage, transcriptSource, transcriptIsTranslation | Language of the text, where it came from, and whether it is a machine translation. |
availableCaptionLocales | Every caption language the video offers. |
hasTranscript, skippedReason | Whether text was found, and why not when it wasn't. |
🔁 Schedule and Integrate
For Page monitoring, run it once a day or once a week with onlyPostsNewerThan set to the same window (1 day or 7 days): each run picks up only the new reels, and together the datasets form a rolling archive of a Page's videos and what was said in them. Set it up in Apify Schedules. Send the results to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations, so new transcripts land where your team already works.
🤖 Use with AI Agents (MCP)
This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com), so an agent can fetch and read a Facebook video transcript on request. An agent can call it with:
{ "videoUrls": ["https://www.facebook.com/reel/1069402162590703/"] }
❓ Facebook Transcript FAQ
Does Facebook have an official API for video transcripts? Meta offers the Graph API, which needs a developer app and an access token, and app review for most data on Pages you don't manage. It is built for managing and measuring your own content, not for returning the spoken-word transcript of any public reel. This Actor needs no key, app or approval, and returns the transcript, timed cues, caption languages and post data in one row.
How do I get a transcript of a Facebook video? Paste the reel or video URL into Video URLs and run the Actor. If the video already has a transcript you get it straight away; if not, switch on Transcribe videos that have no captions and it is transcribed by AI.
Do I need a Facebook account or login? No. Nothing to log into and nothing to configure. Only public videos are supported.
Why did some videos come back without a transcript?
Facebook publishes a transcript for only part of its reels, and AI transcription is off by default. In recent runs on a large Page, about half the reels came with text. skippedReason tells you when no transcript was published; switch on AI transcription to fill the gaps.
Why is a transcript in a language I didn't expect?
Some videos offer only machine-translated caption tracks and no original-language one. You then get the English track when there is one, otherwise the first listed, with transcriptIsTranslation set to true and transcriptLanguage naming the language. With AI transcription on, those videos are transcribed from the original speech instead, and the translation is kept only if that fails.
Can I get every video a Page has ever posted? Not from a Page name alone: about 10 recent reels are listed per Page. The Actor is built to watch Pages over time with a schedule. For older videos, pass their URLs in Video URLs.
Can I get comments? Not in this Actor. It focuses on the video and its transcript. Need a field that isn't here? Open an issue on the Actor's Issues tab.
Is scraping Facebook legal? Collecting publicly available data is generally lawful in the EU and US. Use the output responsibly and respect copyright and personal data rules in your jurisdiction.
🔗 Related Scrapers
- Facebook Pages Scraper: Page profiles and contact details for the Pages whose reels you transcribe here.
- Facebook Ads Library Scraper: ads from the Meta Ad Library by keyword, to compare paid messaging with a Page's organic reels.
- TikTok Video Transcript Scraper: the same transcripts and post data for TikTok videos.
- X (Twitter) Video Transcript Scraper: transcripts of videos posted on X.
- YouTube Transcript Scraper: YouTube video transcripts for cross-platform content research.
