Facebook Reels Scraper — Video Links, Views & Engagement
Pricing
from $3.00 / 1,000 video scrapeds
Facebook Reels Scraper — Video Links, Views & Engagement
Collect public Facebook Reels and videos with available MP4 links, transcripts and creator fields. No login. No user cookies. Bulk export: JSON, CSV, Excel and API. PPE: from $2.5/1K video results; start fee, usage extra.
Pricing
from $3.00 / 1,000 video scrapeds
Rating
5.0
(1)
Developer
Apivault Labs
Maintained by CommunityActor stats
1
Bookmarked
354
Total users
124
Monthly active users
11 hours ago
Last modified
Categories
Share
Facebook Reels & Video Scraper — MP4 Download, Transcript, No Login

Scrape and download public Facebook Reels and Videos without login or cookies. Give the scraper a Reel/Video URL — or just a keyword — and get back the direct MP4 download link, thumbnail, caption, hashtags, view count, reactions, comments, shares, creator details and a clean transcript / subtitles. Export to JSON, CSV or Excel.
Built for predictable cost and reliability: bounded result budgets, successful-video events and clean run-and-exit. Platform usage and optional external ASR remain separate costs.
✅ What this Facebook video scraper does
- 📥 Download Facebook Reels & Videos (MP4) — available HD/SD links for supported public videos
- 📝 Transcript & subtitles — native captions parsed to text + timed cues (free), or bring your own speech-to-text key
- 🔎 Keyword & hashtag search — discover public Reels/Videos via search engines, no URL list needed
- 📊 Full engagement data — views, reactions, comments, shares + a 0–100 engagement score
- 👤 Creator info — name, profile URL, ID, followers, rating
- 🏷️ Smart metadata — hashtags, @mentions, auto category, language, music/audio, resolution & orientation
- 📅 Date filter, geo-targeting, real-time webhook, retries — control that most scrapers skip
No login, no cookies, no API key. Only public content.
📦 Output (per video)
| Field | Description |
|---|---|
videoId, videoUrl, videoType | ID, canonical URL, reel/video/live |
title, caption, hashtags, mentions, category, language | Content & metadata |
videoMp4Url (+ HD/SD), thumbnailUrl, durationSeconds | Media & download links |
width, height, aspectRatio, orientation | Video dimensions |
viewCount, reactionCount, commentCount, shareCount, engagementScore | Engagement; score is null when views or interaction counts are unavailable |
creatorName, creatorUrl, creatorId, creatorFollowers, creatorRating | Creator |
publishedAt, musicTitle, musicArtist | Timing & audio |
transcript, transcriptCues, transcriptSummary, hasTranscript | Transcript |
⚙️ Input
| Field | What it does |
|---|---|
workflow | Auto-detect, specific video URLs, keyword search, profiles, or combined sources |
startUrls | Reel/Video URLs — /reel/<id>, /watch/?v=<id>, /<page>/videos/<id>, fb.watch/…, bare IDs |
searchQueries | Keywords / #hashtags to discover public Reels & Videos |
profileUrls | Facebook Profiles or Pages whose public reels should be discovered |
maxResults, maxCostUsd | Result ceiling and estimated video-event budget; not an all-in invoice cap |
outputPreset | compact for MCP, engagement for social metrics, or legacy-compatible full |
sinceDays, keywordFilter | Keep only recent videos / captions matching a keyword |
downloadMp4, includeTranscript | Toggle MP4 links and native transcript |
transcribeWithAsr + asrApiKey | Optional: transcribe audio with your own OpenAI-compatible speech-to-text key |
proxyCountry | Geo-target the proxy (US, GB, DE, …) |
maxConcurrency, timeout, maxRetries | Throughput & reliability |
notifyWebhookUrl | POST each result to Zapier / Make / n8n / Slack in real time |
Example input
{"workflow": "combined","searchQueries": ["#fitness"],"startUrls": ["https://www.facebook.com/reel/2166091230582141/"],"maxResults": 10,"outputPreset": "engagement","sinceDays": 30,"downloadMp4": true,"includeTranscript": true,"proxyCountry": "US"}
MCP and AI-agent quick start
Use an explicit workflow, a small maxResults, and a compact preset so the tool call is predictable and the response stays small:
{"workflow": "videoUrls","startUrls": ["https://www.facebook.com/reel/2166091230582141/"],"maxResults": 3,"outputPreset": "compact"}
Read SUMMARY after every run. It contains status, workflow, output preset, charged row count, candidate coverage and next steps. Read ERRORS for invalid input and skipped or failed candidates. outputPreset: "full" remains the default for backward compatibility; the current schema and omitted-input runtime default for maxResults are 1,000. Set a smaller explicit ceiling for a first run; zero disables that result ceiling.
Supported workflow capabilities
| Capability | Coverage to check |
|---|---|
| URL or ID with video metadata | Public availability and canonical identity |
| MP4 links | Available media formats; links can expire |
| Native captions or optional ASR | Source captions, or the user's own external service |
| Keyword discovery | Query relevance and bounded candidate coverage |
| Recency filtering | Available publication timestamps |
| Category, music and creator metadata | Optional or derived fields; coverage varies |
| Proxy country | Request region, not verified viewer geography |
| Webhook delivery | User-configured endpoint and its delivery status |
| Video-event budget | Estimated event budget; resources are separate |
💡 Use cases
- Download Facebook Reels in bulk for re-use, archives or analysis
- Video transcript extraction for SEO, captions, repurposing to blog/LinkedIn
- Competitor & creator research — track engagement, hooks and posting cadence
- Trend & hashtag monitoring — find top-performing Reels in any niche
- Ad creative & influencer scouting — filter by engagement, followers, recency
- Feeding n8n / Make / Zapier automations and AI agents (MCP)
💸 Pricing
Pay per result. Video events are charged for successfully scraped and saved videos; filtered, duplicate, wrong-profile or failed candidates do not receive a video event. Actor-start and Apify platform usage charges may still apply. maxCostUsd is an estimated video-event budget, not an exact total invoice cap.
❓ FAQ
Do I need to log in or provide cookies? No. The scraper only reads public Reels and Videos.
Can I download the MP4? Yes — videoMp4Url gives a direct HD/SD link. Facebook links are time-limited, so download promptly.
Paste an actual Facebook URL, not a placeholder ID. Links copied as Markdown ([text](https://...)) are normalized automatically, and duplicate Reel/Watch forms of the same video are fetched once.
Does it get the transcript? Yes, when the video has captions (parsed to text). For videos without captions, enable BYO speech-to-text with your own API key.
Can I search instead of providing URLs? Yes — use searchQueries with keywords or #hashtags.
Search candidates must also match your query in available video title, caption, creator name or hashtags. Unrelated or unverifiable fallback results are skipped without a video event; this can reduce the count but prevents charging for irrelevant videos.
How can I get more results? Increase maxResults and, for profiles, maxReelsPerProfile. searchDepth explores more public search pages; candidateMultiplier reserves candidates to replace unavailable or rejected videos. Defaults balance coverage and requests. Higher settings cost more and cannot guarantee the requested count or a complete profile archive. Profile matches use owner URL/ID when exposed, or exact owner name with an ID; ambiguous matches are skipped.
How do I control costs? Use maxResults, the estimated maxCostUsd budget and Apify run charge/time limits. Start and platform usage charges are separate from video events.
What about private videos? Only public content is returned. Private/removed videos are reported with a clear status and are not billed.
The Dataset contains only delivered videos, so one video equals one Dataset row. Run totals are available separately in the SUMMARY record; failed candidate diagnostics are stored in ERRORS and do not receive a video event.
Not affiliated with or endorsed by Facebook/Meta. Use responsibly and in line with applicable laws and platform terms; scrape only public data.
Ready-to-import n8n workflow
Monitor public videos and hand normalized results to the next step with the maintained Facebook Reels n8n connector. Download the quickstart workflow, import it into n8n, add your Apify API credential, and provide the public URLs you want to process.
Plan a Facebook Reels research workflow
A Facebook Reels scraper can support creator research, content inventories and video analysis when the selected public videos expose enough information. Start with a known public video before running broad keyword discovery. Keep canonical video IDs with your export so that an expiring media link is not your only reference to an observation.
| Research goal | Useful settings | Review before using the result |
|---|---|---|
| Inventory a public video | Explicit URL and compact output | Canonical ID, caption and media coverage |
| Compare creator content | Profile workflow and a small result limit | Owner match and incomplete discovery coverage |
| Explore a topic | Search query and engagement output | Query relevance and available count fields |
| Process captions | Native transcript enabled | hasTranscript, language and missing caption tracks |
Inspect one public video
{"workflow": "videoUrls","startUrls": ["https://www.facebook.com/reel/2166091230582141/"],"maxResults": 1,"outputPreset": "compact","downloadMp4": false,"includeTranscript": false}
This is a small metadata request. Disabling MP4 delivery does not request a downloaded video file or guarantee that a public video remains accessible.
Build a small creator sample
{"workflow": "profiles","profileUrls": ["https://www.facebook.com/NASA"],"maxReelsPerProfile": 3,"maxResults": 2,"outputPreset": "engagement","downloadMp4": false,"includeTranscript": false}
Profile discovery is a sample of available candidates. It is not an exhaustive archive, and an owner mismatch is skipped. An empty result is not evidence that the page has never published a Reel.
Research a specific public topic
{"workflow": "search","searchQueries": ["NASA mission"],"maxResults": 2,"searchDepth": 1,"candidateMultiplier": 2,"outputPreset": "engagement","downloadMp4": false}
Candidates are checked against the query in available content or creator fields. A limit is a ceiling, not a guaranteed quantity or a popularity ranking. Search-engine coverage can lag the original video.
Request native captions without an external ASR key
{"workflow": "videoUrls","startUrls": ["https://www.facebook.com/reel/2166091230582141/"],"maxResults": 1,"includeTranscript": true,"transcribeWithAsr": false,"downloadMp4": false,"outputPreset": "full"}
When native captions are unavailable, hasTranscript can be false. Empty transcript text is not a silent video. Optional external ASR is a separate service requiring the user’s own key and potentially its own charges.
Budget, export and interpretation
The current video-event rates per 1,000 delivered videos are $5 Free, $4 Bronze, $3.50 Silver, $3 Gold/Platinum and $2.50 Diamond. A startup event costs $0.00005 per GB with a minimum of one event; platform usage is additional. For example, two videos at the Free result rate cost $0.01 in video events, before startup, platform resources and any external speech service. Use the live Pricing tab for the account's applicable rate.
maxCostUsd estimates the video-event budget using an internal reference rate.
It does not cap every component of the bill, particularly across plan tiers.
Use an Apify run spending limit and a timeout alongside small result limits.
Larger search depth and candidate reserves may consume requests without adding
any delivered rows. Increasing concurrency cannot make blocked content public.
Inspect SUMMARY and ERRORS before handing the Dataset to n8n or an AI agent. Keep videoId/videoUrl, collected data and coverage together; deduplicate future exports by video identity. JSON preserves timed cues and nested metadata more faithfully than a single CSV cell. A returned MP4 URL can expire and is not a permanent file in your storage. Scores compare available observations, not verified reach, unique viewers, advertising conversion or influencer quality.
Does a Reel always have HD media, a transcript and all engagement counts? No. Those fields depend on public source coverage. Missing counts are unknown; missing media or captions must not be replaced by fabricated values.
Does a profile or hashtag search return every matching video? No. Discovery has bounded candidate coverage, filtering and source availability constraints. Keep the requested workflow and the returned candidate status with the export.
n8n and developer integrations
Use this Actor in your automation or application with the existing community integrations below. An Apify account and API token are required; Actor and platform charges follow the current pricing.
- n8n community node: n8n-nodes-apivault-facebook-reels. Install package name
n8n-nodes-apivault-facebook-reelsin a self-hosted n8n instance that permits community packages. - n8n source and usage: GitHub.
- Python client and examples: GitHub.
- n8n source and usage: GitHub.
These are community packages. Publication on npm does not establish n8n verification or availability in n8n Cloud. Review the linked package README for supported inputs and setup.