Facebook Posts Scraper
Pricing
Pay per event
Facebook Posts Scraper
Collect public posts from any Facebook page or profile using URLs or slugs. Export structured results with post text, reactions breakdown, comments, media URLs, video detection, and engagement metrics to support social listening, content analysis, competitor monitoring, and recurring research.
Pricing
Pay per event
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
18
Total users
3
Monthly active users
6 days ago
Last modified
Categories
Share

📘 Facebook Posts Scraper
🚀 Pull Facebook posts from any public page in minutes. Text, reactions, comments, shares, media, video flag, engagement metrics. No login.
🕒 Last updated: 2026-05-09 · 📊 25+ fields per post · 📅 Date range filters · 🚫 No auth required
Pull live posts from Facebook public pages and profiles. The actor accepts a list of page URLs (or slugs), walks each page's feed, and returns one structured record per post ready for social listening, brand monitoring, content research, or competitive intelligence.
Every run fetches data live so you get the current state of Facebook at run time. Records include the post URL, post text, author name, post date, reaction counts (like, love, wow, haha, sad, angry), comment count, share count, media URLs (images and videos), video flag, and a back-reference URL.
| 👥 Built for | 🎯 Primary use cases |
|---|---|
| Brand and social listening | Monitor brand mentions across pages |
| Content marketers | Track competitor posting cadence and engagement |
| PR and crisis monitoring | Watch for reputation events in real time |
| Researchers | Study public discourse and content velocity |
| Marketing and growth | Identify high-performing post formats |
| App developers | Power archival and analytics products |
📋 What the Facebook Posts Scraper does
- 📘 Two input formats. Page URLs or page slugs (e.g.
cern,nasa,bbcearth). - 📅 Date range filter.
minPostDateandmaxPostDatefor time-bounded scrapes. - ❤️ Reaction breakdown. Count of like, love, wow, haha, sad, angry reactions.
- 📊 Engagement metrics. Comment count, share count.
- 🎥 Media detection. Image URLs, video URLs, video flag.
- 🆔 Per-post back-reference. Canonical post URL.
The scraper walks each page's feed, extracts post metadata, and pushes structured records to the dataset.
💡 Why it matters: Facebook public pages remain a primary source of brand and creator content but the platform's UI lacks bulk export. A live, structured pull beats manual scraping for social listening, brand monitoring, and competitive content research.
🎬 Full Demo
🚧 Coming soon: a 3-minute walkthrough showing setup, a live run, and how to pipe results into Slack via Apify integrations.
⚙️ Input
| Field | Type | Name | Description |
|---|---|---|---|
startUrls | array | Start URLs | Facebook page or profile URLs (e.g. https://www.facebook.com/cern/). |
maxItems | integer | Max Items | Free users: limited to 10 items (preview). Paid users: optional, max 1,000,000. |
pageSlugs | array | Page Slugs | Alternative to URLs - just the slug (e.g. cern, nasa). Can be combined with URLs. |
minPostDate | string | Min Post Date | Optional. Only include posts on or after this date. |
maxPostDate | string | Max Post Date | Optional. Only include posts on or before this date. |
Example 1. CERN posts from last 30 days.
{"startUrls": [{"url": "https://www.facebook.com/cern/"}],"minPostDate": "2026-04-09","maxItems": 50}
Example 2. Multiple pages via slugs.
{"pageSlugs": ["cern", "nasa", "bbcearth"],"maxItems": 100}
⚠️ Good to Know: the actor only processes public pages and profiles. Private pages and groups behind login are not accessible.
📊 Output
The dataset returns one structured record per Facebook post. Each record carries identifiers, post text, author, date, reaction breakdown, engagement metrics, media URLs, and a back-reference URL. Consume the dataset as JSON, CSV, Excel, XML, or RSS via the Apify console or API.
🧾 Schema
| Field | Type | Example |
|---|---|---|
🆔 postId | string | 123456789012345_67890 |
🔗 postUrl | string (url) | https://www.facebook.com/cern/posts/... |
📝 text | string | Today CERN announced a new collaboration... |
👤 authorName | string | CERN |
🔗 pageUrl | string (url) | https://www.facebook.com/cern/ |
📅 postedAt | ISO datetime | 2026-04-12T14:30:00.000Z |
👍 likeCount | number | 12450 |
❤️ loveCount | number | 4500 |
😮 wowCount | number | 1820 |
😆 hahaCount | number | 350 |
😢 sadCount | number | 12 |
😡 angryCount | number | 5 |
💬 commentCount | number | 850 |
🔁 shareCount | number | 420 |
🎥 hasVideo | boolean | false |
🖼️ imageUrls | array | ["https://scontent.../1.jpg"] |
🎥 videoUrl | string or null | null |
📅 scrapedAt | ISO datetime | 2026-05-09T12:00:00.000Z |
📦 Sample records
1. Typical record (text + image post)
{"postId": "123456789012345_67890","postUrl": "https://www.facebook.com/cern/posts/abc123","text": "Today CERN announced a new collaboration with universities in Latin America to expand particle physics research...","authorName": "CERN","pageUrl": "https://www.facebook.com/cern/","postedAt": "2026-04-12T14:30:00.000Z","likeCount": 12450,"loveCount": 4500,"wowCount": 1820,"hahaCount": 350,"sadCount": 12,"angryCount": 5,"commentCount": 850,"shareCount": 420,"hasVideo": false,"imageUrls": ["https://scontent.fcdn.net/abc/1.jpg"],"videoUrl": null,"scrapedAt": "2026-05-09T12:00:00.000Z"}
2. Video post
{"postId": "234567890123456_78901","postUrl": "https://www.facebook.com/nasa/videos/def456","text": "Watch the launch of our newest mission live.","authorName": "NASA","pageUrl": "https://www.facebook.com/nasa/","postedAt": "2026-05-01T16:00:00.000Z","likeCount": 85000,"loveCount": 22000,"commentCount": 3200,"shareCount": 5800,"hasVideo": true,"imageUrls": ["https://scontent.fcdn.net/def/thumb.jpg"],"videoUrl": "https://video.fcdn.net/def/video.mp4","scrapedAt": "2026-05-09T12:00:00.000Z"}
3. Sparse record (low-engagement post)
{"postId": "345678901234567_89012","postUrl": "https://www.facebook.com/smallpage/posts/ghi789","text": "Quick update for our community.","authorName": "Small Page","pageUrl": "https://www.facebook.com/smallpage/","postedAt": "2026-05-08T10:00:00.000Z","likeCount": 12,"commentCount": 0,"shareCount": 0,"hasVideo": false,"imageUrls": [],"scrapedAt": "2026-05-09T12:00:00.000Z"}
✨ Why choose this Actor
| Capability | |
|---|---|
| 🎯 | Built for the job. Scoped specifically to Facebook posts so you skip the parser engineering entirely. |
| 🔖 | Structured output. Clean, typed fields ready for analysis, dashboards, or downstream pipelines. |
| ⚡ | Fast. Optimized request patterns return results in seconds, not minutes. |
| 🔁 | Always fresh. Every run pulls live data, so the dataset reflects Facebook as of run time. |
| 🌐 | No infra to manage. Apify handles proxies, retries, scaling, scheduling, and storage. |
| 🛡️ | Reliable. Battle-tested across many runs and edge cases, with graceful error handling. |
| 🚫 | No code required. Configure in the UI, run from CLI, schedule via cron, or call from any language with the Apify SDK. |
📊 Production-grade structured social data without the engineering overhead of building and maintaining your own scraper.
📈 How it compares to alternatives
| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| ⭐ Facebook Posts Scraper (this Actor) | $5 free credit, then pay-per-use | Public pages + profiles | Live per run | Page URL/slug, date range | ⚡ 2 min |
| Build your own scraper | Engineering hours | Full once built | Whenever you maintain it | Custom code | 🐢 Days to weeks |
| Paid social-listening tools | $$$ monthly per seat | Vendor-defined | Periodic | Vendor-defined | ⏳ Hours |
| Manual sourcing | Hours per check | Limited | Stale | Manual | 🕒 Variable |
Pick this Actor when you want broad coverage, source-native filtering, and no pipeline maintenance.
🚀 How to use
- 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
- 🌐 Open the Actor. Go to the Facebook Posts Scraper page on the Apify Store.
- 🎯 Set inputs. Add page URLs or slugs and optional date filters.
- 🚀 Run it. Click Start and let the Actor collect your data.
- 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.
⏱️ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.
💼 Business use cases
🌟 Beyond business use cases
Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.
🔌 Automating Facebook Posts Scraper
This Actor exposes a REST endpoint, so you can drive it from any language or workflow tool.
- Node.js - call it via the Apify JS SDK.
- Python - call it via the Apify Python SDK.
- REST - hit it directly through the Apify v2 API.
Schedules. Use Apify Scheduler to capture daily snapshots of target pages. Combine with the Apify dataset diff tools to track new posts and engagement velocity between runs.
💰 How much does it cost?
Apify gives you $5 in free monthly credits on the Apify Free plan, enough to test Facebook Posts Scraper and pull a real sample dataset. For ongoing usage:
- Starter plan ($49/month) — Recommended for individuals running Facebook Posts Scraper regularly. Includes higher concurrency and larger datasets.
- Scale plan ($499/month) — Recommended for teams running Facebook Posts Scraper at production scale.
Pay-Per-Event pricing means you only pay for what you actually use. Failed runs are never charged. See the Pricing tab on this Actor's page for exact event prices.
💡 Tips for using Facebook Posts Scraper
- Start with a small
maxItems(3-10) to validate output format before running larger jobs. - Use Apify Schedules to run Facebook Posts Scraper on a recurring basis and keep your dataset fresh.
- Export via Integrations: Apify connects to Google Sheets, Airbyte, Make, Zapier, and direct webhooks — pipe your data anywhere.
- Monitor with webhooks: trigger downstream workflows the moment a run finishes.
- Re-run failed items: if any individual records error out, re-run with their inputs only. Failed events are not charged.
⚖️ Is it legal to use Facebook Posts Scraper?
Yes. Facebook Posts Scraper only collects publicly available data. Web scraping public data has been confirmed as legal by US courts (see hiQ Labs v. LinkedIn) and is widely used for research, market analysis, and business intelligence.
However, you are responsible for:
- Respecting the source website's Terms of Service.
- Complying with GDPR, CCPA, and other applicable data-protection laws when personal data is involved.
- Not republishing copyrighted content without permission.
If you have specific compliance concerns, consult your legal team. See the Apify legal docs for more.
❓ Frequently Asked Questions
🔌 Integrate with any app
Facebook Posts Scraper connects to any cloud service via Apify integrations:
- Make - Automate multi-step workflows
- Zapier - Connect with 5,000+ apps
- Slack - Get run notifications in your channels
- Airbyte - Pipe results into your warehouse
- GitHub - Trigger runs from commits and releases
- Google Drive - Export datasets straight to Sheets
You can also use webhooks to trigger downstream actions when a run finishes.
🔗 Recommended Actors
- 📘 Facebook Reviews Scraper - Page reviews and ratings
- 🐦 X (Twitter) Scraper - Tweets with engagement
- 📸 Instagram Posts Scraper - Instagram posts with metadata
- 📱 Reddit Posts Scraper - Subreddit posts with comments
- 💼 LinkedIn Posts Scraper - LinkedIn posts from profiles
💡 Pro Tip: browse the complete ParseForge collection for more reference-data scrapers.
🆘 Need Help? Open our contact form to request a new scraper, propose a custom project, or report an issue.
⚠️ Disclaimer. This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Meta or Facebook. All trademarks mentioned are the property of their respective owners. The scraper accesses only publicly available pages and is intended for legitimate research, analytics, and brand-listening use. Users are responsible for compliance with Facebook's Terms of Service and applicable law.
