Facebook Page Posts Scraper
Pricing
$19.99/month + usage
Facebook Page Posts Scraper
📘 Facebook Page Posts Scraper (facebook-page-posts-scraper) extracts Facebook Page posts with captions, timestamps, links, comments & reactions. ⚡ Export CSV/JSON for analytics & competitor research. 🔁 Schedule, paginate & automate at scale. Ideal for marketers & researchers.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapeEngine
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Facebook Page Posts Scraper
Facebook Page Posts Scraper is a fast, reliable Facebook page posts scraper that extracts public posts from Facebook pages — including message text, timestamps, engagement counts, and media previews — and streams them to your Apify dataset in real time. It solves the hassle of manual copy-paste or unstable tools by providing a structured Facebook page posts API alternative for marketers, developers, data analysts, and researchers. Use it as a Facebook page posts extractor and Facebook page feed scraper to scale analytics, content research, and brand monitoring across multiple pages and time ranges. 🚀
What data / output can you get?
Below are the core fields this Facebook page posts downloader exports into your dataset. Each post is pushed live as it’s found, and each page concludes with a compact summary row.
| Data type | Description | Example value |
|---|---|---|
| recordType | Row type: “post” or “page_summary” | "post" |
| profileUrl | Canonical page URL that was scraped | "https://www.facebook.com/RealMadrid/" |
| post_id | Facebook post identifier (if available) | "1474788894649217" |
| url | Direct link to the post | "https://www.facebook.com/RealMadrid/posts/1474788894649217" |
| message | Post caption/message text | "Matchday! See you at the Bernabéu." |
| postCreatedAt | ISO datetime (UTC, Z) when the post was created | "2026-04-06T09:44:18Z" |
| postCreatedAtUnix | Unix timestamp for the creation time | 1764408858 |
| reactions_count | Total reactions on the post | 153 |
| comments_count | Total comments on the post | 12 |
| reshare_count | Total shares (reshares) on the post | 4 |
| reactions | Per-reaction breakdown | {"like":120,"love":20,"wow":5,"haha":3,"care":3,"sad":1,"angry":1} |
| author | Post author metadata | {"id":"100063543614476","name":"Real Madrid C.F.","url":"https://www.facebook.com/RealMadrid/","profile_picture_url":"https://..."} |
| image | Primary image preview (if photo) | {"uri":"https://...%22,%22height%22:590,%22width%22:332} |
| video | Video reference (id + URL if available) | {"id":"9876543210","uri":"https://video.xx.fbcdn.net/..."} |
| album_preview | Album preview (count + images) | {"count":3,"images":[{"uri":"https://...%22,%22height%22:720,%22width%22:1280}]} |
| video_files | Available video URLs (e.g., hd, sd, stable) | {"hd":"https://...%22,%22sd%22:%22https://..."} |
| video_thumbnail | Video thumbnail fallback | {"uri":"https://...%22,%22height%22:720,%22width%22:1280} |
| external_url | Attached external link (if any) | "https://example.com/article" |
| attached_event | Attached event metadata | {"id":"1122334455","name":"Launch Event","url":"https://www.facebook.com/events/..."} |
| attached_post | Attached/reshared post summary | {"post_id":"1122","url":"https://www.facebook.com/...","message":"Original post..."} |
| attached_post_url | Convenience link to the attached post | "https://www.facebook.com/.../posts/1122" |
| scrapedAt | ISO datetime when this post was scraped | "2026-04-06T09:44:19Z" |
| postsCollected | Number of posts stored for a page (summary rows) | 20 |
| maxPostsPerProfile | Per-page post cap used for the run (summary rows) | 20 |
| startDate | From-date filter used (as provided in input) | "7 days" |
| endDate | Until-date filter used (as provided in input) | "0 days" |
| error | Error message if the page run didn’t finish cleanly (summary rows) | "end_cursor not found ..." |
Notes:
- Export results to JSON, CSV, or Excel directly from your Apify dataset for downstream analysis.
- Post rows include media-aware previews (images, videos, albums), external links, and attached event/post references — ideal for a Facebook page posts data extractor pipeline.
Key features
-
🔒 Residential-only reliability
Always routes through Apify residential proxies for stable access to public pages. Country selection in the proxy picker may apply; proxy group/type choices are ignored to ensure residential routing. -
📡 Live streaming to dataset
One dataset row per post is pushed as soon as it’s collected, plus a final page_summary row with postsCollected, maxPostsPerProfile, date filters used, and any error message. -
🗓️ Flexible date filters
Filter by startDate and endDate using absolute dates (YYYY-MM-DD) or relative windows like “7 days”, “2 weeks”, “1 month”, or “1 year” to target exactly the timeframe you need. -
🧠 Media-aware parsing
Captures message, timestamps, reactions_count, comments_count, reshare_count, reactions breakdown, author, image, album_preview, video, video_files, video_thumbnail, external_url, attached_event, and attached_post details from the Facebook page feed. -
🧱 Clean, structured schema
Consistent keys across posts make this a dependable Facebook public page data scraper for analytics, enrichment, and reporting. -
🧭 Smart pagination with de-duplication
Uses the page’s GraphQL timeline with cursors, merges response fragments, and avoids duplicate post_ids — a robust Facebook page posts crawler that scales. -
🧰 Built for automation on Apify
Schedule recurring runs, monitor logs, and export to CSV/JSON/Excel. Perfect for “Export Facebook page posts to CSV” workflows and bulk download Facebook page posts jobs.
How to use Facebook Page Posts Scraper — step by step
-
Sign in to Apify
Open the Apify Console and ensure your account has access to Apify Proxy with residential IPs. -
Open the actor
Find “Facebook Page Posts Scraper” in the Apify Store and click Try for free. -
Add your pages in startUrls
Paste one or more Facebook page URLs or just page names (e.g., https://www.facebook.com/YourPage/ or YourPage). Multiple entries are supported via the string list editor. -
Set maxPostsPerProfile
Choose how many posts to collect per page (1–5000). The default is 20. Lower values run faster; higher values pull deeper history. -
(Optional) Apply date filters
Use startDate and/or endDate as absolute dates (YYYY-MM-DD) or relative values like “7 days”, “2 weeks”, “1 month”, “1 year”. For endDate, “0 days” includes the end of today. -
Configure proxyConfiguration
Enable “Use Apify Proxy.” The actor always uses residential IPs; group/type selections are ignored. An optional country may apply when supported. -
Start the run
Click Start. The actor connects via residential proxy, paginates the Facebook page feed, and pushes one post per dataset row, followed by a page_summary row per page. -
Export results
Open the run’s dataset and export your Facebook page posts scraper output to JSON, CSV, or Excel for analysis, dashboards, or pipelines.
Pro tip: Schedule runs to monitor Facebook page posts automatically for competitor tracking, campaign analysis, or research.
Use cases
| Use case | Description |
|---|---|
| Competitor content tracking | Benchmark engagement by collecting reactions_count, comments_count, and reshare_count across target pages and timeframes. |
| Content research | Analyze message text, postCreatedAt, and media previews to identify winning formats and topics. |
| Brand monitoring | Scrape Facebook page posts within a rolling window (e.g., “7 days”) to track public sentiment signals and frequency. |
| Campaign analysis | Export Facebook page posts to CSV/JSON and evaluate media mix, external_url usage, and engagement shifts. |
| Academic & market research | Build structured datasets (author, timestamps, reactions) for time-series analysis and NLP tasks. |
| Data pipelines | Use this Facebook page feed scraper as a Facebook page posts API alternative to supply clean, structured records to BI tools. |
Why choose Facebook Page Posts Scraper?
Built for precision, automation, and reliability, this Facebook page scraper outperforms browser extensions and manual methods.
- ✅ Accurate, structured data from public Facebook pages (no login required)
- 🔒 Residential-only proxy routing for stable collection
- 📈 Scales from a few pages to deep history (up to 5,000 posts per page)
- 🧩 Developer-friendly outputs for pipelines and analytics
- 🛡️ Public data only; page_summary rows include errors for transparent monitoring
- 💾 Easy exports to JSON/CSV/Excel for reporting
- 🧭 Robust pagination + de-duplication in the Facebook page posts crawler
In short, it’s a production-ready Facebook page posts downloader for teams who need repeatable, analytics-ready data.
Is it legal / ethical to use Facebook Page Posts Scraper?
Yes — when used responsibly. This actor targets publicly available Facebook page data and does not access private or authenticated content.
Guidelines:
- Only scrape public pages you’re permitted to analyze.
- Follow Facebook’s terms and applicable laws (e.g., GDPR, CCPA).
- Use residential proxies responsibly and avoid abusive behavior.
- Consult your legal team for edge cases or redistribution scenarios.
Input parameters & output format
Example input
{"startUrls": ["https://www.facebook.com/RealMadrid/","YourPage"],"maxPostsPerProfile": 50,"startDate": "7 days","endDate": "0 days","proxyConfiguration": {"useApifyProxy": true}}
Input parameters
-
startUrls (array, required)
Description: Paste one or more Facebook page links (full URL) or just the page name — same as typing it in the browser. Example: https://www.facebook.com/YourPage/ or simply YourPage.
Default: none -
maxPostsPerProfile (integer, optional)
Description: Cap how many posts to collect for each page (between 1 and 5000). Lower = faster runs; higher = deeper history.
Default: 20 -
startDate (string, optional)
Description: Only include posts on or after this moment — calendar date or relative like “7 days” / “2 weeks”. Leave empty to start from the beginning.
Default: none -
endDate (string, optional)
Description: Only include posts on or before this moment — calendar date or relative (e.g., “0 days” = through end of today). Leave empty for no upper limit.
Default: none -
proxyConfiguration (object, optional)
Description: Required for this actor: Apify Proxy with residential access. The actor always routes via residential IPs — any group/type you pick is not used; only settings like country (if available) apply.
Default: {"useApifyProxy": true}
Example output — post row
{"recordType": "post","profileUrl": "https://www.facebook.com/RealMadrid/","post_id": "1474788894649217","type": "photo","url": "https://www.facebook.com/RealMadrid/posts/1474788894649217","message": "Matchday! See you at the Bernabéu.","postCreatedAt": "2026-04-06T09:44:18Z","postCreatedAtUnix": 1764408858,"comments_count": 12,"reactions_count": 153,"reshare_count": 4,"reactions": {"angry": 1,"care": 3,"haha": 3,"like": 120,"love": 20,"sad": 1,"wow": 5},"author": {"id": "100063543614476","name": "Real Madrid C.F.","url": "https://www.facebook.com/RealMadrid/","profile_picture_url": "https://..."},"image": {"uri": "https://...","height": 590,"width": 332},"video": {"id": "","uri": ""},"album_preview": {"count": 1,"images": [{ "uri": "https://...", "height": 590, "width": 332 }]},"video_files": {"hd": "https://...","sd": "https://..."},"video_thumbnail": {"uri": "https://...","height": 720,"width": 1280},"external_url": "https://example.com/article","attached_event": {"id": "1122334455","name": "Launch Event","url": "https://www.facebook.com/events/1122334455"},"attached_post": {"post_id": "987654321","url": "https://www.facebook.com/.../posts/987654321","message": "Original post..."},"attached_post_url": "https://www.facebook.com/.../posts/987654321","scrapedAt": "2026-04-06T09:44:19Z"}
Example output — page summary row
{"recordType": "page_summary","profileUrl": "https://www.facebook.com/RealMadrid/","postsCollected": 20,"maxPostsPerProfile": 20,"startDate": "7 days","endDate": "0 days","error": null}
Notes:
- The dataset contains a mix of “post” rows and one “page_summary” row per page.
- Some fields may be empty depending on the post type (e.g., video/image presence).
FAQ
Do I need a Facebook login or cookies to use this?
No. The actor targets public Facebook pages and does not require login. It fetches public page timelines and extracts posts available without authentication.
Are residential proxies required?
Yes. The actor always routes via Apify residential proxies. Enable “Use Apify Proxy” and ensure your plan includes residential access; optional country selection may apply.
How many posts can I collect per page?
You control this with maxPostsPerProfile, from 1 to 5000. The default is 20. Each page stops at the cap or when it reaches the end of the feed within any date filters you set.
Can I filter posts by date?
Yes. Use startDate and/or endDate as absolute dates (YYYY-MM-DD) or relative windows like “7 days”, “2 weeks”, “1 month”, “1 year”. For endDate, “0 days” includes the end of today.
Does it scrape comments content?
It captures comments_count, not full comment threads. The output focuses on scalable engagement metrics and media previews.
What formats can I export to?
From the Apify dataset, export your Facebook page posts scraper results to JSON, CSV, or Excel, making it easy to feed dashboards or data pipelines.
Can I use it as a Facebook page posts API alternative?
Yes. The actor provides structured outputs that function as a Facebook page posts API alternative for pipelines, with easy export and automation.
Can I automate recurring runs or bulk download posts?
Yes. Schedule runs in Apify to monitor Facebook page posts automatically and perform bulk download Facebook page posts jobs across multiple pages.
Closing CTA / Final thoughts
Facebook Page Posts Scraper is built to extract structured, analytics-ready Facebook page data at scale. With residential-only reliability, flexible date filters, and media-aware parsing, it’s ideal for marketers, developers, data analysts, and researchers. Export Facebook page posts to CSV/JSON/Excel, plug into your pipelines, or use it as a Python-friendly Facebook page posts scraper via dataset exports. Start extracting smarter with clean, consistent outputs ready for your workflows.

