Facebook Posts Scraper avatar

Facebook Posts Scraper

Pricing

$29.99/month + usage

Go to Apify Store
Facebook Posts Scraper

Facebook Posts Scraper

The Facebook Posts Scraper extracts public posts from Facebook pages and profiles with engagement metrics, timestamps, and media links. Built for scalable Facebook data scraping, it delivers structured JSON or CSV output for analytics, research, and social media monitoring workflows. 🚀

Pricing

$29.99/month + usage

Rating

0.0

(0)

Developer

ScrapAPI

ScrapAPI

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

6 days ago

Last modified

Share

Facebook Posts Scraper

The Facebook Posts Scraper is a production-ready Facebook post scraper that extracts public posts from Facebook pages and profiles with clean structure and rich engagement metrics. It solves the pain of manual copy-paste by automating Facebook posts data scraping and returning analysis-ready records for marketers, developers, data analysts, and researchers. Built as a scalable Facebook posts extractor and Facebook posts crawler, it helps you export posts to JSON or CSV for reporting, benchmarking, and monitoring at scale. 🚀

What data / output can you get?

Below are the exact fields this Facebook page posts scraper pushes to the Apify dataset. You can export results to JSON, CSV, or Excel.

Data typeDescriptionExample value
facebookUrlThe input page/profile URL that was processedhttps://www.facebook.com/Cristiano/
postIdUnique post identifier1565562734930261
pageNameThe page slug (last segment of the URL)Cristiano
urlDirect URL for the posthttps://www.facebook.com/Cristiano/posts/pfbid0GwyKMLZ...
timeISO-like timestamp string (UTC)2026-02-25T21:52:49.000Z
timestampUnix timestamp (seconds)1772056369
userObject with owning profile details (id, name, profileUrl, profilePic){"id":"100044296486382","name":"Cristiano Ronaldo","profileUrl":"https://www.facebook.com/100044296486382","profilePic":"https://..."}
collaboratorsArray of collaborators objects when available[]
textPost caption text (may be empty if not available)Keep it going! 🟡🔵
likesTotal reaction count376348
commentsTotal comments count10488
sharesShares count1918
topReactionsCountTotal of the top reactions7
reactionLikeCount“Like” reactions count275081
reactionLoveCount“Love” reactions count86604
reactionHahaCount“Haha” reactions count439
reactionCareCount“Care” reactions count13953
reactionSadCount“Sad” reactions count22
reactionWowCount“Wow” reactions count231
reactionAngryCount“Angry” reactions count18
mediaArray of media objects (thumbnails, dimensions, URLs, optional OCR caption)[{"thumbnail":null,"__typename":"Photo","photo_image":{"uri":null,"height":null,"width":null},"url":"https://www.facebook.com/Cristiano/posts/pfbid0GwyK...","id":"1565562684930266"}]
feedbackIdInternal feedback identifierZmVlZGJhY2s6MTU2NTU2MjczNDkzMDI2MQ==
topLevelUrlCanonical permalink using IDshttps://www.facebook.com/100044296486382/posts/1565562734930261
facebookIdOwning profile’s numeric Facebook ID100044296486382
pageAdLibraryObject with page ID useful for Ad Library mapping{"id":"100044296486382"}
inputUrlEcho of the input target URLhttps://www.facebook.com/Cristiano/

Notes:

  • Media entries include thumbnails, image height/width, and URLs when present.
  • Exports are available via the Apify dataset in JSON, CSV, or Excel formats for your analytics workflows.

Key features

  • 🔎 Battle‑tested discovery & pagination
    Finds page IDs and GraphQL doc IDs from live Facebook, then paginates timeline feeds with cursor-based requests — no browser required.

  • 📊 Rich engagement metrics & reactions breakdown
    Collect likes, comments count, shares, plus a full reactions split (Like, Love, Haha, Care, Sad, Wow, Angry) for deeper analytics.

  • 🧹 Clean permalinks & metadata
    Get normalized post URLs, top-level permalinks, and owning profile data (IDs, names, profile pictures) for reliable joins and tracking.

  • ⏱️ Precise date filtering
    Limit results by “Posts Newer Than” and “Posts Older Than” to capture a precise time window without over-scraping.

  • 🌐 Proxy-first reliability
    Automatically prefers Apify Residential proxy for higher success rates and falls back as needed. Built-in retries and backoff on rate limits.

  • 📦 Structured exports for BI & automation
    Export Facebook posts to CSV, JSON, or Excel. Ideal for dashboards, ETL, and pipelines built on the Apify platform.

  • 🧰 Developer-friendly & scalable
    Runs on Apify infrastructure with dataset outputs ready for API consumption and integration into internal tools or make.com/n8n workflows.

How to use Facebook Posts Scraper - step by step

  1. Create or log in to your Apify account.
  2. Open the Facebook Posts Scraper in the Apify Store.
  3. Add targets in startUrls: paste full Facebook page/profile URLs (e.g., https://www.facebook.com/nytimes/) or usernames (e.g., nytimes).
  4. (Optional) Set date filters using “Posts Newer Than (Start Date)” and/or “Posts Older Than (End Date)” to focus your range.
  5. Adjust “Maximum Posts per Page” (maxPosts) to control depth per target (default is 10).
  6. (Optional) Configure Proxy Settings or leave defaults to let the actor prefer Apify Residential proxy automatically.
  7. Click Run and monitor progress in the logs.
  8. When finished, open the run’s Dataset and export results to JSON, CSV, or Excel.

Pro tip: Chain this Facebook posts scraping tool with the Apify API or automation platforms to feed dashboards, alerts, or enrichment workflows.

Use cases

Use case nameDescription
Market research & trend analysisAggregate public Facebook page posts to analyze content themes, reaction splits, and engagement over time for category insights.
Competitor content benchmarkingTrack competitor pages to compare top reactions, comment counts, and share velocity for content strategy decisions.
Social media monitoring & reportingBuild automated reports by exporting Facebook posts to CSV/JSON and updating BI dashboards on a set cadence.
Academic & policy researchCollect structured timelines for studies on public communication patterns, topics, and audience response.
Data enrichment for analyticsEnrich internal datasets with post URLs, timestamps, and reaction metrics to power modeling and forecasting.
Automated ETL & API pipelinesUse Apify datasets and APIs to stream Facebook public posts data into warehouses and downstream systems.

Why choose Facebook Posts Scraper?

This Facebook posts scraping tool prioritizes precision, reliability, and scale — everything you need for analytics-grade social data.

  • 🎯 Accurate, structured fields for seamless joins and analysis
  • 🌍 Works on public pages and profiles without a browser session
  • 📈 Built for scale on Apify infrastructure with resilient pagination
  • 🧑‍💻 Developer-ready outputs for API consumption and pipelines
  • 🛡️ Anti-blocking with proxy preference, retries, and backoff baked-in
  • 💸 Export-friendly for BI teams (JSON, CSV, Excel) without extra tooling
  • 🔄 Better than brittle browser extensions — fewer moving parts, more stability

In short: a production-grade Facebook post metadata scraper that’s robust, automation-friendly, and designed for repeatable workflows.

Yes — when used responsibly. This Facebook public posts scraper is designed to collect publicly available data from Facebook pages and profiles. You should:

  • Scrape only public content you’re allowed to access.
  • Comply with applicable laws and regulations (e.g., GDPR, CCPA).
  • Review and respect Facebook’s terms of service.
  • Avoid collecting or using data in ways that violate privacy or platform rules.
    For edge cases, consult your legal team to ensure compliant use.

Input parameters & output format

Example JSON input

{
"startUrls": [
"https://www.facebook.com/nytimes",
"Cristiano"
],
"maxPosts": 25,
"includeVideoTranscript": false,
"oldestPostDateUnified": "2024-01-01",
"newestPostDate": "0",
"proxyConfiguration": {
"useApifyProxy": false
}
}
FieldTypeRequiredDefaultDescription
startUrlsarrayYesRequired. Enter one or more Facebook page targets. Accepts full URLs (e.g., https://www.facebook.com/nytimes/) or usernames (e.g., nytimes). Targets are processed sequentially.
maxPostsintegerNo10Limit how many posts to collect per target page. Minimum 1, maximum 10,000. The actor stops once this count is reached for each page.
includeVideoTranscriptbooleanNofalseCapture video captions & transcripts toggle. When ON per schema description, transcripts are considered; when OFF, video posts include metadata only.
oldestPostDateUnifiedstringNoPosts Newer Than (Start Date). Accepts absolute (YYYY-MM-DD) or relative values (e.g., 7 days, 2 months, 1 year).
newestPostDatestringNoPosts Older Than (End Date). Accepts absolute dates or relative values (e.g., 0 for today).
proxyConfigurationobjectNoProxy Settings. Prefers Apify Residential proxy when available; falls back to other options. You can provide custom proxy URLs as a fallback.

Example JSON output

{
"facebookUrl": "https://www.facebook.com/Cristiano/",
"postId": "1565562734930261",
"pageName": "Cristiano",
"url": "https://www.facebook.com/Cristiano/posts/pfbid0GwyKMLZF7Xaeww3dGoWzFdymFizBw8iCH4Rnhsw9gX6NEJp9L7mzTJyxo9Ah8VZdl",
"time": "2026-02-25T21:52:49.000Z",
"timestamp": 1772056369,
"user": {
"id": "100044296486382",
"name": "Cristiano Ronaldo",
"profileUrl": "https://www.facebook.com/100044296486382",
"profilePic": "https://scontent.fyvr2-1.fna.fbcdn.net/v/t39.30808-1/448474001_1102716254548247_2613997786866384047_n.jpg"
},
"collaborators": [],
"text": "Keep it going! 🟡🔵",
"likes": 376348,
"comments": 10488,
"shares": 1918,
"topReactionsCount": 7,
"media": [
{
"thumbnail": null,
"__typename": "Photo",
"__isMedia": "Photo",
"accent_color": "FFFFFFFF",
"photo_product_tags": [],
"photo_image": {
"uri": null,
"height": null,
"width": null
},
"url": "https://www.facebook.com/Cristiano/posts/pfbid0GwyKMLZF7Xaeww3dGoWzFdymFizBw8iCH4Rnhsw9gX6NEJp9L7mzTJyxo9Ah8VZdl",
"id": "1565562684930266"
}
],
"feedbackId": "ZmVlZGJhY2s6MTU2NTU2MjczNDkzMDI2MQ==",
"reactionLikeCount": 275081,
"reactionLoveCount": 86604,
"reactionHahaCount": 439,
"reactionCareCount": 13953,
"reactionSadCount": 22,
"reactionWowCount": 231,
"reactionAngryCount": 18,
"topLevelUrl": "https://www.facebook.com/100044296486382/posts/1565562734930261",
"facebookId": "100044296486382",
"pageAdLibrary": {
"id": "100044296486382"
},
"inputUrl": "https://www.facebook.com/Cristiano/"
}

Notes:

  • The scraper returns counts for comments and reactions; it does not extract individual comment text.
  • Field availability can vary per post depending on Facebook’s public data.

FAQ

Do I need to log in to scrape Facebook posts?

No. The Facebook Posts Scraper targets publicly available pages and profiles and operates without a browser session. It discovers the required IDs from the live site and uses GraphQL requests with cursor-based pagination.

Can it scrape Facebook group posts?

It normalizes targets that include “/groups/” or group-style identifiers and will attempt to fetch public timelines accordingly. Results depend on what Facebook exposes publicly for that group.

What types of data does it return?

It returns post metadata and engagement metrics including postId, url, time/timestamp, text, likes, comments count, shares, topReactionsCount, full reactions breakdown, media details, and clean permalinks. See the Output section for the full JSON fields.

How do I limit posts by date?

Use the “Posts Newer Than (Start Date)” and/or “Posts Older Than (End Date)” inputs. Both support absolute dates (YYYY-MM-DD) and relative values like “7 days” or “2 months” to filter the timeline.

How many posts can I scrape per page?

Set maxPosts to control depth per target. The allowed range is 1 to 10,000, with a default of 10.

Does it download comments or just counts?

It outputs comments counts only, not individual comment text or threads. You’ll still get overall engagement metrics for analysis.

What export formats are supported?

You can export the dataset to JSON, CSV, or Excel directly from Apify, making it easy to feed BI tools and pipelines.

What about proxies and reliability?

The actor prefers Apify Residential proxies automatically for better success rates and includes retries and backoff for transient errors or rate limits. You can also provide custom proxy URLs if needed.

Closing CTA / Final thoughts

Facebook Posts Scraper is built to extract structured, analytics-ready public Facebook posts at scale. It delivers clean URLs, timestamps, reaction breakdowns, and media metadata — all exportable to CSV, JSON, or Excel for marketers, developers, analysts, and researchers. Use it to scrape Facebook page posts reliably, power dashboards, or automate pipelines with the Apify API. Start extracting smarter with a scalable Facebook posts scraping tool that’s production‑ready and workflow‑friendly.