Home › Guides › Facebook Page Posts Scraper
Facebook Page posts with engagement: reactions by kind and per-hour velocity
The Facebook Page Posts Scraper returns a public Page's posts, newest first, exactly as a signed-out visitor sees them — the text, exact time, kind, photos and video, reactions in total and by kind (like, love, care, haha, wow, sad, angry), comment and share counts and video views — plus what this Actor adds: reactions and comments per hour, hashtags, and each post's top comments. No login, no cookies, no account; only-new mode for recurring runs.
Who it's for
- Competitor content trackers watching what a peer posts and how it performs, on a schedule.
- Social listeners catching the posts gaining traction fastest by
reactionsPerHour. - Content researchers studying a Page's best posts by format and reaction mix.
- Dashboards and LLMs fed clean post rows with engagement broken down.
What you get
| Group | Fields |
|---|---|
| Post | Post ID, permalink, Page (id, name, URL, verified), text, kind (text/photo/album/video/reel/link), exact time, hours since, position |
| Engagement | Total reactions, reactionsByType (7 kinds), comment & share counts, video views, reactionsPerHour, commentsPerHour |
| Media | Photos at full size, video (plays, duration, playable URL, HD), shared link (unwrapped), mentions, hashtags |
| Comments | The two or three top comments Facebook shows under the post; can-comment and sponsored flags |
A real row (trimmed):
{
"type": "post",
"pageName": "NASA - National Aeronautics and Space Administration",
"text": "Brewing up baby stars ⭐ NASA's James Webb Space Telescope…",
"kind": "photo",
"createdAt": "2026-10-09T20:54:33.000Z",
"hoursSincePost": 24.7,
"reactions": 5362,
"reactionsByType": { "like": 3173, "love": 1994, "care": 107, "wow": 75, "haha": 12, "angry": 1 },
"commentCount": 108,
"shareCount": 565,
"reactionsPerHour": 216.7,
"position": 1
}
Input
| Input | What it does |
|---|---|
pages | One per line: NASA, @NASA, a numeric id or a URL; a Page written twice read once |
maxPostsPerPage · maxPosts | Posts per Page, newest first (default 100) · total rows |
postedAfter · postKinds | Stop at older posts · keep only these kinds (rest skipped, not charged) |
minReactions · minComments | Keep only posts at or above these counts |
includeTopComments · onlyNewPosts · listName | Top comments on each row (default on) · deliver only new posts on a schedule |
{ "pages": ["NASA"], "maxPostsPerPage": 25 }
Honest limits
- A visitor doesn't always see a whole timeline — some Pages show only part; the run stops where Facebook stops and says so.
- Top comments only — the two or three Facebook shows under the post; for all comments use the Post Comments Scraper.
video.playableUrlis only sometimes present (~half of videos); image URLs are signed and expire — download soon.- Reaction names come back mapped to the seven standard kinds regardless of the Page's language; a personal profile or group gets a free status row.
Pricing
Pay per result: one post event per delivered row. No start fee, nothing for a status row, nothing for a post the filters left out, nothing for a Page that could not be read — a run that delivers nothing costs nothing. Current prices are on the actor's Pricing tab on Apify.
Track a Page's content: every post with reactions by kind, share and comment counts and per-hour velocity. Exportable to JSON, CSV or Excel.
Open the Facebook Page Posts Scraper →Related
This Actor reads a Page's posts; for every comment on a post use the Facebook Post Comments Scraper, for the Page's contact record the Facebook Page Profile Scraper, for its videos the Facebook Page Videos Scraper, and for its reviews the Facebook Page Reviews Scraper.
Frequently asked questions
Do I need a Facebook account, login or cookies?
No. It reads only what Facebook shows a signed-out visitor on public Pages — no login, no cookies, no account, no CAPTCHA solving.
What can I search by?
A Page name, @handle, numeric id or full URL — one per line. The posts come newest first, up to maxPostsPerPage per Page.
Can I get every comment?
No — each post row carries the two or three top comments Facebook shows under it. For all comments on a post, use the Facebook Post Comments Scraper.
How do I avoid re-delivering the same posts?
Turn on onlyNewPosts with a listName and schedule the run; each run brings only posts it has not delivered before. A restarted run continues without duplicates.
Why is video.playableUrl sometimes empty?
Facebook only sometimes puts the file address in the timeline (about half of videos in our measurements). Image URLs are signed and expire, so download soon after the run.
Using the data lawfully
It reads only what Facebook shows a signed-out visitor on public Pages. Posts and top comments carry the names of people who wrote them publicly; personal data is protected by the GDPR and similar laws, so only collect and process it with a legitimate basis. The Actor does not log in, use anyone's account or cookies, or solve CAPTCHAs. Not affiliated with Meta.
Facebook Page Posts Scraper — posts with reactions by kind and velocity. Pay per row, no API key.
Get Facebook posts on Apify →