Facebook Posts Scraper avatar

Facebook Posts Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Facebook Posts Scraper

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

ScraperForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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 fieldDescriptionExample value
facebookUrlThe page target URL used for scrapinghttps://www.facebook.com/nytimes/
postIdUnique post identifier1234567890123456
pageNamePage or handle derived from the URLnytimes
urlDirect URL to the post (permalink or top-level URL)https://www.facebook.com/100044185428261/posts/1397878851694949
timeISO timestamp of the post2024-03-01T14:22:10.000Z
timestampUnix timestamp (seconds)1709302930
userObject with page/user info (id, name, profileUrl, profilePic){"id":"100044185428261","name":"Example Page","profileUrl":"https://www.facebook.com/100044185428261","profilePic":"https://.../profile.jpg"}
collaboratorsArray of collaborator objects when present[]
textPost caption text (may be empty if transcripts are disabled)“New story out now…”
likesTotal reactions count from feedback1203
commentsTotal comments count87
sharesTotal shares count54
topReactionsCountSum of top reactions1190
reactionLikeCountCount of “Like” reactions980
reactionLoveCountCount of “Love” reactions150
reactionHahaCountCount of “Haha” reactions10
reactionCareCountCount of “Care” reactions5
reactionSadCountCount of “Sad” reactions3
reactionWowCountCount of “Wow” reactions25
reactionAngryCountCount of “Angry” reactions17
mediaArray of media objects with thumbnails, dimensions, URLs, optional OCR captions[{"thumbnail":"https://.../image.jpg","photo_image":{"uri":"https://...","height":1080,"width":1080},"url":"https://..."}]
feedbackIdFacebook feedback identifierZmVlZGJhY2s6MTM5Nzg3ODg1MTY5NDk0OQ==
topLevelUrlCanonical post permalink constructed from IDshttps://www.facebook.com/100044185428261/posts/1397878851694949
facebookIdPage/user ID100044185428261
pageAdLibraryAd Library reference object with page ID{"id":"100044185428261"}
inputUrlOriginal input URL or normalized targethttps://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

  1. Sign in to Apify and open the Facebook Posts Scraper actor.
  2. Add your targets in “Facebook Page URLs or Usernames”. You can mix:
  3. Set “Maximum Posts per Page” to control depth (default 10; range 1–10,000).
  4. (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).
  5. (Optional) Toggle “Include Video Transcripts” if you want to capture video/reel transcripts when available.
  6. (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.
  7. Click Start. The actor will normalize targets, resolve IDs, paginate the timeline feed, and stream items into the dataset.
  8. 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 caseDescription
Marketing analytics – competitor postsMonitor competitors’ page feeds, track engagement, and benchmark content performance using a Facebook page data extractor.
Social listening – public pages & groupsScrape Facebook public posts for brand mentions, topics, and reactions with a Facebook posts scraping tool feeding your dashboards.
Content research – creative insightsIdentify post formats that drive reactions, comments, and shares to guide your content calendar.
Academic & policy researchCollect longitudinal datasets of public posts for sentiment, topic modeling, and community analysis.
eCommerce & trend trackingDiscover product trends and viral topics from page timelines to inform merchandising and ads.
Data enrichment via APIAutomate 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

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.