Facebook Posts Scraper
Pricing
$29.99/month + usage
Facebook Posts Scraper
The Facebook Posts Scraper extracts public posts from Facebook pages and profiles with engagement metrics, timestamps, and media links. Built for scalable Facebook data scraping, it delivers structured JSON or CSV output for analytics, research, and social media monitoring workflows. 🚀
Pricing
$29.99/month + usage
Rating
0.0
(0)
Developer
ScrapAPI
Actor stats
0
Bookmarked
3
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Facebook Posts Scraper
The Facebook Posts Scraper is a production-ready Facebook post scraper that extracts public posts from Facebook pages and profiles with clean structure and rich engagement metrics. It solves the pain of manual copy-paste by automating Facebook posts data scraping and returning analysis-ready records for marketers, developers, data analysts, and researchers. Built as a scalable Facebook posts extractor and Facebook posts crawler, it helps you export posts to JSON or CSV for reporting, benchmarking, and monitoring at scale. 🚀
What data / output can you get?
Below are the exact fields this Facebook page posts scraper pushes to the Apify dataset. You can export results to JSON, CSV, or Excel.
| Data type | Description | Example value |
|---|---|---|
| facebookUrl | The input page/profile URL that was processed | https://www.facebook.com/Cristiano/ |
| postId | Unique post identifier | 1565562734930261 |
| pageName | The page slug (last segment of the URL) | Cristiano |
| url | Direct URL for the post | https://www.facebook.com/Cristiano/posts/pfbid0GwyKMLZ... |
| time | ISO-like timestamp string (UTC) | 2026-02-25T21:52:49.000Z |
| timestamp | Unix timestamp (seconds) | 1772056369 |
| user | Object with owning profile details (id, name, profileUrl, profilePic) | {"id":"100044296486382","name":"Cristiano Ronaldo","profileUrl":"https://www.facebook.com/100044296486382","profilePic":"https://..."} |
| collaborators | Array of collaborators objects when available | [] |
| text | Post caption text (may be empty if not available) | Keep it going! 🟡🔵 |
| likes | Total reaction count | 376348 |
| comments | Total comments count | 10488 |
| shares | Shares count | 1918 |
| topReactionsCount | Total of the top reactions | 7 |
| reactionLikeCount | “Like” reactions count | 275081 |
| reactionLoveCount | “Love” reactions count | 86604 |
| reactionHahaCount | “Haha” reactions count | 439 |
| reactionCareCount | “Care” reactions count | 13953 |
| reactionSadCount | “Sad” reactions count | 22 |
| reactionWowCount | “Wow” reactions count | 231 |
| reactionAngryCount | “Angry” reactions count | 18 |
| media | Array of media objects (thumbnails, dimensions, URLs, optional OCR caption) | [{"thumbnail":null,"__typename":"Photo","photo_image":{"uri":null,"height":null,"width":null},"url":"https://www.facebook.com/Cristiano/posts/pfbid0GwyK...","id":"1565562684930266"}] |
| feedbackId | Internal feedback identifier | ZmVlZGJhY2s6MTU2NTU2MjczNDkzMDI2MQ== |
| topLevelUrl | Canonical permalink using IDs | https://www.facebook.com/100044296486382/posts/1565562734930261 |
| facebookId | Owning profile’s numeric Facebook ID | 100044296486382 |
| pageAdLibrary | Object with page ID useful for Ad Library mapping | {"id":"100044296486382"} |
| inputUrl | Echo of the input target URL | https://www.facebook.com/Cristiano/ |
Notes:
- Media entries include thumbnails, image height/width, and URLs when present.
- Exports are available via the Apify dataset in JSON, CSV, or Excel formats for your analytics workflows.
Key features
-
🔎 Battle‑tested discovery & pagination
Finds page IDs and GraphQL doc IDs from live Facebook, then paginates timeline feeds with cursor-based requests — no browser required. -
📊 Rich engagement metrics & reactions breakdown
Collect likes, comments count, shares, plus a full reactions split (Like, Love, Haha, Care, Sad, Wow, Angry) for deeper analytics. -
🧹 Clean permalinks & metadata
Get normalized post URLs, top-level permalinks, and owning profile data (IDs, names, profile pictures) for reliable joins and tracking. -
⏱️ Precise date filtering
Limit results by “Posts Newer Than” and “Posts Older Than” to capture a precise time window without over-scraping. -
🌐 Proxy-first reliability
Automatically prefers Apify Residential proxy for higher success rates and falls back as needed. Built-in retries and backoff on rate limits. -
📦 Structured exports for BI & automation
Export Facebook posts to CSV, JSON, or Excel. Ideal for dashboards, ETL, and pipelines built on the Apify platform. -
🧰 Developer-friendly & scalable
Runs on Apify infrastructure with dataset outputs ready for API consumption and integration into internal tools or make.com/n8n workflows.
How to use Facebook Posts Scraper - step by step
- Create or log in to your Apify account.
- Open the Facebook Posts Scraper in the Apify Store.
- Add targets in startUrls: paste full Facebook page/profile URLs (e.g., https://www.facebook.com/nytimes/) or usernames (e.g., nytimes).
- (Optional) Set date filters using “Posts Newer Than (Start Date)” and/or “Posts Older Than (End Date)” to focus your range.
- Adjust “Maximum Posts per Page” (maxPosts) to control depth per target (default is 10).
- (Optional) Configure Proxy Settings or leave defaults to let the actor prefer Apify Residential proxy automatically.
- Click Run and monitor progress in the logs.
- When finished, open the run’s Dataset and export results to JSON, CSV, or Excel.
Pro tip: Chain this Facebook posts scraping tool with the Apify API or automation platforms to feed dashboards, alerts, or enrichment workflows.
Use cases
| Use case name | Description |
|---|---|
| Market research & trend analysis | Aggregate public Facebook page posts to analyze content themes, reaction splits, and engagement over time for category insights. |
| Competitor content benchmarking | Track competitor pages to compare top reactions, comment counts, and share velocity for content strategy decisions. |
| Social media monitoring & reporting | Build automated reports by exporting Facebook posts to CSV/JSON and updating BI dashboards on a set cadence. |
| Academic & policy research | Collect structured timelines for studies on public communication patterns, topics, and audience response. |
| Data enrichment for analytics | Enrich internal datasets with post URLs, timestamps, and reaction metrics to power modeling and forecasting. |
| Automated ETL & API pipelines | Use Apify datasets and APIs to stream Facebook public posts data into warehouses and downstream systems. |
Why choose Facebook Posts Scraper?
This Facebook posts scraping tool prioritizes precision, reliability, and scale — everything you need for analytics-grade social data.
- 🎯 Accurate, structured fields for seamless joins and analysis
- 🌍 Works on public pages and profiles without a browser session
- 📈 Built for scale on Apify infrastructure with resilient pagination
- 🧑💻 Developer-ready outputs for API consumption and pipelines
- 🛡️ Anti-blocking with proxy preference, retries, and backoff baked-in
- 💸 Export-friendly for BI teams (JSON, CSV, Excel) without extra tooling
- 🔄 Better than brittle browser extensions — fewer moving parts, more stability
In short: a production-grade Facebook post metadata scraper that’s robust, automation-friendly, and designed for repeatable workflows.
Is it legal / ethical to use Facebook Posts Scraper?
Yes — when used responsibly. This Facebook public posts scraper is designed to collect publicly available data from Facebook pages and profiles. You should:
- Scrape only public content you’re allowed to access.
- Comply with applicable laws and regulations (e.g., GDPR, CCPA).
- Review and respect Facebook’s terms of service.
- Avoid collecting or using data in ways that violate privacy or platform rules.
For edge cases, consult your legal team to ensure compliant use.
Input parameters & output format
Example JSON input
{"startUrls": ["https://www.facebook.com/nytimes","Cristiano"],"maxPosts": 25,"includeVideoTranscript": false,"oldestPostDateUnified": "2024-01-01","newestPostDate": "0","proxyConfiguration": {"useApifyProxy": false}}
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| startUrls | array | Yes | — | Required. Enter one or more Facebook page targets. Accepts full URLs (e.g., https://www.facebook.com/nytimes/) or usernames (e.g., nytimes). Targets are processed sequentially. |
| maxPosts | integer | No | 10 | Limit how many posts to collect per target page. Minimum 1, maximum 10,000. The actor stops once this count is reached for each page. |
| includeVideoTranscript | boolean | No | false | Capture video captions & transcripts toggle. When ON per schema description, transcripts are considered; when OFF, video posts include metadata only. |
| oldestPostDateUnified | string | No | — | Posts Newer Than (Start Date). Accepts absolute (YYYY-MM-DD) or relative values (e.g., 7 days, 2 months, 1 year). |
| newestPostDate | string | No | — | Posts Older Than (End Date). Accepts absolute dates or relative values (e.g., 0 for today). |
| proxyConfiguration | object | No | — | Proxy Settings. Prefers Apify Residential proxy when available; falls back to other options. You can provide custom proxy URLs as a fallback. |
Example JSON output
{"facebookUrl": "https://www.facebook.com/Cristiano/","postId": "1565562734930261","pageName": "Cristiano","url": "https://www.facebook.com/Cristiano/posts/pfbid0GwyKMLZF7Xaeww3dGoWzFdymFizBw8iCH4Rnhsw9gX6NEJp9L7mzTJyxo9Ah8VZdl","time": "2026-02-25T21:52:49.000Z","timestamp": 1772056369,"user": {"id": "100044296486382","name": "Cristiano Ronaldo","profileUrl": "https://www.facebook.com/100044296486382","profilePic": "https://scontent.fyvr2-1.fna.fbcdn.net/v/t39.30808-1/448474001_1102716254548247_2613997786866384047_n.jpg"},"collaborators": [],"text": "Keep it going! 🟡🔵","likes": 376348,"comments": 10488,"shares": 1918,"topReactionsCount": 7,"media": [{"thumbnail": null,"__typename": "Photo","__isMedia": "Photo","accent_color": "FFFFFFFF","photo_product_tags": [],"photo_image": {"uri": null,"height": null,"width": null},"url": "https://www.facebook.com/Cristiano/posts/pfbid0GwyKMLZF7Xaeww3dGoWzFdymFizBw8iCH4Rnhsw9gX6NEJp9L7mzTJyxo9Ah8VZdl","id": "1565562684930266"}],"feedbackId": "ZmVlZGJhY2s6MTU2NTU2MjczNDkzMDI2MQ==","reactionLikeCount": 275081,"reactionLoveCount": 86604,"reactionHahaCount": 439,"reactionCareCount": 13953,"reactionSadCount": 22,"reactionWowCount": 231,"reactionAngryCount": 18,"topLevelUrl": "https://www.facebook.com/100044296486382/posts/1565562734930261","facebookId": "100044296486382","pageAdLibrary": {"id": "100044296486382"},"inputUrl": "https://www.facebook.com/Cristiano/"}
Notes:
- The scraper returns counts for comments and reactions; it does not extract individual comment text.
- Field availability can vary per post depending on Facebook’s public data.
FAQ
Do I need to log in to scrape Facebook posts?
No. The Facebook Posts Scraper targets publicly available pages and profiles and operates without a browser session. It discovers the required IDs from the live site and uses GraphQL requests with cursor-based pagination.
Can it scrape Facebook group posts?
It normalizes targets that include “/groups/” or group-style identifiers and will attempt to fetch public timelines accordingly. Results depend on what Facebook exposes publicly for that group.
What types of data does it return?
It returns post metadata and engagement metrics including postId, url, time/timestamp, text, likes, comments count, shares, topReactionsCount, full reactions breakdown, media details, and clean permalinks. See the Output section for the full JSON fields.
How do I limit posts by date?
Use the “Posts Newer Than (Start Date)” and/or “Posts Older Than (End Date)” inputs. Both support absolute dates (YYYY-MM-DD) and relative values like “7 days” or “2 months” to filter the timeline.
How many posts can I scrape per page?
Set maxPosts to control depth per target. The allowed range is 1 to 10,000, with a default of 10.
Does it download comments or just counts?
It outputs comments counts only, not individual comment text or threads. You’ll still get overall engagement metrics for analysis.
What export formats are supported?
You can export the dataset to JSON, CSV, or Excel directly from Apify, making it easy to feed BI tools and pipelines.
What about proxies and reliability?
The actor prefers Apify Residential proxies automatically for better success rates and includes retries and backoff for transient errors or rate limits. You can also provide custom proxy URLs if needed.
Closing CTA / Final thoughts
Facebook Posts Scraper is built to extract structured, analytics-ready public Facebook posts at scale. It delivers clean URLs, timestamps, reaction breakdowns, and media metadata — all exportable to CSV, JSON, or Excel for marketers, developers, analysts, and researchers. Use it to scrape Facebook page posts reliably, power dashboards, or automate pipelines with the Apify API. Start extracting smarter with a scalable Facebook posts scraping tool that’s production‑ready and workflow‑friendly.
