Facebook Video Downloader
Pricing
Pay per event
Facebook Video Downloader
Process one public Facebook video page for structured metadata and an optional stored video file. Choose metadata-only mode or a download quality preference for an Apify workflow.
Pricing
Pay per event
Rating
0.0
(0)
Developer
TrueFetch
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Facebook Video Downloader is a one-URL Actor for collecting available public video metadata and, when requested, storing the accessible video file in an Apify run.
- The public schema exposes two fields and requires only
video_url. - The quality control has four values: one metadata-only mode and three download preferences.
- The Dataset contract defines 39 fields covering the page, publisher, engagement, media, processing context, and stored file.
- Individual Facebook comment retrieval is not exposed; the reserved
commentsfield is normally empty.
Publish the Actor and verify its identity before using one public video in metadata mode as the first paid test.
What does Facebook Video Downloader do?
Facebook Video Downloader accepts one Facebook video-page URL. It converts the values available on that page into a normalized Dataset record containing an ID, thumbnail, title or description, duration, publication time, publisher identity, available engagement totals, media dimensions, audio labels, and the time and Actor reference associated with processing.
When a download mode is selected, the Actor can store an available media file and expose its URL through the video field. The quality choice is a preference among source formats. It is not a promise of a particular resolution, container, watermark state, or permanent file availability.
The Actor does not log into Facebook, search posts, expand a Page or profile, collect a feed, accept multiple URLs, or return individual comments. Facebook privacy, account, region, deletion, and sharing settings can make a URL visible in one browser context but unavailable to a public Actor run.
How do I run Facebook Video Downloader?
Confirm that its name and input form say Facebook Video Downloader and show only Video URL and Video Quality.
Use the same public-page scenario throughout this README:
{"video_url": "https://www.facebook.com/facebook/videos/10153231379946729/","video_quality": "metadata"}
Start the run, open Results, and inspect the Dataset item. A metadata result demonstrates that the URL is accessible and that the output shape is correct without adding file transfer. Only then rerun with low, medium, or high when the stored media is actually required.
Test from the Actor rather than relying on an authenticated browser. Use content only when your organization has the rights and authority required for processing, storage, and downstream use.
What data does Facebook Video Downloader return?
The effective Dataset has 39 named fields:
| Data area | Fields |
|---|---|
| Run context | processor, processed_at |
| Page and video | id, thumbnail, platform, title, description, duration, published_at |
| Publisher | author, author_id, author_url |
| Classification | categories, tags |
| Engagement | view_count, like_count, shares_count, dislike_count, comment_count |
| Media properties | width, height, fps, audio_title, audio_artist |
| Reserved and stored values | comments, video |
An abbreviated illustrative response for the shared Facebook URL is:
{"id": "10153231379946729","platform": "Facebook","title": "Example public Facebook video","author": "Facebook","thumbnail": "https://example.com/facebook-thumbnail.jpg","view_count": null,"comments": [],"video": ""}
The example documents keys and types rather than current values. Facebook can withhold or change fields, so null is not the same as zero. The public input does not request comment objects. Metadata mode intentionally leaves video empty.
Source-dependent fields also present in every item:
| Field | Meaning |
|---|---|
source_url | Canonical page URL of the item on its own platform |
media_type | Kind of media the source reports, such as video or audio |
live_status | Whether the item is a recording, currently live, or a finished stream |
availability | Source visibility, such as public, unlisted, or needs_auth |
age_limit | Minimum viewer age the source enforces; zero means no restriction |
language | Primary language of the item as reported by the source |
followers | Follower or subscriber count of the author at processing time |
is_verified | Whether the author's account carries a verified badge |
saves_count | Times viewers saved the item, on sources that expose it |
file_ext | Container extension of the selected media, such as mp4 or webm |
file_size | Size of the selected media in bytes, exact or approximate |
subtitles | Language codes of published subtitle tracks; auto-captions excluded |
chapters | Chapter markers with title and start and end time in seconds |
What inputs can I configure?
The public input contract contains:
| Input | Required | Effect |
|---|---|---|
video_url | Yes | Supplies one public Facebook video page. |
video_quality | No | Accepts metadata, low, medium, or high; metadata mode skips the stored file. |
The required URL includes a consistent example. The optional quality field has no prefill or example, so omission remains distinct from an explicit user choice. There is no max_comments property. Do not send undocumented fields in an attempt to enable comments or authentication.
What platforms and markets does Facebook Video Downloader cover?
The intended scope is a publicly reachable Facebook video page. The schema has no country, language, Page, group, profile, date, keyword, feed, or market control. It does not discover URLs; the caller supplies the exact page.
Facebook uses several URL styles for videos, watch pages, shared posts, and Reels. Do not infer universal coverage across those surfaces. Resolve redirected links when practical and test every page family your application expects to receive.
Privacy and login state are central limits. A post may be public to a logged-in user, restricted to an audience, unavailable in a region, or removed after the first run. Preserve the submitted URL and handle access failures as data outcomes rather than converting them into empty successful records.
Why use Facebook Video Downloader?
For an accessible public URL, the Actor offers a consistent response contract rather than a manual save-and-copy process. A developer can read a Dataset item through Apify APIs, trigger a webhook, or connect the result to an internal review queue. A stored file remains associated with the page metadata and run context.
Metadata mode supports low-risk qualification. The thumbnail-first overview helps a reviewer recognize the item. Nullable fields make source gaps visible, and the absence of a comment input prevents a workflow from promising data the public contract does not offer.
This local project is being prepared for publication. Store usage, ratings, reviews, and Actor identity cannot be claimed before the public route exists. The README therefore prioritizes a reproducible release test over marketing proof.
Who is Facebook Video Downloader for?
Developers can add one-video handling to a submission tool. Research teams can record available public metadata for an approved sample. Content operations teams can review campaign or brand videos they are authorized to process. Archivists can preserve permitted media together with the source URL and processing time. AI teams can send stored media to a separate transcription or classification service.
Apify Console users can perform the same one-URL workflow without writing code after the Actor draft is available to their account.
It is not suitable for private posts, account automation, Page crawling, group monitoring, feed scraping, comment analysis, batch discovery, rights verification, or guaranteed media recovery. Those goals require different inputs, permissions, and controls.
How can I use Facebook Video Downloader through the API or MCP?
Record and publish the real ID before release.
This HTTP example is syntactically valid and uses the shared scenario:
curl -X POST "https://api.apify.com/v2/acts/truefetch~facebook-video-downloader/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"video_url":"https://www.facebook.com/facebook/videos/10153231379946729/","video_quality":"metadata"}'
A focused hosted MCP entry follows the same publication dependency:
{"mcpServers": {"apify-facebook-video": {"url": "https://mcp.apify.com?tools=truefetch/facebook-video-downloader","headers": {"Authorization": "Bearer <APIFY_TOKEN>"}}}}
Call the tool with the same JSON input. Keep the token secret. The official Apify MCP documentation covers OAuth, bearer authentication, and tool selection.
How much does Facebook Video Downloader cost?
The local metadata declares flat pay-per-event prices. These are not a verified public Store offer:
| Declared event | Unit | Local price |
|---|---|---|
apify-actor-start | Actor start | $0.01 |
actor_usage | Metered usage event | $0.00001 |
metadata | One processed page without file download | $0.12 |
download | One processed page with file download and storage | $0.28 |
The smallest metadata test declares $0.13 in fixed start and metadata events, before metered usage or platform-related costs. A download path uses the $0.28 event instead of the metadata event.
Verify the published pricing setup and completed-run charges after release. No FREE, BRONZE, SILVER, GOLD, PLATINUM, or DIAMOND amounts are defined locally.
How does Facebook Video Downloader compare with alternatives?
| Option | Appropriate when | Trade-off |
|---|---|---|
| Facebook Video Downloader | One known public Facebook video needs metadata or a stored file | Public publication and representative access tests are still pending. |
| Best Video Downloader | Inputs come from several supported video sites | Wider scope offers less Facebook-specific expectation setting. |
| Video To Text | The required artifact is speech text | It solves transcription rather than page metadata. |
| Manual browser workflow | A person handles an occasional authorized video | Hard to normalize, audit, schedule, or connect to APIs. |
A Facebook video URL, a Page feed, comment threads, and a transcript are separate data products. Choose the narrowest tool whose public inputs and outputs match the requested job.
What are the limits and troubleshooting steps?
The Actor takes one URL and no credentials. It does not expose batch, Page, profile, feed, comments, locale, or date controls. Quality is a preference, fields are nullable, and repeated runs do not deduplicate previous results.
When a draft run fails, verify that all public surfaces use Facebook branding, then check whether the URL opens to the intended video without a private session. Retry in metadata mode. If metadata succeeds, test the stored file. An empty video in metadata mode is normal; an empty value in a download run requires log and storage inspection.
The Store, API, and Issues pages were unavailable at the verification checkpoint. Public issue history and live behavior therefore remain release blockers, not evidence of error-free operation.
Frequently asked questions
Which Facebook URL forms are accepted?
Use a permalink that points at one video: a /videos/<id>/ address, a watch link, or a post URL whose primary attachment is the video. A Page root, a group listing, or a profile URL has no single media target, so the run ends without a Dataset item.
Can it download private Facebook videos?
No private-content or login input is exposed. The documented scope is public video pages.
Can I collect comments?
No. The public schema has no comments control, and the reserved output is normally empty.
Does high quality guarantee a resolution?
No. The source formats available for that page determine the result.
Why are engagement fields null?
Facebook did not expose a usable value in that processing context. Null does not mean zero.
Does metadata mode create a file?
No. It intentionally skips file storage.
Can I submit a Page URL?
No. The contract is one video page, not Page discovery or feed crawling.
Why do engagement counters vary between runs?
Facebook exposes reaction, share, and view counts inconsistently depending on the surface that serves the page. The Actor writes what the source returns at that moment and leaves the rest null rather than substituting zero. Treat repeated runs as separate observations and compare them downstream.
Does the stored file keep the original audio track?
The downloader merges the best available video and audio renditions into a single MP4 container. When Facebook publishes only a muxed low-bitrate rendition, that rendition is stored instead, and width, height, and fps describe the file you actually received.
How should I structure a repeatable Facebook workflow?
Keep resolution and processing separate. Collect permalinks in your own system, then call this Actor once per permalink so each run maps to one Dataset item and one billed result event. That layout keeps retries cheap, because a failed source lookup charges no result event, and it keeps your audit trail simple: one input URL, one run, one record. Store the returned id alongside your own key so a later re-run can be reconciled against the original observation rather than creating an unexplained duplicate.
Related TrueFetch Actors
- Best Video Downloader handles a mixed-source video queue.
- Video To Text produces speech text from authorized media.
- Video Subtitles Downloader retrieves caption tracks when available.
Support
- Apify Actor dashboard
- Apify Actor API reference
- Apify MCP documentation
- TrueFetch community
- Direct support
After release, include the public Actor URL, stable ID, redacted input, run ID, and expected and observed results in support requests.