Facebook Page Videos Scraper — Plays, Reactions, No Login avatar

Facebook Page Videos Scraper — Plays, Reactions, No Login

Pricing

$2.00 / 1,000 videos

Go to Apify Store
Facebook Page Videos Scraper — Plays, Reactions, No Login

Facebook Page Videos Scraper — Plays, Reactions, No Login

Videos and reels of public Facebook Pages, newest first: title, the post's text, exact time, plays, duration, thumbnail, address, reactions in total and by kind, comment and share counts, plays per hour. Many Pages a run, only-new mode for recurring runs. No login.

Pricing

$2.00 / 1,000 videos

Rating

0.0

(0)

Developer

Berkan Kaplan

Berkan Kaplan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

3 days ago

Last modified

Share

Facebook Page Videos Scraper — Plays, Reactions, No Login 🚀

foXLabs Facebook series: Page Posts · Page Profile · Post Comments · Page Reviews · Page Events

🎉 Videos and reels of public Facebook Pages, newest first, exactly as Facebook lists them to a signed-out visitor — title, the post's text and hashtags, exact time, plays, duration, thumbnail, the video's address, reactions in total and by kind — plus what we add: plays per hour since publication. Many Pages a run, filters by plays and date, only-new mode for recurring runs. No login, no cookies, no account of anyone.

🔍 What is the Facebook Page Videos Scraper — and when should you use it?

Give this Actor public Facebook Pages and it returns their videos and reels as clean rows — newest first, with play counts, duration, reactions by kind and a per-hour velocity.

Use it when you need: a Page's video performance (plays, reactions, velocity); the fastest-growing videos; or a recurring feed of only-new videos.

Use something else when: you need a Page's text posts and to tell reels from videos → Page Posts; comments on a video's post → Post Comments.

🤖 Use with AI agents

Already on the Apify MCP server? Ask for this Actor by name: foxlabs/facebook-page-videos-scraper. An agent can discover it, run it and read the dataset over MCP.

Real-time Standby API. This Actor ships a Standby endpoint so an agent can fetch a Page's newest videos on demand — GET /videos?page=NASA&maxVideos=12, billed with the same video event.

Otherwise paste this into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want public Facebook Page videos & reels using the Apify Actor
`foxlabs/facebook-page-videos-scraper`.
Input: `pages` is a list of Pages; `maxVideosPerPage` caps rows; `minViews` and `publishedAfter`
filter. Each row has title, views, viewsPerHour, durationSeconds, reactionsByType and playableUrl.
Start with:
{ "pages": ["NASA"], "maxVideosPerPage": 25 }
Ask me which Pages to track, run the Actor, then summarise the videos by plays.

The machine-readable API, MCP config and OpenAPI definition live at apify.com/foxlabs/facebook-page-videos-scraper.md.

📋 Overview

Everything you need to turn a public Facebook Page's videos into clean, structured data — plays, duration, reactions by kind and velocity — in one Actor, with no login, cookies or account.

Why teams pick this Actor:

  • ✅ Plays + velocity — views, views of the post, and plays per hour since publication.
  • 🎞️ The video file — playableUrl (an mp4 on Facebook's CDN, 30 of 30 in our measurements; signed, download soon).
  • ❤️ Reactions by kind — like/love/care/haha/wow/sad/angry each with its count.
  • 🔁 Only-new mode — schedule recurring runs that bring only videos not seen before.
  • 💰 Pay only for results — one video event per row; filters, status rows and unreadable Pages free.
  • 🤖 Agent-ready — MCP + a real-time Standby API.

✨ Features

  • 🔍 Videos & reels, newest first — by Page name, @handle, numeric id or URL.
  • ▶️ Play metrics — views, postViews, viewsPerHour, durationSeconds, thumbnailUrl.
  • 🎬 File + live — playableUrl (signed mp4), isLive for live broadcasts.
  • 🧹 Filters — minimum plays, published-after date.
  • 🔁 Only-new lists — remember delivered videos and skip them next run.

🎬 Quick Start

curl -X POST "https://api.apify.com/v2/acts/foxlabs~facebook-page-videos-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"pages": ["NASA"], "maxVideosPerPage": 25}'

🚀 Getting Started (3 steps)

  1. Choose your Pages — one per line: name, @handle, numeric id or URL.
  2. Set the cap & filters — maxVideosPerPage, minViews, publishedAfter.
  3. Run and export — get a clean dataset as JSON, CSV or Excel.

📥 Input

FieldDefaultWhat it does
pages—One Page per line: name, @NASA, numeric id, or URL. A Page written twice is read once.
maxVideosPerPage100Videos to deliver per Page, newest first.
maxVideos100000Rows in the whole run.
minViews—Keep only videos with at least this many plays.
publishedAfter—Keep only videos on/after this date; the walk stops once three in a row are older.
onlyNewVideos, listNamefalse, defaultRemember delivered videos under a name and skip them later.
proxyConfigurationresidential Apify ProxyNothing to change for normal use.

📤 Output

One row per video (type: "video"). A value Facebook does not give is null.

FieldWhat it is
videoId, postId, urlthe video's id, its post's id, and the video's address
kindvideo, or live while broadcasting (reels list as videos here)
title, text, hashtagsthe title, the post's text, its hashtags
publishedAt, hoursSincePostwhen it was published (UTC) and how long ago
views, postViews, viewsPerHourplays of the video and post, and plays per hour
durationSeconds, thumbnailUrl, isLivelength, cover, live status
playableUrlthe mp4 file (signed, expires after hours — download soon)
reactions, reactionsByTypeall reactions and each kind with its count
pageId, pageName, pageUrlthe Page
position, input, type, errorplace in the list; input line; row type / free status row

(Not in Facebook's list, so null: HD file address, comment/share counts, width/height — they live on each video's own page.)

{
"type": "video",
"videoId": "4007941182848761",
"url": "https://www.facebook.com/NASA/videos/be-a-flight-director/4007941182848761/",
"kind": "video",
"pageName": "NASA - National Aeronautics and Space Administration",
"title": "Be a Flight Director",
"publishedAt": "2026-10-07T15:05:51.000Z",
"hoursSincePost": 78.9,
"views": 198554,
"viewsPerHour": 2516.5,
"durationSeconds": 40.3,
"playableUrl": "https://video….fbcdn.net/…mp4?…",
"reactions": 2594,
"reactionsByType": { "like": 2228, "love": 310, "care": 38, "wow": 12, "haha": 4, "angry": 2 },
"position": 1,
"input": "NASA"
}

💼 Use cases

1. Video performance tracking — see a Page's videos ranked by plays and velocity. Input: the Page, minViews set. Output: videos with viewsPerHour. Use: learn what formats earn plays.

2. Competitor content — watch a rival's video cadence and reach. Input: competitor Pages, onlyNewVideos scheduled. Output: new videos + plays. Use: benchmark their output.

3. Media download pipeline — grab the mp4 file and thumbnail soon after a run. Input: the Page. Output: playableUrl + thumbnailUrl. Use: archive or repurpose (signed URLs expire — download promptly).

🔗 Integration

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('foxlabs/facebook-page-videos-scraper').call({
pages: ['NASA'], maxVideosPerPage: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('foxlabs/facebook-page-videos-scraper').call(
run_input={'pages': ['NASA'], 'maxVideosPerPage': 25}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item)

Written for apify-client 3 for Python, where call() returns a run object; with version 1 or 2 it returns a dict — write run['defaultDatasetId'] there.

Automation (n8n / Zapier / Make): schedule or webhook → HTTP request to the Actor API with your pages → handle the JSON dataset → push to a sheet, CRM or dashboard.

📊 Pricing

Pay per event: video for every delivered video row. The price is on the Pricing tab. Nothing else is charged: no start fee, nothing for a status row, nothing for a video the filters left out, nothing for a Page that could not be read.

❓ FAQ

How many videos per Page? The list a signed-out visitor gets ends after ~45 per Page (measured on NASA). Older videos aren't reachable; "only new" runs on a schedule keep the history growing.

Are reels separated from videos? No — Facebook lists them with /videos/ addresses, so kind says video. The Page Posts Scraper tells reels from videos.

Why does playableUrl stop working? It's signed by Facebook's CDN and expires after hours — download soon after the run.

Can I export to CSV / Excel / JSON? Yes — directly from the Apify dataset.

What happens for a bad Page? A free status row says why (no videos tab, no such Page, signed-in only) — not charged.

🐛 Troubleshooting

  • ~45 videos max per Page — Facebook's own list ends there for a visitor; not an error.
  • playableUrl empty/expired — signed and short-lived; download promptly. HD URL, comment/share counts and frame size aren't in the list.
  • Reel shows kind: video — expected (Facebook lists reels under /videos/).
  • A Page returns a status row — no videos tab, no such Page, or signed-in only (free).

How it reads Facebook: opens the videos tab as a signed-out visitor (its card carries six videos) and asks Facebook's own list query for the rest (three a call) using the page's tokens. Residential Apify Proxy by default; rate-limited exits dropped and replaced. Every run starts with a one-call check and ends with a clear message if Facebook's queries changed.

⚠️ Trademark

Independent, third-party tool. Not affiliated with, endorsed by or connected to Meta Platforms, Inc. "Facebook" and related marks belong to their owners and are used here for identification only.

It reads only what Facebook shows a signed-out visitor, about Pages (businesses and organisations). The Actor does not log in, use anyone's account or cookies, or solve CAPTCHAs. See Apify's blog post on the legality of web scraping.

🤝 Support & contact

Changelog

0.1.1 — 2026-10-11 — the shared core of the family

  • The shared core was updated with the Page Events and Reviews Actors; video rows are unchanged.

0.1.0 — 2026-10-11 — first release

  • Videos of public Facebook Pages as a signed-out visitor sees them, newest first: the six in the videos tab, then three a call from Facebook's own list query.
  • Every row: title, the post's text with hashtags, exact time, plays (and post plays), duration, thumbnail, the signed file address, the video's address and post id, reactions in total and by kind, the Page's record, plays per hour.
  • Filters (minimum plays, published-after) that leave videos out without charging; free status rows for empty lines; "only new" lists; restarted runs continue without duplicates. Standby mode prepared; published in batch mode.