Facebook Page Video Downloader avatar

Facebook Page Video Downloader

Pricing

from $3.49 / 1,000 page videos

Go to Apify Store
Facebook Page Video Downloader

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

ParseBird

Maintained by Community

Actor 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.net link.
  • ๐Ÿ“š 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.com and web.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?

FieldDescription
videoId, urlFacebook video ID and the video's Facebook link
title, descriptionVideo title and the post caption
publishedAtPublish time in ISO 8601 (UTC)
durationSecondsVideo length in seconds
playCountPublic play count
reactionCount, reactionsTotal reactions and counts for Like, Love, Care, Haha, Wow, Sad, and Angry
media.playableUrlDirect MP4 link
media.thumbnailUrlVideo thumbnail image
media.quality, media.format, media.width, media.heightQuality hint (sd or hd), file format (mp4), and the video's dimensions
pagePage profile ID, delegate Page ID, name, and handle
authorID, delegate Page ID, and name of the video owner
targetThe Page link, handle, or ID you entered for this row

How to download videos from a Facebook Page

  1. Open Facebook Page Video Downloader and click Try for free or Start.
  2. In Facebook Pages, add one Page per line, for example https://www.facebook.com/WhatsApp, natgeo, or 100064758844406.
  3. Set Max videos to cap the run, or leave it empty to download every public video from every Page.
  4. Click Start.
  5. Open the Output tab and click a media.playableUrl to save the MP4, or export the results as JSON, CSV, or Excel.

Input parameters

ParameterTypeRequiredDefaultDescription
pageTargetsarray of stringsYesโ€”1 to 50 public Facebook Pages: Page URLs, handles, slugs, profile IDs, or delegate Page IDs
maxResultsintegerNoempty (all videos)Run-wide cap on saved videos across all Pages, minimum 1. Prefilled with 25
proxyConfigurationobjectNoโ€”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 ApifyClient
client = 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

  1. 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.
  2. It then pages through the Page's video list, newest first, and builds one row per video with links, counts, and reactions.
  3. 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.

EventFree planBronzeSilverGold
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 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?

ActorBest for
Twitter (X) Video DownloaderMP4 links for videos and GIFs in tweets
Instagram Reels Audio ScraperReels that use a given Instagram sound
YouTube Shorts DownloaderYouTube Shorts download links
TikTok Slideshow DownloaderEvery photo from TikTok photo-mode posts
Telegram Media DownloaderMedia from public Telegram channels
Kick Video DownloaderKick clips and VODs
Video & Audio TranscriberTranscribing 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.