Facebook Posts Scraper
Pricing
$19.99/month + usage
Facebook Posts Scraper
📘 Facebook Posts Scraper extracts public posts—text, images, links, timestamps, reactions, comments & #️⃣hashtags—at scale. 🔍 Filter by page, keyword or date. 📊 Export CSV/JSON for social listening, competitor analysis & content research. 🚀 Fast, reliable.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapeBase
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 minutes ago
Last modified
Categories
Share
Facebook Posts Scraper
Facebook Posts Scraper is a production-ready Apify actor that extracts public Facebook posts at scale — including post text, timestamps, links, media, reactions, likes, comments count, and shares — from pages, groups, and profiles. As a Facebook post scraper and Facebook posts extractor, it helps marketers, developers, data analysts, and researchers scrape Facebook page posts and scrape Facebook group posts for social listening, competitor tracking, and content research. Built for reliability and scale, it enables fast Facebook post data extraction without the official API.
What data / output can you get?
Below are the exact JSON fields the actor saves to the dataset for each post:
| Data field | Description | Example value |
|---|---|---|
| facebookUrl | Source page/profile URL used for scraping | https://www.facebook.com/nytimes/ |
| postId | Unique post identifier | 123456789012345 |
| pageName | Page or profile slug derived from URL | nytimes |
| url | Direct URL to the post (fallback to canonical permalink) | https://www.facebook.com/100044185428261/posts/1397878851694949 |
| time | Post time in ISO format with Z suffix | 2025-01-15T10:41:16.000Z |
| timestamp | Unix timestamp (seconds) | 1736937676 |
| user.id | Owning page/profile ID | 100044185428261 |
| user.name | Page/profile display name (when available) | The New York Times |
| user.profileUrl | Profile URL composed from ID | https://www.facebook.com/100044185428261 |
| user.profilePic | Profile picture URL (when detected) | https://static.xx.fbcdn.net/.../profile.jpg |
| text | Post caption/message text | Major breaking news just in… |
| likes | Total reaction count | 40224 |
| comments | Total comments count | 2279 |
| shares | Total share count | 1484 |
| topReactionsCount | Total count of top reactions | 7 |
| reactionLikeCount | “Like” reactions count | 31200 |
| reactionLoveCount | “Love” reactions count | 6120 |
| reactionHahaCount | “Haha” reactions count | 420 |
| reactionCareCount | “Care” reactions count | 210 |
| reactionSadCount | “Sad” reactions count | 85 |
| reactionWowCount | “Wow” reactions count | 320 |
| reactionAngryCount | “Angry” reactions count | 69 |
| media | Array of media objects (images/attachments) with metadata | [{ "thumbnail": "...", "photo_image": {...}, "ocrText": "..." }] |
| feedbackId | Facebook feedback identifier | ZmVlZGJhY2s6MTM5Nzg3ODg1MTY5NDk0OQ== |
| topLevelUrl | Canonical “/ID/posts/POST_ID” permalink | https://www.facebook.com/100044185428261/posts/1397878851694949 |
| facebookId | Owning page/profile ID (same as user.id) | 100044185428261 |
| pageAdLibrary.id | Page ID for Ad Library lookups | 100044185428261 |
| inputUrl | Original input URL you provided | https://www.facebook.com/nytimes/ |
| collaborators | Collaborator metadata (when present) | [] |
Notes:
- Media entries may include thumbnail, dimensions (photo_image.height/width), URLs, and optional ocrText (accessibility caption) for richer analysis.
- Export the dataset in JSON, CSV, or Excel to build reports, dashboards, or pipelines like a Facebook posts downloader or to export Facebook posts to CSV.
Key features
-
🔎 GraphQL-powered timeline extraction
Robust Facebook page feed scraper that discovers page/profile IDs and GraphQL doc IDs from the live site and paginates with cursors — no browser required. -
🌐 Pages, groups, and profiles coverage
Normalize inputs to scrape Facebook page posts and scrape Facebook group posts in one run. Mix full URLs and usernames; targets run sequentially for reliability. -
🗓️ Smart date filters
Limit results by start and/or end date using oldestPostDateUnified and newestPostDate. Filters are applied during requests and re-checked client-side for precision. -
💬 Engagement metrics & reaction breakdown
Get likes, comments count, shares, topReactionsCount, and per-type fields (Like/Love/Haha/Care/Sad/Wow/Angry) for granular analysis. -
🖼️ Media metadata with optional OCR captions
Collect media thumbnails, dimensions, attachment URLs, and accessibility captions (ocrText) when present to enrich creative analysis. -
🛡️ Production-grade anti-blocking
Prefers Apify Residential proxy when available, falls back to Apify Datacenter or your custom proxy, with retries and exponential backoff. -
📦 Analysis-ready dataset
Clean, consistent JSON that works out of the box for Facebook posts extractor workflows, including “Facebook posts crawler” and “extract Facebook posts for analysis” use cases. -
👩💻 Developer friendly
Run via Apify API; integrate with Python, Make, n8n, or your data stack. Build an automated Facebook post scraper tool or Facebook post scraper Python pipeline without the official API.
How to use Facebook Posts Scraper - step by step
- Create or log in to your Apify account.
- Open the Facebook Posts Scraper actor and click “Input” to configure your run.
- Add targets in startUrls:
- Full page URL: https://www.facebook.com/nytimes/
- Username only: nytimes
- Group: groups/mygroup or https://www.facebook.com/groups/mygroup
- Set maxPosts to control depth per target (1–10,000; default 10).
- Apply date filters (optional):
- Posts Newer Than (Start Date): oldestPostDateUnified (absolute like 2024-01-01 or relative like 7 days, 2 months, 1 year).
- Posts Older Than (End Date): newestPostDate (absolute like 2024-12-31 or relative like 0 for today).
- Configure proxy (optional): The actor prefers Apify Residential proxy, falls back to Apify Datacenter, and supports custom URLs.
- Start the run: targets are processed sequentially to reduce rate limits. Progress logs will show per-target counts.
- Download results: open the Dataset tab to export JSON, CSV, or Excel, or access via API for automation.
Pro Tip: Chain runs or connect the dataset to your analytics stack to export Facebook posts to CSV and power “Facebook post data extraction” dashboards.
Use cases
| Use case | Description |
|---|---|
| Social listening for marketers | Monitor pages and groups to quantify engagement trends and reactions. Export to CSV for weekly reporting. |
| Competitor content analysis | Benchmark how rivals post, structure captions, and which reactions dominate over time. |
| Editorial research & insights | Curate public posts as a Facebook posts downloader feed for story leads and events. |
| Brand monitoring & PR | Track brand pages for spikes in comments count, shares, and reaction changes. |
| Academic & policy studies | Collect public timelines for longitudinal analysis with a Facebook posts extractor dataset. |
| Data science & NLP | Build labeled corpora from post text, ocrText, and engagement signals for modeling. |
| Automation pipelines | Trigger downstream workflows via API to scrape Facebook page posts at intervals without API credentials. |
Why choose Facebook Posts Scraper?
Built for precision, automation, and reliability, this Facebook post scraper tool offers:
- ✅ Accurate, structured fields for analysis-ready datasets
- 🌍 Pages, groups, and profiles coverage in a single workflow
- 📈 Scales from small tests to deep timelines (up to 10,000 posts per target)
- 🧰 Developer access via the Apify API for Python and workflow automation
- 🔐 No login required — a Facebook public posts scraper without the official API
- 🛡️ Anti-blocking with residential/datacenter proxies and retry/backoff logic
- ⚙️ Better than ad-hoc extensions — stable, production-grade infrastructure
In short, a dependable Facebook posts crawler that balances coverage, data quality, and operational reliability.
Is it legal / ethical to use Facebook Posts Scraper?
Yes — when done responsibly. This actor is designed to extract publicly available information and does not access private or authenticated content. You should:
- Collect only public data and respect platform terms.
- Comply with data protection laws (e.g., GDPR, CCPA) and internal policies.
- Use results for lawful purposes (analysis, research) and avoid misuse.
- Consult your legal team for edge cases and jurisdiction-specific rules.
Input parameters & output format
Example input
{"startUrls": ["https://www.facebook.com/nytimes/","Cristiano","groups/mygroup"],"maxPosts": 25,"includeVideoTranscript": false,"oldestPostDateUnified": "7 days","newestPostDate": "","proxyConfiguration": {"useApifyProxy": false}}
Parameter reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| startUrls | array | Yes | — | Facebook Page targets as full URLs or usernames. You can mix formats; targets run sequentially to reduce rate limits. |
| maxPosts | integer | No | 10 | Maximum posts to collect per target page (1–10,000). The actor stops when this count is reached per page. |
| includeVideoTranscript | boolean | No | false | Capture video captions & transcripts (when available). When OFF, video posts still appear with metadata. |
| oldestPostDateUnified | string | No | — | Posts Newer Than (Start Date). Absolute (e.g., 2024-01-01) or Relative (e.g., 7 days, 2 months, 1 year). |
| newestPostDate | string | No | — | Posts Older Than (End Date). Absolute (e.g., 2024-12-31) or Relative (e.g., 0 for today). |
| proxyConfiguration | object | No | {"useApifyProxy": false} | Proxy settings. Prefers Apify Residential; falls back to Apify Datacenter; supports custom proxy URLs. |
Example output
{"facebookUrl": "https://www.facebook.com/nytimes/","postId": "1397878851694949","pageName": "nytimes","url": "https://www.facebook.com/100044185428261/posts/1397878851694949","time": "2025-01-15T10:41:16.000Z","timestamp": 1736937676,"user": {"id": "100044185428261","name": "The New York Times","profileUrl": "https://www.facebook.com/100044185428261","profilePic": "https://static.xx.fbcdn.net/rsrc.php/v3/yX/r/profile_pic.jpg"},"collaborators": [],"text": "Major breaking news just in...","likes": 40224,"comments": 2279,"shares": 1484,"topReactionsCount": 7,"reactionLikeCount": 31200,"reactionLoveCount": 6120,"reactionHahaCount": 420,"reactionCareCount": 210,"reactionSadCount": 85,"reactionWowCount": 320,"reactionAngryCount": 69,"media": [{"thumbnail": "https://scontent.xx.fbcdn.net/v/t1.6435-9/thumbnail.jpg","__typename": "Photo","__isMedia": "Photo","accent_color": "FFFFFFFF","photo_product_tags": [],"photo_image": {"uri": "https://scontent.xx.fbcdn.net/v/t1.6435-9/large.jpg","height": 1080,"width": 1080},"url": "https://www.facebook.com/photo/?fbid=1397878851694949","id": "pfbid02abcDEFghijkLmn"}],"feedbackId": "ZmVlZGJhY2s6MTM5Nzg3ODg1MTY5NDk0OQ==","topLevelUrl": "https://www.facebook.com/100044185428261/posts/1397878851694949","facebookId": "100044185428261","pageAdLibrary": {"id": "100044185428261"},"inputUrl": "https://www.facebook.com/nytimes/"}
Notes:
- The output contains reaction breakdown fields for Like, Love, Haha, Care, Sad, Wow, and Angry.
- Media entries may include ocrText when Facebook provides accessibility captions.
FAQ
Do I need a Facebook login or cookies?
No. The actor works as a Facebook public posts scraper without login. It discovers required IDs from the live site and fetches timeline data over the same endpoints used by the web experience, with robust proxy support.
Can it scrape Facebook groups as well as pages?
Yes. You can pass group slugs like groups/mygroup or full /groups/ URLs. The input is normalized so you can scrape Facebook group posts alongside pages and profiles in a single run.
Does it extract comments or only comment counts?
It extracts comments count. The dataset includes comments (total count) but does not include full comment threads or bodies.
How many posts can I scrape per target?
You can set maxPosts from 1 up to 10,000 per target. The scraper paginates the timeline and stops when it reaches your limit for each page or when no further posts are available.
Can I export results to CSV or use the data in Python?
Yes. Results are saved to an Apify dataset, which you can download as JSON, CSV, or Excel. You can also access the dataset via the Apify API and integrate with your Python workflows or automation tools.
Does it work without the official Facebook API?
Yes. It’s a Facebook post scraper without API credentials or login. It collects publicly available data from Facebook’s web endpoints and handles pagination automatically.
How do date filters work?
Use oldestPostDateUnified (start) and newestPostDate (end) to limit scraping to a target window using absolute or relative values. The scraper sends these as request parameters and also applies a client-side check to ensure results match your range.
What proxy setup is recommended?
The actor prefers Apify Residential proxy when available for the highest success rates, falls back to Apify Datacenter, and also supports your custom proxy URLs. No proxy configuration is required for basic runs.
Closing CTA / Final thoughts
Facebook Posts Scraper is built to extract structured, analysis-ready Facebook post data at scale. With date filters, reaction breakdowns, media metadata, and robust proxy handling, it’s ideal for marketers, developers, analysts, and researchers who need to automate Facebook posts downloader workflows and export Facebook posts to CSV or JSON. Integrate via the Apify API or a Facebook post scraper Python pipeline, and start extracting smarter social insights today.