Facebook Posts Scraper
Pricing
Pay per usage
Facebook Posts Scraper
Scrape public Facebook posts, reels, videos, and visible engagement data from pages, profiles, and public groups. Unofficial actor, not affiliated with Facebook or Meta.
Pricing
Pay per usage
Rating
5.0
(1)
Developer
Netdesignr
Actor stats
1
Bookmarked
15
Total users
9
Monthly active users
a day ago
Last modified
Categories
Share
Scrape public Facebook posts, reels, videos, and engagement data from pages, profiles, and public groups. This Apify actor is designed for lower-cost public-surface extraction, cleaner pricing, and API-first workflows without requiring a Facebook login.
Pages, profiles, groups, reels | No login | Keyword filters | API-ready | AI workflow friendly
Why use this Facebook scraper
- Extract public Facebook posts from pages, profiles, and public groups.
- Capture reels and video post URLs alongside captions, thumbnails, and visible engagement.
- Filter by keyword and date without making users pay an extra add-on for date filtering.
- Choose
fast,balanced, orfullextraction depending on cost and depth. - Export results to JSON, CSV, Excel, XML, RSS, or any dataset format supported by Apify.
- Run on demand, schedule recurring runs, or call it through the Apify API from your own app.
What data can you extract from Facebook posts
| Field | Description | Included |
|---|---|---|
sourceType | page, profile, or group | Always |
sourceName | Name of the Facebook source | Always |
canonicalSourceUrl | Canonical page, profile, or group URL | Always |
postId | Stable post, reel, story, photo, or video identifier | Always |
postUrl | Clean Facebook post URL | Always |
time | Best-effort ISO time when parseable | Usually |
timeText | Visible Facebook time label such as 19h or 2d | Always |
text | Visible post or reel caption text | Usually |
textReferences | Hashtags and visible external links | Usually |
totalReactions | Total visible reactions | When visible |
comments | Visible comment count | When visible |
shares | Visible share count | When visible |
media | Media URLs detected on the post card | When visible |
thumbnails | Thumbnails from images or video cards | When visible |
video | Best-effort video metadata | When visible |
topCommentsPreview | Small visible comment preview block | Optional |
page | Source metadata such as followers, category, intro, website | Usually |
warnings | Honest warnings when Facebook exposes partial data | Always |
What makes this actor different
- Public-surface first: built around logged-out Facebook pages, profiles, reels, and groups that are visible without a session.
- Cleaner pricing model: meant to launch with one simple per-result price instead of charging extra for date filters.
- Better control:
fast,balanced, andfullmodes let users tune speed and cost. - Better observability: every run stores
RUN_METAso operators can audit empty runs, retries, and failures. - Better output hygiene: tracking parameters are removed from Facebook URLs before results are stored.
Example workflows and case-study use cases
- Brand monitoring: track the latest posts and reels from competitor pages each morning and export them into Slack, Sheets, or your warehouse.
- Hospitality marketing: monitor hotel, resort, and venue pages to compare post cadence, reel usage, and visible engagement across markets.
- Lead research: pull public posts from local businesses, creators, or communities and use visible links and hashtags to enrich outreach lists.
- AI knowledge pipelines: schedule daily runs and feed cleaned Facebook post data into retrieval, summarization, or agent workflows.
How to scrape Facebook posts
- Open this actor in Apify Store and click Try for free.
- Paste one or more Facebook page, profile, or group URLs into
startUrls. - Set
maxPostsand choosefast,balanced, orfull. - Optionally add
keywordFilter,dateFrom,dateTo, or top comment previews. - Start the run and export the dataset in the format you need.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | [] | Main list of Facebook pages, profiles, or public groups |
pageOrProfileUrls | array | [] | Shortcut list for pages and profiles |
groupUrls | array | [] | Shortcut list for public Facebook groups |
maxPosts | integer | 25 | Maximum posts emitted across all targets |
dateFrom | string | none | Keep posts on or after YYYY-MM-DD |
dateTo | string | none | Keep posts on or before YYYY-MM-DD |
keywordFilter | array | none | Only keep posts whose visible text matches one of the keywords |
extractionMode | string | balanced | fast, balanced, or full |
includeTopComments | boolean | false | Include visible top comments when Facebook shows them |
commentPreviewLimit | integer | 2 | Max visible comment previews per post |
includeTranscripts | boolean | false | Best-effort video transcript extraction in richer runs |
deduplicate | boolean | true | Remove duplicates across overlapping sources |
proxyConfiguration | object | none | Optional proxy configuration for harder targets |
debugMode | boolean | false | Adds extra diagnostics for troubleshooting |
emptyRunPolicy | string | retry_then_warn | Controls exit behavior when a reachable public surface emits zero posts; runs where every target errors still fail |
Example input
{"startUrls": [{ "url": "https://www.facebook.com/NASA" }],"maxPosts": 50,"extractionMode": "balanced","dateFrom": "2026-03-01","keywordFilter": ["design", "launch", "website"],"includeTopComments": true,"commentPreviewLimit": 3}
Output example
{"sourceType": "page","sourceName": "NetDesignr","canonicalSourceUrl": "https://www.facebook.com/netdesignr","postId": "pfbidExample123","postUrl": "https://www.facebook.com/netdesignr/posts/pfbidExample123","time": "2026-03-17T18:40:00.000Z","timeText": "19h","text": "We just launched a new website performance and UX audit workflow for growing brands.","totalReactions": 14,"comments": 3,"shares": 1,"warnings": ["timestamp_estimated_from_relative_time"],"scrapedAt": "2026-03-18T17:42:00.000Z"}
Facebook scraper API examples
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('netdesignr/facebook-posts-scraper').call({startUrls: [{ url: 'https://www.facebook.com/NASA' }],maxPosts: 25,extractionMode: 'balanced',includeTopComments: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("netdesignr/facebook-posts-scraper").call(run_input={"startUrls": [{"url": "https://www.facebook.com/NASA"}],"maxPosts": 25,"extractionMode": "balanced",})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/netdesignr~facebook-posts-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url": "https://www.facebook.com/NASA"}],"maxPosts": 25,"extractionMode": "balanced"}'
Pricing and monetization
This actor uses simple per-result pricing based on dataset items. The pricing model is designed to stay straightforward, with no separate add-on fee for date filtering.
FAQ
Can I scrape Facebook pages without logging in?
Yes, for public surfaces that Facebook exposes to logged-out browsers. Private or restricted pages, groups, and profiles may return partial or empty data.
Does this actor support Facebook reels?
Yes. Reels are extracted as Facebook post URLs and marked as video media when they are visible on the public page.
Can I filter by date?
Yes. dateFrom and dateTo work against the visible publish time that Facebook exposes on public surfaces. When Facebook only shows relative times such as 19h, the actor stores an estimated timestamp and a warning.
Do I need proxies?
Not always. Many public pages work without them. Proxies are helpful when Facebook serves a degraded or region-sensitive logged-out experience.
Can I use this as a Facebook API alternative?
Yes, for public post collection, competitor monitoring, research, and content analysis. This actor is useful when you need public Facebook post data without building and maintaining your own scraper stack.
What are the main limitations?
Exact timestamps, full reaction breakdowns, and transcripts depend on what Facebook exposes publicly. The actor does not invent missing values and reports partial-visibility warnings instead.
Legal and responsible use
Use this actor only for data you have the right to collect and process. Respect Facebook's terms, local law, privacy obligations, and any downstream compliance requirements such as GDPR or CCPA. Review Apify's documentation and your legal requirements before using scraped public data in production.
