Facebook Posts Scraper
Pricing
$19.99/month + usage
Facebook Posts Scraper
📘 Facebook Posts Scraper extracts posts from pages & groups—captions, dates, links, reactions, comments, shares & hashtags. 🔎 Ideal for social listening, competitor analysis, content research & marketing analytics. 📊 Export CSV/JSON to power dashboards. 🚀
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScraperForge
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Facebook Posts Scraper
The Facebook Posts Scraper is a fast, reliable Facebook posts extractor that collects structured post data from public Facebook pages and groups — including captions, timestamps, links, reactions, comments, shares, media, and page/user details. Built for marketers, developers, data analysts, and researchers, this Facebook page posts scraper uses live GraphQL timelines with cursor-based pagination to scrape Facebook public posts at scale and export to JSON/CSV for dashboards and analytics. 🚀
What data / output can you get?
Below are the exact fields this Facebook content scraper pushes to the dataset for each post. You can export the dataset to JSON, CSV, or Excel on Apify.
| Data field | Description | Example value |
|---|---|---|
| facebookUrl | The page target URL used for scraping | https://www.facebook.com/nytimes/ |
| postId | Unique post identifier | 1234567890123456 |
| pageName | Page or handle derived from the URL | nytimes |
| url | Direct URL to the post (permalink or top-level URL) | https://www.facebook.com/100044185428261/posts/1397878851694949 |
| time | ISO timestamp of the post | 2024-03-01T14:22:10.000Z |
| timestamp | Unix timestamp (seconds) | 1709302930 |
| user | Object with page/user info (id, name, profileUrl, profilePic) | {"id":"100044185428261","name":"Example Page","profileUrl":"https://www.facebook.com/100044185428261","profilePic":"https://.../profile.jpg"} |
| collaborators | Array of collaborator objects when present | [] |
| text | Post caption text (may be empty if transcripts are disabled) | “New story out now…” |
| likes | Total reactions count from feedback | 1203 |
| comments | Total comments count | 87 |
| shares | Total shares count | 54 |
| topReactionsCount | Sum of top reactions | 1190 |
| reactionLikeCount | Count of “Like” reactions | 980 |
| reactionLoveCount | Count of “Love” reactions | 150 |
| reactionHahaCount | Count of “Haha” reactions | 10 |
| reactionCareCount | Count of “Care” reactions | 5 |
| reactionSadCount | Count of “Sad” reactions | 3 |
| reactionWowCount | Count of “Wow” reactions | 25 |
| reactionAngryCount | Count of “Angry” reactions | 17 |
| media | Array of media objects with thumbnails, dimensions, URLs, optional OCR captions | [{"thumbnail":"https://.../image.jpg","photo_image":{"uri":"https://...","height":1080,"width":1080},"url":"https://..."}] |
| feedbackId | Facebook feedback identifier | ZmVlZGJhY2s6MTM5Nzg3ODg1MTY5NDk0OQ== |
| topLevelUrl | Canonical post permalink constructed from IDs | https://www.facebook.com/100044185428261/posts/1397878851694949 |
| facebookId | Page/user ID | 100044185428261 |
| pageAdLibrary | Ad Library reference object with page ID | {"id":"100044185428261"} |
| inputUrl | Original input URL or normalized target | https://www.facebook.com/nytimes/ |
Notes:
- Media objects may include ocrText (accessibility caption) and feedback metadata when available.
- This Facebook post data miner saves clean, analysis-ready JSON you can export to CSV/Excel for BI tools.
Key features
-
🔍 Live GraphQL timeline scraping
Uses page/profile IDs and doc IDs discovered from the live site to fetch timeline feeds with cursor-based pagination — a robust Facebook feed scraper approach. -
❤️ Reactions & engagement breakdowns
Extracts likes, comments, shares, plus per-reaction counts: Like, Love, Haha, Care, Sad, Wow, Angry — ideal for a Facebook reactions scraper. -
🖼️ Rich media metadata
Captures thumbnails, image dimensions, attachment URLs, and optional accessibility captions from posts — perfect for content analysis. -
⏱️ Smart date filtering
Limit results with absolute calendar dates or relative ranges (e.g., “7 days”, “2 months”) to scrape precisely the timeframe you need. -
🌐 Production-ready proxy strategy
Prefers Apify Residential proxy when available and falls back to Datacenter or your custom proxy URLs — reduces blocks and increases success. -
📦 Ready-to-use exports
Download results as JSON, CSV, or Excel to power dashboards and reports, or connect via the Apify API. -
👩💻 Developer friendly
Works seamlessly in automation pipelines; integrate the dataset API with Python/JavaScript to export Facebook posts to CSV or feed downstream systems. -
🧠 Reliable by design
Built-in retries, backoff, and sequential target processing help mitigate rate limits for stable, repeatable runs.
How to use Facebook Posts Scraper - step by step
- Sign in to Apify and open the Facebook Posts Scraper actor.
- Add your targets in “Facebook Page URLs or Usernames”. You can mix:
- Full URLs: https://www.facebook.com/nytimes/ or https://www.facebook.com/Cristiano/
- Usernames only: nytimes, Cristiano, iamsrk (the tool turns these into full URLs)
- Set “Maximum Posts per Page” to control depth (default 10; range 1–10,000).
- (Optional) Set date filters:
- “Posts Newer Than (Start Date)”: absolute (YYYY-MM-DD) or relative (“7 days”, “2 months”).
- “Posts Older Than (End Date)”: absolute or relative (“0” for today).
- (Optional) Toggle “Include Video Transcripts” if you want to capture video/reel transcripts when available.
- (Optional) Configure Proxy Settings. If you don’t set anything, the actor prefers Apify Residential proxy and can fall back to Datacenter or your custom proxies.
- Click Start. The actor will normalize targets, resolve IDs, paginate the timeline feed, and stream items into the dataset.
- Download results from the dataset in JSON, CSV, or Excel — or access them via the Apify API for automation.
Pro Tip: Chain this Facebook post crawler with your analytics pipeline to automatically download Facebook posts data into a data warehouse or visualization tool.
Use cases
| Use case | Description |
|---|---|
| Marketing analytics – competitor posts | Monitor competitors’ page feeds, track engagement, and benchmark content performance using a Facebook page data extractor. |
| Social listening – public pages & groups | Scrape Facebook public posts for brand mentions, topics, and reactions with a Facebook posts scraping tool feeding your dashboards. |
| Content research – creative insights | Identify post formats that drive reactions, comments, and shares to guide your content calendar. |
| Academic & policy research | Collect longitudinal datasets of public posts for sentiment, topic modeling, and community analysis. |
| eCommerce & trend tracking | Discover product trends and viral topics from page timelines to inform merchandising and ads. |
| Data enrichment via API | Automate exports to JSON/CSV and pipe into Python/JS workflows for modeling, scoring, or BI. |
Why choose Facebook Posts Scraper?
Built for precision, scale, and automation, this Facebook post scraper software provides structured outputs and resilient collection.
- 🎯 Accurate, structured data extraction (captions, timestamps, reactions, and media)
- 🌍 Date-range targeting with absolute or relative filters for precise windows
- 📈 Scales to thousands of posts per target with cursor-based pagination
- 👩💻 Developer-ready outputs and API access for pipelines and integrations
- 🔐 Safe & reliable network strategy with Apify proxy preferences and fallbacks
- 💰 Cost-effective automation for recurring exports and monitoring
- 🔄 More stable than manual tools or browser extensions; production-grade reliability
Is it legal / ethical to use Facebook Posts Scraper?
Yes — when done responsibly. This tool is designed to extract publicly available content from Facebook pages and groups. It does not access private or authenticated data.
Guidelines for compliant use:
- Only collect publicly accessible information.
- Respect Facebook’s terms and your local regulations (e.g., GDPR, CCPA).
- Avoid scraping private profiles or gated content.
- Use the data ethically for analysis, research, or reporting.
- Consult your legal team for edge cases or regulated use.
Input parameters & output format
JSON input example
{"startUrls": ["https://www.facebook.com/nytimes/","Cristiano","iamsrk"],"maxPosts": 25,"includeVideoTranscript": true,"oldestPostDateUnified": "2024-01-01","newestPostDate": "0 days","proxyConfiguration": {"useApifyProxy": false}}
Parameters
- startUrls (array, required): Facebook page targets — full URLs or usernames. You can mix both. Each target is scraped sequentially to reduce rate limits.
- Default: none
- maxPosts (integer): Maximum posts to collect per target page. Min 1; Max 10,000.
- Default: 10
- includeVideoTranscript (boolean): Capture video captions & transcripts when available. ON extracts transcripts; OFF still includes video posts without transcript text.
- Default: false
- oldestPostDateUnified (string): Only include posts after this date. Accepts absolute (YYYY-MM-DD) or relative (e.g., “7 days”, “2 months”).
- Default: none
- newestPostDate (string): Only include posts before this date. Accepts absolute or relative (e.g., “0” for today).
- Default: none
- proxyConfiguration (object): Proxy settings. Prefers Apify Residential, falls back to Apify Datacenter, and supports custom proxy URLs.
- Default: none (prefill shown in UI: {"useApifyProxy": false})
JSON output example
{"facebookUrl": "https://www.facebook.com/nytimes/","postId": "1397878851694949","pageName": "nytimes","url": "https://www.facebook.com/100044185428261/posts/1397878851694949","time": "2024-03-01T14:22:10.000Z","timestamp": 1709302930,"user": {"id": "100044185428261","name": "The New York Times","profileUrl": "https://www.facebook.com/100044185428261","profilePic": "https://example-cdn.fbcdn.net/profile.jpg"},"collaborators": [],"text": "Breaking: Major story goes here...","likes": 40224,"comments": 2279,"shares": 1484,"topReactionsCount": 40190,"reactionLikeCount": 38000,"reactionLoveCount": 1500,"reactionHahaCount": 50,"reactionCareCount": 20,"reactionSadCount": 30,"reactionWowCount": 500,"reactionAngryCount": 90,"media": [{"thumbnail": "https://example-cdn.fbcdn.net/image-thumb.jpg","__typename": "Photo","__isMedia": "Photo","accent_color": "FFFFFFFF","photo_product_tags": [],"photo_image": {"uri": "https://example-cdn.fbcdn.net/image.jpg","height": 1080,"width": 1080},"url": "https://www.facebook.com/photo/?fbid=1397878851694949","id": "1397878851694949","feedback": {"can_viewer_comment": false,"id": "ZmVlZGJhY2s6MTM5Nzg3ODg1MTY5NDk0OQ=="},"ocrText": "A descriptive image caption if available"}],"feedbackId": "ZmVlZGJhY2s6MTM5Nzg3ODg1MTY5NDk0OQ==","topLevelUrl": "https://www.facebook.com/100044185428261/posts/1397878851694949","facebookId": "100044185428261","pageAdLibrary": {"id": "100044185428261"},"inputUrl": "https://www.facebook.com/nytimes/"}
Notes:
- Reaction breakdown fields include reactionLikeCount, reactionLoveCount, reactionHahaCount, reactionCareCount, reactionSadCount, reactionWowCount, reactionAngryCount.
- Media items may include optional ocrText and feedback.
FAQ
Do I need to log in to use this Facebook post scraper?
No. The actor targets publicly accessible Facebook content and does not require login. It resolves IDs and fetches timeline data directly from the public web endpoints with robust headers and proxy support.
Can it scrape Facebook page posts and group posts?
Yes. Provide page URLs or usernames, and the actor will normalize targets. It’s designed as a Facebook page posts scraper and Facebook group posts scraper for public content, returning structured post-level data.
Does it collect comments text or only counts?
It collects the total comments count for each post via the “comments” field. It does not extract individual comment bodies; this tool focuses on post-level fields and engagement metrics.
Which reactions are included?
The scraper includes total reactions and a detailed breakdown: reactionLikeCount, reactionLoveCount, reactionHahaCount, reactionCareCount, reactionSadCount, reactionWowCount, and reactionAngryCount. This makes it a robust Facebook reactions scraper for engagement analysis.
How many posts can I download per target?
You can set “Maximum Posts per Page” from 1 up to 10,000 per target. The actor paginates the timeline feed and stops when the per-target limit is reached.
How do I export Facebook posts to CSV?
After the run, open the run’s dataset in Apify and choose CSV (or JSON/Excel) from the Export options. You can also access results programmatically via the Apify Dataset API.
How do date filters work?
Use “Posts Newer Than (Start Date)” and/or “Posts Older Than (End Date)” with either absolute dates (YYYY-MM-DD) or relative values (e.g., “7 days”, “2 months”). The scraper applies these to limit the timeline window.
What if Facebook blocks my requests?
The actor prefers Apify Residential proxy for better success rates and falls back to Datacenter or your custom proxies when set. It also uses retries and backoff if rate limits or empty responses occur.
Closing thoughts
The Facebook Posts Scraper is built to reliably scrape Facebook public posts at scale with clean, structured outputs for analytics and automation. With engagement breakdowns, media metadata, smart timeframe filters, and export-ready datasets, it’s ideal for marketers, developers, analysts, and researchers. Connect the dataset API to your Python/JavaScript workflows to automate exports, or use the UI to download CSV/JSON instantly. Start extracting smarter Facebook insights today.