Facebook Page Video Downloader
Pricing
from $3.49 / 1,000 page videos
Facebook Page Video Downloader
Download every public video from Facebook Pages. Get direct MP4 links, thumbnails, titles, captions, publish dates, duration, play counts and reaction breakdowns from Page URLs, handles or IDs. No login. Export JSON, CSV, Excel.
Pricing
from $3.49 / 1,000 page videos
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Facebook Page Video Downloader
Facebook Page Video Downloader collects every public video from one or more Facebook Pages and gives you a direct MP4 download link, a thumbnail, the title and caption, publish date, duration, play count, and the reaction breakdown for each one.
| Paste up to 50 Page URLs, handles, profile IDs, or Page IDs and get one clean row per video, with 25+ fields from the Page's public Videos tab, newest first, with no Facebook login, cookies, or Graph API token. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Use Apify Actor parsebird/facebook-page-video-downloader to download public videos from Facebook Pages. Example with ApifyClient (Python): client.actor("parsebird/facebook-page-video-downloader").call(run_input={"pageTargets":["https://www.facebook.com/WhatsApp","natgeo"],"maxResults":25}). Inputs: pageTargets array of strings required (1 to 50 public Facebook Pages as Page URLs like https://www.facebook.com/WhatsApp, handles or slugs like WhatsApp, profile IDs like 100064758844406, profile.php?id= links, or delegate Page IDs like 280034132055819; duplicates of the same Page are processed once); maxResults integer optional, minimum 1 (run-wide cap on saved videos across all Pages; leave empty to get every public video). Output: one row per video, newest first per Page; failed Pages create no rows. Fields: target, page {id, delegatePageId, name, handle}, videoId, url, title, description, publishedAt (ISO 8601), durationSeconds, playCount, reactionCount, shareCount (null, Facebook does not expose it in Page video lists), reactions {like, love, care, haha, wow, sad, angry}, author {id, delegatePageId, name}, media {playableUrl (direct MP4), thumbnailUrl, quality (sd or hd), format, width, height}. MP4 links are signed by Facebook and expire after a few days. API docs: https://docs.apify.com/api/client/python/ and https://docs.apify.com/api/client/js/. Token: https://console.apify.com/account/integrations.
What is Facebook Page Video Downloader?
Facebook Page Video Downloader is a Facebook video scraper and downloader API for public Pages. Give it a Page link, handle, or ID, and it returns every video on the Page's public Videos tab with a direct MP4 link, thumbnail, title and caption, publish date, duration, play count, and reactions split by type (Like, Love, Care, Haha, Wow, Sad, Angry).
You don't need a Facebook account, cookies, or a Graph API app. The easiest way to try it is to open the actor, keep the four prefilled Pages (Facebook, Instagram, Meta, and WhatsApp), and click Start. The prefilled run saves 25 videos in a few seconds.
The actor returns download links. It does not store the video files; open media.playableUrl in a browser or pass it to any download tool.
What can Facebook Page Video Downloader do?
- ๐ฌ Download Facebook Page videos as MP4 through a direct
fbcdn.netlink. - ๐ Get a Page's whole video library: leave Max videos empty and the actor pages through the full Videos tab, newest first.
- ๐ Use any Page identifier: Page URLs (including
m.facebook.comandweb.facebook.com), handles, slugs,profile.php?id=links, profile IDs, and delegate Page IDs. - ๐ Track performance: play counts, total reactions, and a per-reaction breakdown for every video.
- ๐งน Clean input handling: the same Page entered twice in different forms is processed once, and links that are not Pages (groups, watch links) are skipped with a log message.
- โฑ๏ธ Automate with Apify schedules, the Apify API, webhooks, and integrations such as Google Sheets, Make, Zapier, and Slack.
- ๐ Export results as JSON, CSV, Excel, HTML, or XML.
What data can you extract from Facebook Page videos?
| Field | Description |
|---|---|
videoId, url | Facebook video ID and the video's Facebook link |
title, description | Video title and the post caption |
publishedAt | Publish time in ISO 8601 (UTC) |
durationSeconds | Video length in seconds |
playCount | Public play count |
reactionCount, reactions | Total reactions and counts for Like, Love, Care, Haha, Wow, Sad, and Angry |
media.playableUrl | Direct MP4 link |
media.thumbnailUrl | Video thumbnail image |
media.quality, media.format, media.width, media.height | Quality hint (sd or hd), file format (mp4), and the video's dimensions |
page | Page profile ID, delegate Page ID, name, and handle |
author | ID, delegate Page ID, and name of the video owner |
target | The Page link, handle, or ID you entered for this row |
How to download videos from a Facebook Page
- Open Facebook Page Video Downloader and click Try for free or Start.
- In Facebook Pages, add one Page per line, for example
https://www.facebook.com/WhatsApp,natgeo, or100064758844406. - Set Max videos to cap the run, or leave it empty to download every public video from every Page.
- Click Start.
- Open the Output tab and click a
media.playableUrlto save the MP4, or export the results as JSON, CSV, or Excel.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
pageTargets | array of strings | Yes | โ | 1 to 50 public Facebook Pages: Page URLs, handles, slugs, profile IDs, or delegate Page IDs |
maxResults | integer | No | empty (all videos) | Run-wide cap on saved videos across all Pages, minimum 1. Prefilled with 25 |
proxyConfiguration | object | No | โ | Optional. The actor picks its own network route and doesn't need a proxy |
maxResults is shared by all Pages in the run. With several Pages and a low cap, Pages are read in parallel, so the videos you get come from a mix of Pages rather than from the first Page only.
Input / Output
Example input
{"pageTargets": ["https://www.facebook.com/facebook","https://www.facebook.com/instagram","https://www.facebook.com/Meta","https://www.facebook.com/WhatsApp"],"maxResults": 25}
Example output (one row from a real run)
{"target": "https://www.facebook.com/WhatsApp","page": {"id": "100064758844406","delegatePageId": "280034132055819","name": "WhatsApp","handle": "WhatsApp"},"videoId": "1467263565193775","url": "https://www.facebook.com/WhatsApp/videos/the-tldr-version/1467263565193775/","title": "the tldr version","description": "the tldr version","publishedAt": "2026-03-30T16:31:43.000Z","durationSeconds": 10,"playCount": 1256116,"reactionCount": 8036,"shareCount": null,"reactions": {"like": 7768,"love": 181,"care": 31,"haha": 45,"wow": 6,"sad": 2,"angry": 3},"author": {"id": "100064758844406","delegatePageId": "280034132055819","name": "WhatsApp"},"media": {"playableUrl": "https://video-bos5-1.xx.fbcdn.net/o1/v/t2/f2/m412/AQPSiP3myhFQSiZcDA82HWFVSy4tZBsuWPIikYtK2uRw6Lb6-TdWWcBL72IqeDW3BFlbuejxOZS8Syv3kcDDkeUgIr8fIaDDHxfOXsdcvg.mp4?_nc_cat=103&_nc_sid=8bf8fe&...&oe=6AC4371F&bitrate=170448&tag=sve_sd","thumbnailUrl": "https://scontent-bos5-1.xx.fbcdn.net/v/t15.5256-10/660804614_3856253358008608_4227983087319331556_n.jpg?stp=dst-jpg_s960x960_tt6&...","quality": "sd","format": "mp4","width": 1080,"height": 1350}}
The two media links are shortened here. Real rows contain the full signed URL. Download results from the Output tab in JSON, CSV, Excel, HTML, or XML, or set up a run on the Input tab.
Python API example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("parsebird/facebook-page-video-downloader").call(run_input={"pageTargets": ["https://www.facebook.com/WhatsApp", "natgeo"],"maxResults": 50,})for video in client.dataset(run["defaultDatasetId"]).iterate_items():print(video["page"]["name"], video["publishedAt"], video["playCount"], video["media"]["playableUrl"])
JavaScript API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('parsebird/facebook-page-video-downloader').call({pageTargets: ['https://www.facebook.com/WhatsApp', 'natgeo'],maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const video of items) {console.log(video.page.name, video.publishedAt, video.playCount, video.media.playableUrl);}
See the Python client docs and JavaScript client docs for more options.
Use cases
- Brand and social media teams: back up your own Page's video library, or keep a copy of partner content you have rights to repost.
- Competitor research: compare how often rival Pages post video and which videos get the most plays and reactions.
- Media monitoring: schedule daily runs with a low Max videos to catch new uploads from news or brand Pages.
- Researchers and journalists: archive public Page videos with their captions, dates, and engagement before they are removed.
- AI and data pipelines: send MP4 links to transcription or moderation tools, such as our Video & Audio Transcriber.
How it works
- The actor opens each Page's public Videos tab the way a logged-out visitor sees it and reads the Page's IDs, name, and handle.
- It then pages through the Page's video list, newest first, and builds one row per video with links, counts, and reactions.
- It stops when the Page has no more videos or when the run reaches Max videos. Pages that can't be found are logged and skipped, and they don't create rows.
How much does it cost to download Facebook Page videos?
What is the price per Facebook video?
The actor uses pay-per-event pricing: you pay per video saved, and platform usage is included.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
video-extracted | $0.00429 ($4.29 / 1,000) | $0.00399 ($3.99 / 1,000) | $0.00379 ($3.79 / 1,000) | $0.00349 ($3.49 / 1,000) |
One video-extracted event is one video row in the dataset. Pages that fail don't cost anything. The prefilled 25-video run costs about $0.11 on the Free plan, and 1,000 videos cost $4.29. Apify's free plan includes monthly platform credits you can use to try the actor.
Is it legal to download videos from Facebook Pages?
Is scraping Facebook Page videos legal?
The actor only reads public Pages and videos that Facebook shows to anyone without logging in. Downloading public data is generally legal in many jurisdictions, but videos belong to their creators and are protected by copyright, and Pages can contain personal data covered by laws such as GDPR and CCPA. Get permission before reusing someone else's videos, respect Facebook's Terms, and consult your lawyer if unsure. Read more in Apify's guide: Is web scraping legal?
Other video downloaders and related Actors
| Actor | Best for |
|---|---|
| Twitter (X) Video Downloader | MP4 links for videos and GIFs in tweets |
| Instagram Reels Audio Scraper | Reels that use a given Instagram sound |
| YouTube Shorts Downloader | YouTube Shorts download links |
| TikTok Slideshow Downloader | Every photo from TikTok photo-mode posts |
| Telegram Media Downloader | Media from public Telegram channels |
| Kick Video Downloader | Kick clips and VODs |
| Video & Audio Transcriber | Transcribing the videos you download |
FAQ
Which inputs work?
Page URLs from www.facebook.com, m.facebook.com, web.facebook.com, or fb.com; profile.php?id= links; /pages/<name>/<id> links; handles and slugs such as WhatsApp or @WhatsApp; numeric profile IDs such as 100064758844406; and delegate Page IDs such as 280034132055819. Group, event, and watch links are skipped with a warning in the log.
Does it get every video on the Page? It gets every video that Facebook lists on the Page's public Videos tab. In our tests that was 327 videos for WhatsApp and more than 1,800 for National Geographic (back to 2021). Some Pages list fewer videos publicly than you might expect. NASA's Videos tab, for example, showed 41 videos.
What video quality do I get?
media.playableUrl is the MP4 that Facebook serves to logged-out visitors. In our tests it was the standard-definition (sd) version. media.quality tells you which one each link is.
Why is shareCount always null?
Facebook's Page video list doesn't include share counts, so the field is always null. It stays in the output so the row shape is stable.
Why is description empty for some videos?
The video was posted without a caption. title usually still has the video's title.
How long do the download links work? Facebook signs the links with an expiry time. Links from our test runs expired about four days after the run. Download the files you need soon after the run, or run the actor again for fresh links.
Why was a Page skipped? The Page doesn't exist, the handle is misspelled, or the Page restricts who can see it and isn't visible to logged-out visitors. The run log names each Page that failed. Failed Pages don't create rows and aren't charged.
Can I download videos from personal profiles or private groups? The actor works for public Pages and public profiles in professional mode that have a Videos tab. It can't read private profiles or groups.
Can I run it on a schedule or from my app? Yes. Use Apify schedules for recurring runs, call it from the API tab, or connect it to Make, Zapier, Google Sheets, or Slack through integrations.
Where can I report issues? Open the Issues tab on the actor page with your input and run ID.