Facebook Posts Scraper
Pricing
$19.99/month + usage
Facebook Posts Scraper
Scrape Facebook posts from public pages and profiles with ease ππ’ Extract post text, dates, reactions, comments, shares, media, and more. Perfect for competitor research, content analysis, audience insights, and trend tracking. Turn Facebook data into actionable insights fast π
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapeEngine
Actor stats
0
Bookmarked
3
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Facebook Posts Scraper
Facebook Posts Scraper is a fast, reliable Facebook post scraper tool that collects public posts from Facebook pages and public profiles at scale. It discovers the page/profile ID and the correct GraphQL operation from live Facebook, then fetches the timeline with cursor-based pagination β no browser required. Built for marketers, developers, analysts, and researchers, this Facebook page posts scraper turns feeds into structured datasets for competitor tracking, content analysis, audience insights, and trend monitoring. Use it as a Facebook posts API alternative to scrape Facebook posts and export Facebook posts to CSV, JSON, or Excel for your workflows π
What data / output can you get?
Below are real output fields as they appear in the dataset. Results are export-ready (JSON, CSV, Excel) and accessible via the Apify dataset.
| Data type | Description | Example value |
|---|---|---|
| facebookUrl | Input-normalized Facebook target URL | https://www.facebook.com/nytimes/ |
| postId | Unique post identifier | 1234567890123456 |
| pageName | Page or profile slug taken from the URL | nytimes |
| url | Direct URL to the post (falls back to canonical permalink) | https://www.facebook.com/100044185428261/posts/1397878851694949 |
| time | ISO timestamp string (UTC) | 2024-11-15T10:41:16.000Z |
| timestamp | Unix timestamp (seconds) | 1731667276 |
| user | Author/page metadata (id, name, profileUrl, profilePic) | {"id":"100044185428261","name":"The New York Times","profileUrl":"https://www.facebook.com/100044185428261","profilePic":"https://..."} |
| collaborators | Co-author/collaborator metadata when present | [] |
| text | Post text (caption). Can be emptied by input option | "New launch today..." |
| likes | Aggregate reactions count | 40224 |
| comments | Total comment count | 2279 |
| shares | Total share count | 1484 |
| topReactionsCount | Sum of top reactions | 7 |
| reactionLikeCount | Like reaction count | 35000 |
| reactionLoveCount | Love reaction count | 4200 |
| reactionHahaCount | Haha reaction count | 510 |
| reactionCareCount | Care reaction count | 90 |
| reactionSadCount | Sad reaction count | 50 |
| reactionWowCount | Wow reaction count | 1200 |
| reactionAngryCount | Angry reaction count | 174 |
| media | Image/media attachments with metadata (thumbnails, dimensions, optional OCR text) | [{"thumbnail":"https://...%22,%22photo_image%22:%7B%22uri%22:%22https://...%22,%22height%22:720,%22width%22:720%7D,%22url%22:%22https://...%22,%22id%22:%22987654321"}] |
| feedbackId | Facebook feedback node ID | ZmVlZGJhY2s6MTM5Nzg3ODg1MTY5NDk0OQ== |
| topLevelUrl | Canonical permalink constructed from IDs | https://www.facebook.com/100044185428261/posts/1397878851694949 |
| facebookId | ID of the owning profile/page | 100044185428261 |
| pageAdLibrary | Ad Library reference with page ID | {"id":"100044185428261"} |
| inputUrl | Original input target for traceability | https://www.facebook.com/nytimes/ |
Note: The media array can include optional ocrText extracted from accessibility captions when available. Exports are available directly from the Apify dataset as JSON, CSV, or Excel.
Key features
-
π Robust feed extraction (no browser) Uses production-style GraphQL requests with dynamic doc_id discovery and the correct x-fb-friendly-name for pages vs. profiles. Efficiently fetches timeline posts with cursor-based pagination.
-
π Anti-blocking with proxy preference Automatically prefers Apify Residential proxy, falls back to Apify Datacenter, and supports your custom proxy URLs. Built-in retries and exponential backoff handle empty or rate-limited responses.
-
π§ Smart date filtering Filter posts by absolute dates (YYYY-MM-DD) or relative ranges like β7 daysβ, β2 monthsβ, or β1 yearβ via the input. Filters are applied to the request and validated client-side.
-
π Full engagement metrics + reaction breakdown Collect aggregate reactions (βlikesβ), comments, shares, and top reactions by type (Like, Love, Haha, Care, Sad, Wow, Angry) for richer performance analysis.
-
πΌοΈ Media metadata with optional OCR captions Capture thumbnails, image dimensions, and attachment URLs. Includes accessibility captions (ocrText) when available in the media metadata.
-
π Clean, canonical URLs Get a direct post URL and a canonical permalink (topLevelUrl) to ensure reliable tracing across exports and pipelines.
-
π¦ Stream-to-dataset design Posts are queued and pushed to the dataset as theyβre discovered, enabling faster iteration and monitoring on long runs.
-
π¨βπ» Developer-friendly and export-ready Use as a Facebook posts API alternative: integrate Apify datasets via API, export to CSV/JSON/Excel, and plug into your analytics or ETL workflows. Great for Facebook posts scraper Python workflows and automation.
-
π Built for scale and stability Sequential target processing reduces rate limits. Deduplication and cursor-based pagination enable deep timelines for large-scale Facebook posts data extraction.
How to use Facebook Posts Scraper - step by step
-
Sign in to Apify
Create or log in to your Apify account to access the Facebook Posts Scraper actor. -
Add targets in startUrls
Provide Facebook page URLs or usernames. Examples:- Full URL: https://www.facebook.com/nytimes/
- Username only: nytimes, Cristiano
You can mix formats; each page/profile is processed sequentially.
-
Set maxPosts per target
Control depth with maxPosts (1β10,000). The scraper stops once it reaches this count for each target. -
(Optional) Configure date range
- oldestPostDateUnified: Include posts after this date. Accepts absolute (e.g., 2024-01-01) or relative values (e.g., 7 days, 2 months).
- newestPostDate: Include posts before this date. Supports absolute or relative values.
-
(Optional) Toggle Include Video Transcripts
Set includeVideoTranscript to true or false based on your needs. Default is false. When off, video posts still appear with metadata, but their transcript text is not included; the post text field can be emptied for faster runs. -
(Optional) Proxy settings
Leave proxyConfiguration empty to prefer Apify Residential/Datacenter automatically, or supply custom proxy URLs. -
Run the actor
Click Start. The run sequentially processes each target, paginates their timeline, applies filters, and pushes posts to the dataset in real time. -
Download/export results
Open the runβs dataset to preview and download as JSON, CSV, or Excel β perfect for dashboards, BI tools, or further ETL. Ideal for βexport Facebook posts to CSVβ workflows.
Pro tip: Use the Apify API to automate this Facebook posts data export tool, or schedule runs in Make/n8n for recurring reporting.
Use cases
| Use case name | Description |
|---|---|
| Marketing analytics β competitor post tracking | Monitor competitor pages, scrape Facebook posts, and compare reaction breakdowns to identify winning content themes and timing. |
| Content research β editorial planning | Analyze public posts to discover trending topics and formats; use the Facebook feed scraper output to inform your content calendar. |
| Social listening β brand health | Track brand pages or partner profiles and quantify audience response using likes, comments, shares, and reaction types. |
| Data enrichment β dashboards & BI | Feed structured post metrics into dashboards; this Facebook posts data extractor provides clean fields for direct ingestion. |
| Academic & media studies | Export long-run timelines as CSV/JSON to study engagement, topics, and public communication patterns. |
| Automation pipelines (API) | Run the Facebook posts crawler on a schedule and pull results via API for automated reporting and archiving. |
Why choose Facebook Posts Scraper?
Facebook Posts Scraper is built for precision, automation, and reliability β a production-grade Facebook posts API alternative without headless browsers.
- π― Accuracy-first extraction: Discovers the correct GraphQL doc_id and timeline operation from live bundles.
- π§± Stable at scale: Sequential processing, cursor-based pagination, and retries/backoff for resilience.
- π Public data focus: Targets public pages and profiles for ethical monitoring and analysis.
- π Integration-ready: Export JSON/CSV/Excel or access via API for BI tools, warehouses, and internal apps.
- π¨βπ» Developer access: Structured fields with consistent types simplify downstream parsing and analysis.
- π‘οΈ Anti-blocking strategy: Prefers Residential proxy with Datacenter fallback; supports custom proxies.
- π° Cost-effective vs browser extensions: Avoids brittle browser automation and unstable plugins while maintaining reliability.
In short: a production-ready Facebook posts scraping tool that outperforms unstable, browser-bound alternatives.
Is it legal / ethical to use Facebook Posts Scraper?
Yes β when used responsibly. This Facebook public posts scraper is designed for publicly available page and profile data.
Guidelines for compliant use:
- Only target and process public content.
- Do not attempt to access private or restricted data.
- Understand and respect Facebookβs terms of use.
- Ensure your processing aligns with applicable data protection laws (e.g., GDPR, CCPA).
- Consult your legal team for edge cases or regulated use.
Input parameters & output format
Example input
{"startUrls": ["nytimes","https://www.facebook.com/Cristiano/"],"maxPosts": 50,"includeVideoTranscript": false,"oldestPostDateUnified": "7 days","newestPostDate": "","proxyConfiguration": {"useApifyProxy": false}}
Parameters (from the schema):
-
startUrls (array, required)
Description: Enter one or more Facebook page targets. Accepts full URLs (e.g., https://www.facebook.com/nytimes/) or usernames (e.g., nytimes). Targets are scraped in sequence.
Default: none (required) -
maxPosts (integer, optional)
Description: Limit how many posts to collect per target page. Minimum 1, maximum 10,000.
Default: 10 -
includeVideoTranscript (boolean, optional)
Description: Capture video captions & transcripts toggle as defined in the input description. ON extracts caption/transcript text; OFF collects video posts with metadata without transcript text.
Default: false -
oldestPostDateUnified (string, optional)
Description: Only include posts after this date. Accepts absolute dates (YYYY-MM-DD) or relative values (e.g., 7 days, 2 months, 1 year). -
newestPostDate (string, optional)
Description: Only include posts before this date. Accepts absolute dates or relative values (e.g., 0 for today). -
proxyConfiguration (object, optional)
Description: Proxy settings. The actor prefers Apify Residential proxy when available, falls back to Apify Datacenter, and supports custom proxy URLs.
Default: {"useApifyProxy": false}
Example output
{"facebookUrl": "https://www.facebook.com/nytimes/","postId": "1397878851694949","pageName": "nytimes","url": "https://www.facebook.com/100044185428261/posts/1397878851694949","time": "2024-11-15T10:41:16.000Z","timestamp": 1731667276,"user": {"id": "100044185428261","name": "The New York Times","profileUrl": "https://www.facebook.com/100044185428261","profilePic": "https://scontent.xx.fbcdn.net/v/t39.30808-1/....jpg"},"collaborators": [],"text": "Big stories of the week...","likes": 40224,"comments": 2279,"shares": 1484,"topReactionsCount": 7,"reactionLikeCount": 35000,"reactionLoveCount": 4200,"reactionHahaCount": 510,"reactionCareCount": 90,"reactionSadCount": 50,"reactionWowCount": 1200,"reactionAngryCount": 174,"media": [{"thumbnail": "https://scontent.xx.fbcdn.net/v/t39.30808-6/....jpg","__typename": "Photo","__isMedia": "Photo","accent_color": "FFFFFFFF","photo_product_tags": [],"photo_image": {"uri": "https://scontent.xx.fbcdn.net/v/t39.30808-6/....jpg","height": 720,"width": 720},"url": "https://www.facebook.com/photo/?fbid=...","id": "987654321","feedback": {"can_viewer_comment": true,"id": "ZmVlZGJhY2s6OTg3NjU0MzIx"},"ocrText": "Aerial view of..."}],"feedbackId": "ZmVlZGJhY2s6MTM5Nzg3ODg1MTY5NDk0OQ==","topLevelUrl": "https://www.facebook.com/100044185428261/posts/1397878851694949","facebookId": "100044185428261","pageAdLibrary": {"id": "100044185428261"},"inputUrl": "https://www.facebook.com/nytimes/"}
Fields that may be empty/unknown:
- text can be set to an empty string depending on your includeVideoTranscript setting.
- media may be empty if the post has no media attachments.
- ocrText inside media appears only when accessibility captions are available.
FAQ
Does this scrape Facebook pages or profiles?
Yes. The actor bootstraps both Facebook Pages and public Profiles, then uses the correct timeline GraphQL operation for each. Provide either a page URL or a username in startUrls.
Can it scrape Facebook groups?
The actor focuses on public pages and profiles. If you need a Facebook public group posts scraper, contact support to discuss feasibility and customization.
Do I need to log in or provide cookies?
No. This Facebook posts scraping tool works without login. It uses browser-like HTTP/TLS fingerprints and prefers Apify proxies to improve reliability.
How many posts can I download per target?
Use maxPosts to set the limit per target. It supports 1 to 10,000 posts per page/profile in a single run.
How do date filters work?
Use oldestPostDateUnified to include posts newer than a given date and newestPostDate to include posts older than a date. Both accept absolute dates (YYYY-MM-DD) or relative phrases (e.g., 7 days, 2 months).
What engagement data is included?
For each post, you get an aggregate βlikesβ count (total reactions), comments count, shares count, and a breakdown by reaction type: Like, Love, Haha, Care, Sad, Wow, Angry.
Do you collect comments text or only counts?
Only counts. This Facebook comments scraper focuses on counts and reaction metrics; it does not capture full comment threads or bodies.
How do I export results?
Open the runβs dataset to download as JSON, CSV, or Excel. You can also access the dataset via the Apify API for programmatic pipelines and βexport Facebook posts to CSVβ automations.
Which proxies are used?
The scraper prefers Apify Residential proxy, falls back to Apify Datacenter, and supports custom proxy URLs. Configure proxyConfiguration or leave it empty to use defaults.
Is this an alternative to the Facebook posts API?
Yes. Itβs a practical Facebook posts API alternative for public page/profile data, delivering structured outputs suitable for analytics and automation.
Closing CTA / Final thoughts
Facebook Posts Scraper is built for fast, reliable Facebook posts extraction at scale. It helps marketers, developers, data analysts, and researchers export structured post data β with reaction breakdowns, media metadata, and canonical URLs β without brittle browser automation. Set your targets, choose maxPosts and dates, run the scraper, and export clean JSON/CSV/Excel or pull via API. Developers can integrate it into Python pipelines or automation platforms for scheduled refreshes. Start extracting smarter Facebook insights today.
