Facebook Page Monitor - New Posts Scraper & Tracker
Pricing
from $2.00 / 1,000 post scrapeds
Facebook Page Monitor - New Posts Scraper & Tracker
Watch Facebook Pages and get the posts they publish. Remembers what it already delivered, so a scheduled run returns only what is new - with post text, permalink, images, links and the time it was posted. No login and no API key.
Pricing
from $2.00 / 1,000 post scrapeds
Rating
0.0
(0)
Developer
Eimantas V
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Features
Share
Facebook Posts Scraper extracts posts from public Facebook Pages and profiles. Paste Page links, usernames or IDs, get one row per post with its text, date, reactions by type, comment, share and view counts, the top comments, photos with image descriptions, videos and reels with direct file links, link previews and reshared posts. No login, no cookies, no browser, from $2.00 per 1,000 posts.
{"postId": "1670768087751894","url": "https://www.facebook.com/reel/4075684206061398/","date": "2026-10-29T11:49:38.000Z","text": "NASA astronaut Anil Menon and Canadian Space Agency astronaut Joshua Kutryk are getting ready to head out of the International Space Station! ...","authorName": "NASA - National Aeronautics and Space Administration","reactionCount": 957,"reactions": { "like": 809, "love": 112, "care": 19, "haha": 11, "wow": 5, "sad": 0, "angry": 1 },"commentCount": 81,"shareCount": 89,"viewCount": 18067,"playCount": 102934,"mediaType": "reel","videoDurationSecs": 39.4}
90 posts from 3 Pages in 28 seconds, the latest post of 20 Pages in 20 seconds: no login, no browser.
What does Facebook Posts Scraper do?
It reads a Page's or profile's timeline the way Facebook's own website loads it for a visitor who is not logged in, and returns every post as a clean row you can export or feed to other tools. Limit by date, jump straight to any period of a Page's history, or keep a schedule running that only ever returns new posts.
- Every way to name a Page. Page URLs (facebook.com/nasa), profile links (facebook.com/profile.php?id=...), usernames, numeric IDs, for brand Pages and public personal profiles alike. Inputs written for apify/facebook-posts-scraper (
startUrls,resultsLimit,onlyPostsNewerThan,onlyPostsOlderThan,captionText) work unchanged. - Engagement in detail. Reactions split into like, love, care, haha, wow, sad and angry; comment and share counts; views and plays for videos and reels; the 1-2 comments Facebook shows under each post, with author, date, reactions and replies.
- All the media. Photos and albums with image descriptions, videos and reels with a direct MP4 link, length, thumbnail and caption languages, link previews with title, description and site, reshared posts with their text and author.
- Video transcripts. Turn on "Include video transcripts" and every captioned video or reel gets its captions as plain text, at no extra cost.
- Any date range, free. "Posts newer than" stops at the first older post. "Posts older than" makes Facebook jump straight to that date, so posts from 2019 cost the same as this week's.
- Monitoring built in. "Only posts not seen in earlier runs" remembers the newest post delivered for each Page, so a daily schedule returns only what is new and you never pay twice for a post.
- Page details on every row. Page name, ID, username, picture, verified badge, and the Page's Meta Ad Library ID (to look up its ads).
- Only pay for results. Pages that are private, missing or cannot be read return an error row and are never charged.
Why it is fast and cheap
There is no browser to start. The Actor calls the same timeline endpoint Facebook's website uses for logged-out visitors, three posts per request. Facebook answers timelines only to residential addresses, so the Actor uses Apify's residential proxy by default, moves to a fresh address whenever Facebook refuses one, and includes that traffic in the price per post.
What data can you extract from Facebook posts?
| Group | Fields |
|---|---|
| Post | postId, url, shortUrl, date, timestamp, text, hashtags, mentions, links, position |
| Engagement | reactionCount, reactions (by type), commentCount, shareCount, viewCount, playCount, topComments |
| Media | mediaType, imageUrls, imageDescriptions, photoCount, videoUrl, videoThumbnailUrl, videoDurationSecs, videoCaptionLocales, videoTranscript |
| Links and shares | linkUrl, linkTitle, linkDescription, linkDomain, sharedPostUrl, sharedPostText, sharedPostAuthorName |
| Page | authorName, authorId, authorUsername, authorUrl, authorPictureUrl, authorIsVerified, adLibraryPageId, isBusinessPageActive, collaborators |
How to scrape Facebook posts
- Click Try for free and paste Page links, usernames or IDs into Facebook Pages or profiles, one per line.
- Set Posts per Page and Max posts in total. You pay per post, so these are also your cost cap.
- Optionally set Posts newer than and Posts older than for a date range, or turn on Only posts not seen in earlier runs for a schedule. Click Start. Each Page gives about 3 posts a second; Pages run in parallel.
- Open the Output tab, or download the results as JSON, CSV, Excel or HTML.
How much does it cost to scrape Facebook posts?
You pay per post returned, and the price drops on higher Apify plans:
| Apify plan | Per 1,000 posts |
|---|---|
| Free | $3.50 |
| Starter | $2.50 |
| Scale | $2.25 |
| Business | $2.00 |
- The last 50 posts of 20 Pages (1,000 posts) on the Starter plan: $2.50.
- Every post of the last 30 days from 100 brand Pages, 6,000 posts on the Business plan: $12.00.
- A daily "only new posts" check of 50 Pages that posted 2 times each that day, on the Starter plan: $0.25 (Pages with nothing new cost nothing).
- A run also costs $0.00005 to start. The residential proxy, the date filters and video transcripts are included. Pages that fail, private Pages, duplicates, posts outside your dates and posts an earlier run already delivered cost nothing.
- The Free plan's $5 monthly credit covers about 1,400 posts.
Input
{"targets": ["https://www.facebook.com/NASA","natgeo","https://www.facebook.com/profile.php?id=100064277875532"],"maxPostsPerPage": 50,"maxItems": 1000,"postsNewerThan": "30 days","includeVideoTranscripts": false}
| Field | Default | Notes |
|---|---|---|
| Facebook Pages or profiles | Page or profile URLs, usernames or IDs, one per line. Public Pages and profiles only | |
| Posts per Page | 20 | Newest first; Facebook serves 3 posts per request |
| Max posts in total | 1000 | Across all Pages: your cost cap |
| Posts newer than | A date (2026-01-31) or a period ("7 days"). Paging stops at the first older post | |
| Posts older than | A date. Facebook jumps straight to it; combine with the field above for a range | |
| Only posts not seen in earlier runs | off | For schedules: returns only posts newer than the last run delivered, per Page |
| Include video transcripts | off | Captions of captioned videos and reels as plain text, free |
| Proxy | Apify residential | Keep it: Facebook refuses timelines from other addresses |
Output
Each post is one row in the dataset. The Overview view shows the key columns, and the Engagement, Media and Pages views group the rest; every export includes all fields.
{"recordType": "post","input": "https://www.facebook.com/NASA","postId": "1670768087751894","url": "https://www.facebook.com/reel/4075684206061398/","shortUrl": "https://www.facebook.com/100044561550831/posts/1670768087751894","date": "2026-10-29T11:49:38.000Z","timestamp": 1793274578,"text": "NASA astronaut Anil Menon and Canadian Space Agency astronaut Joshua Kutryk are getting ready to head out of the International Space Station! ... Tune into today's spacewalk: https://www.youtube.com/live/hv867HnY4j4","authorName": "NASA - National Aeronautics and Space Administration","authorId": "100044561550831","authorUsername": "NASA","authorUrl": "https://www.facebook.com/NASA","authorPictureUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-1/...","authorIsVerified": true,"adLibraryPageId": "54971236771","isBusinessPageActive": false,"collaborators": [],"reactionCount": 957,"reactions": { "like": 809, "love": 112, "care": 19, "haha": 11, "wow": 5, "sad": 0, "angry": 1 },"commentCount": 81,"shareCount": 89,"viewCount": 18067,"playCount": 102934,"topComments": [{"commentId": "1434787351418028","text": "They're the real astronauts... me, I'm just a fan of space and NASA!","date": "2026-10-29T12:50:18.000Z","authorName": "A. Commenter","authorId": "1000943384...","authorPictureUrl": "https://scontent.xx.fbcdn.net/v/t39.30808-1/...","reactionCount": 6,"replyCount": 2,"url": "https://www.facebook.com/reel/4075684206061398/?comment_id=1434787351418028"}],"mediaType": "reel","imageUrls": [],"imageDescriptions": [],"photoCount": null,"videoUrl": "https://video.xx.fbcdn.net/o1/v/t2/f2/m366/...mp4","videoThumbnailUrl": "https://scontent.xx.fbcdn.net/v/t15.5256-10/...jpg","videoDurationSecs": 39.4,"videoCaptionLocales": [],"videoTranscript": null,"linkUrl": null,"linkTitle": null,"linkDescription": null,"linkDomain": null,"sharedPostUrl": null,"sharedPostText": null,"sharedPostAuthorName": null,"hashtags": [],"mentions": ["Canadian Space Agency", "International Space Station"],"links": ["https://www.youtube.com/live/hv867HnY4j4"],"position": 4,"feedbackId": "ZmVlZGJhY2s6MTY3MDc2ODA4Nzc1MTg5NA==","scrapedAt": "2026-10-30T11:27:08.957Z"}
A Page that cannot be read becomes a row with "recordType": "error" and an errorCode instead of failing the whole run:
errorCode | Meaning |
|---|---|
NOT_FOUND | No public Page or profile at this address, or the ID does not exist |
NOT_A_PAGE | The address is a group or a single post, or the ID belongs to a group |
NO_POSTS | The Page or profile shows no posts to visitors who are not logged in |
RATE_LIMITED | Facebook refused every address tried; run the Page again later |
FACEBOOK_ERROR | Facebook rejected the request itself (it may have changed its site) |
Error rows are never charged.
Tips and limits
- Public Pages and profiles only. Posts visible only to friends or followers who are logged in cannot be read, and this Actor never logs in.
- Groups and single posts are other tools: Facebook Groups Scraper for group posts, Facebook Comments Scraper for one post and all its comments.
- Top comments, not all comments. Facebook shows 1-2 comments per post on the timeline. For every comment and reply, feed the post URLs to Facebook Comments Scraper.
- Pinned posts are read in their place on the timeline, not first, so date limits work.
- Albums carry their first few photos on the timeline;
photoCountsays how many the album has. - Image and video links are temporary Facebook CDN links: download what you need soon after the run.
- Hit your spending limit? The run stops cleanly at your maximum cost per run and keeps everything it collected. Raise the limit in the run options to get more.
FAQ
Is it legal to scrape Facebook posts?
This Actor collects only data that Facebook shows publicly to visitors who are not logged in. Posts and comments can still contain personal data, which laws such as the GDPR protect. Scrape personal data only for a legitimate purpose, and ask a lawyer if you are unsure. Facebook is a trademark of Meta Platforms; this Actor is not affiliated with or endorsed by Meta.
Do I need a Facebook account or cookies?
No. Nothing is logged in, and no cookies or tokens are needed. That is also why only public Pages and profiles can be scraped.
How do I monitor Pages for new posts?
Turn on Only posts not seen in earlier runs and add a schedule on the Schedules tab. Each run returns only the posts published since the newest one the previous runs delivered, per Page, and stops reading there, so a quiet day costs almost nothing. The memory is a key-value store in your account named facebook-page-monitor-state.
Can I use it through the API or with Make, Zapier and n8n?
Yes. Every run can be started through the Apify API and returns the dataset as JSON, CSV or Excel. Webhooks and integrations for Make, Zapier, n8n and Google Sheets are on the Integrations tab.
Can AI agents use it?
Yes. Agents connected to Apify's MCP server can find and run this Actor as a tool, with the same per-post pricing.
Why did I get fewer posts than I asked for?
The Page has fewer posts than your limit (or fewer in your date range), the run reached your maximum cost per run, or it reached its timeout. The log says which, and nothing collected before that is lost.
Related scrapers
- Facebook Comments Scraper: every comment and reply of the posts you found here, with reactions by type.
- Facebook Pages Scraper: emails, phones, followers and ratings of the Pages themselves.
- Facebook Groups Scraper: posts from public Facebook groups.
- Meta Ads Library Scraper: the ads a Page runs on Facebook and Instagram, by its
adLibraryPageId.
Support
Missing a field, or found a Page that does not work? Open an issue on the Issues tab with the input you used, and it will be looked at quickly.

