Facebook Posts Scraper - 33 Fields, Reaction Split
Pricing
from $3.61 / 1,000 result items
Facebook Posts Scraper - 33 Fields, Reaction Split
Reads posts from public Facebook pages and profiles, with an optional date range. 33 fields per post: text, timestamp, likes, comments and shares, the reaction split across like, love, care, haha, wow, sad and angry, media type and URLs, video and reel flags, and the source of shared posts.
Pricing
from $3.61 / 1,000 result items
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
117
Total users
8
Monthly active users
4 days ago
Last modified
Categories
Share
Facebook Posts Scraper
Scrape the recent posts of any public Facebook page or profile — no login, no API key. Every post comes with its text, full reaction breakdown, shares, comments, media links, and publish date. List as many pages as you like in one run. Export to CSV, JSON, Excel, or XML.
No minimum charge: you only pay for the results you get.
Facebook's official Graph API requires app review, page tokens, and strict rate limits that throttle bulk collection. This scraper reads the public post feeds directly from page and profile URLs, filters by date range, and returns each matching post in one fixed schema. Collect Facebook posts for content analysis, brand monitoring, or archival without writing a single line of code.
| Who uses it | What they scrape Facebook for |
|---|---|
| Social media managers | Benchmark competitor page content and engagement over time. |
| Market researchers | Track public sentiment and trending topics across brand pages. |
| Data journalists | Gather a corpus of public posts for reporting on narratives or disinformation. |
| Archivists | Preserve public page histories before content is edited or deleted. |
What it does
This Actor collects Facebook posts from public pages and profiles and returns each one as a flat row with text, reactions, shares, comments, media, and timestamps.
- 🔗 Flexible input: feed it full Facebook page URLs, profile URLs, or short page slugs like cern or nasa.
- 🧾 Recent posts per page: Facebook shows a logged-out visitor the top of a timeline, which is roughly the 25-40 most recent posts. Scale up by listing more pages, not by asking for a deeper history of one.
- 📅 Date filtering: set a minimum and maximum post date to collect only posts published in a specific window.
- ⚙️ Concurrency control: adjust parallel scraping from 1 to 5 pages to balance speed and IP courtesy.
- 📦 Structured output: every post lands in a clean dataset with the same fields, ready for analysis.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with Facebook data
📊 Monitor competitor content.
A social media manager enters a competitor's page URL and a 30-day date range to collect every post and its engagement counts for a monthly content audit.
🔍 Research public discourse.
A data journalist scrapes posts from multiple news outlet pages over a six-month period to analyze how a major story was framed.
🗄️ Archive posts on a schedule.
An archivist runs the scraper on a public figure's profile every day, so the recent posts are captured before any of them are edited or deleted.
📈 Track brand sentiment.
A market researcher collects posts mentioning a product across several brand pages and exports the dataset to a sentiment analysis tool.
Why choose this scraper
| What you get | |
|---|---|
| No API approvals | Scrapes public feeds directly, no app registration or token management needed. |
| Date-range control | Collect only posts published between two dates you specify. |
| Slug shortcuts | Enter page slugs instead of full URLs for faster setup. |
| Scalable collection | Queue hundreds of pages in a single run, throttled to stay polite. |
How it compares
No other Store actor targets Facebook the same way, so the honest comparison is with the alternatives teams actually weigh.
| Facebook Posts Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When Facebook changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor from page URLs, profile URLs, and page slugs, alone or together, and date filters run as each post is read so only matches reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{"startUrls": [{"url": "https://www.facebook.com/cern/"}],"maxItems": 10}
A larger pull:
{"startUrls": [{"url": "https://www.facebook.com/cern/"}],"maxItems": 200}
Pricing
Pay-per-result: $0.00405 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.40 |
| 1,000 results | $4.05 |
| 10,000 results | $40.50 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the Facebook Posts Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to Facebook through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/facebook-posts-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that the page or profile URL is correct and that its posts are publicly visible without logging in. Also verify your date filter is not excluding all posts. Try removing the date filter and running again.
The scraper is running very slowly.
Increase the Max Concurrency setting to 3 or 5 to process more pages in parallel. Each page needs a fresh exit IP, so a long list of pages takes proportionally longer.
Some posts are missing media or have broken image links.
Facebook may serve temporary URLs for media that expire. The scraper captures the URLs available at the time of collection. Re-run the scraper to get fresh media links if needed.
I get an error about the URL format.
Ensure URLs start with https://www.facebook.com/ and point to a page or profile. For slugs, enter only the short text identifier without slashes or the full domain.
The scraper stopped before reaching my Max Posts limit.
Facebook serves a logged-out visitor only the first page of a timeline, roughly the 25-40 most recent posts, so a single page URL cannot fill a large limit on its own. Add more page URLs or slugs to collect more. A date filter narrowing the range will also end a run early.
FAQ
| Question | Answer |
|---|---|
| Do I need a Facebook account or login to use this scraper? | No. This Actor reads publicly visible posts from pages and profiles that do not require a login. It does not access private content or require any Facebook credentials. |
| Can I scrape posts from private Facebook groups or profiles? | No. The scraper only collects posts that are publicly accessible without authentication. Private groups, locked profiles, and friends-only content cannot be reached. |
| What data fields does the scraper return for each post? | Each row includes the post text, publish date, reaction counts, share count, comment count, attached media URLs, and the source page or profile URL. The exact field list is shown in the sample output on the Actor's page. |
| How many posts can I scrape in one run? | As many as the pages you list will give. Facebook shows a logged-out visitor roughly the 25-40 most recent posts of any one page, so the run total grows with the number of page URLs you provide, up to the 1,000,000 limit. |
| Can I filter posts by date? | Yes. Use the Min Post Date and Max Post Date fields to collect only posts published within a specific date range. Leave them empty to collect all available posts. |
| What is a page slug and how do I use it? | A page slug is the short identifier in a Facebook URL, like 'cern' in facebook.com/cern. You can enter slugs directly in the Page Slugs field instead of full URLs. |
| Can I scrape multiple pages at once? | Yes. Add multiple URLs in the Start URLs field or multiple slugs in the Page Slugs field. The scraper will process them sequentially or in parallel based on your concurrency setting. |
| Is this scraper legal to use? | Scraping public data from Facebook is a complex legal area. You are responsible for complying with Facebook's terms of service, applicable laws, and any website-specific rules. Consult a legal professional for your specific use case. |
| How do I export the scraped data? | Your dataset is stored in Apify's cloud storage. You can download it directly as CSV, JSON, Excel, or XML from the run detail page, or push it to an external service via an integration. |
| What does the Max Concurrency setting do? | It controls how many pages the scraper processes in parallel, from 1 to 5. Higher concurrency finishes faster but uses more resources. Start with 1 and increase if you need more speed. |
Next step
Use these results as input for other ParseForge actors:
- Facebook Comments Scraper: paste the post URLs from this dataset to get every comment and reply.
- Facebook Pages Scraper: paste the page URLs to add followers, category and contact details for each page.
- Facebook Reels Scraper: get the same pages' reels with exact view counts.
Related actors
Browse the full ParseForge collection for more scrapers.
🆘 Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
