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 public posts, reactions, comments, timestamps, media & links from pages/groups at scale. ⚙️ Export JSON/CSV, API-ready. 🔎 Perfect for social listening, competitor analysis & content research—privacy-safe and TOS-compliant. 🚀

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

Scrapium

Scrapium

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Share

Facebook Posts Scraper

Facebook Posts Scraper is a production-ready tool that lets you scrape Facebook posts at scale from public pages (and compatible public profiles), capturing post text, timestamps, engagement metrics, media, and clean permalinks—no official API or login required. It solves the pain of manual copy-paste and unreliable tools by automating discovery, pagination, and extraction from the Facebook feed. Built for marketers, developers, data analysts, and researchers, this Facebook post extractor powers social listening, competitive analysis, and content research with export-ready datasets.

What data / output can you get?

Below are real output fields the actor saves to the dataset, with examples to illustrate structure and formatting.

Data fieldDescriptionExample value
facebookUrlInput-normalized Facebook target URLhttps://www.facebook.com/nytimes/
postIdUnique post identifier1234567890123456
pageNamePage or profile slug derived from URLnytimes
urlDirect URL to the post (falls back to canonical)https://www.facebook.com/100044185428261/posts/1397878851694949
timePost time in ISO-like format (UTC)2025-01-15T08:30:12.000Z
timestampUnix timestamp (seconds)1736923812
userObject with user/page metadata{"id":"100044185428261","name":"Page Name","profileUrl":"https://www.facebook.com/100044185428261","profilePic":"https://.../photo.jpg"}
textPost caption/message (may be blank if disabled)"New product launch today..."
likesTotal reaction count1524
commentsTotal comments count87
sharesTotal shares count43
topReactionsCountCount of top reactions aggregate1524
reactionLikeCountLike reaction count1200
reactionLoveCountLove reaction count210
reactionHahaCountHaha reaction count50
reactionCareCountCare reaction count22
reactionSadCountSad reaction count10
reactionWowCountWow reaction count30
reactionAngryCountAngry reaction count2
mediaArray of media attachments with thumbnails, dimensions, and optional OCR text[{"thumbnail":"https://.../image.jpg","photo_image":{"uri":"https://.../image.jpg","height":1080,"width":1080},"url":"https://www.facebook.com/...","id":"9876543210","ocrText":"..." }]
collaboratorsArray of collaborator objects when present[]
feedbackIdFeedback object ID for the post"ZmVlZGJhY2s6MTM5N..."
topLevelUrlCanonical permalink composed from IDshttps://www.facebook.com/100044185428261/posts/1397878851694949
facebookIdOwning profile/page ID100044185428261
pageAdLibraryObject with page/ad library ID{"id":"100044185428261"}
inputUrlOriginal input URLhttps://www.facebook.com/nytimes/

Notes:

  • Media items may include an accessibility caption exposed as ocrText when available.
  • You can export Facebook posts to CSV, JSON, or Excel directly from the Apify dataset.

Key features

  • 🚀 GraphQL-powered feed scraping Efficiently scrape Facebook feed data with cursor-based pagination to handle long timelines and scale campaigns.

  • 📊 Engagement metrics & reactions breakdown Collect likes, comments, shares, and per-reaction counts (Like, Love, Haha, Care, Sad, Wow, Angry) for precise benchmarking.

  • 🧾 Clean, structured output Get canonical permalinks, user/page metadata, timestamps, and media objects in a normalized schema ready for BI tools.

  • 🛡️ Smart proxy preferences Prefers Apify Residential proxy for maximum reliability, falls back to Datacenter, and supports custom proxy URLs via proxyConfiguration.

  • ⏱️ Flexible date filtering Limit by “Posts Newer Than” and “Posts Older Than” using absolute dates or relative time (e.g., 7 days, 2 months).

  • 🖼️ Media with metadata Extract thumbnails, dimensions, and attachment URLs, plus optional accessibility captions when available.

  • 🔌 Developer friendly Works seamlessly with the Apify API and can be integrated into Facebook posts scraper Python workflows and data pipelines.

  • 🔄 Reliable retries & backoff Built-in handling for empty or rate-limited responses with exponential backoff to keep your jobs stable.

How to use Facebook Posts Scraper - step by step

  1. Create or log in to your Apify account.
  2. Open the Facebook Posts Scraper actor on Apify.
  3. Add your targets to startUrls:
  4. Set maxPosts to control how many posts to collect per target (1–10,000).
  5. (Optional) Configure date filters:
    • oldestPostDateUnified for “Posts Newer Than”
    • newestPostDate for “Posts Older Than” Both accept absolute dates (YYYY-MM-DD) or relative values (e.g., 7 days, 2 months).
  6. (Optional) Toggle includeVideoTranscript if you want post text preserved in output; when off, the text field is left blank for faster runs.
  7. (Optional) Configure proxyConfiguration or leave it to let the actor prefer Residential and fall back as needed.
  8. Click Start. The run will normalize inputs, paginate through the Facebook feed, and push each accepted post to the dataset in real time.
  9. Download results from the dataset as JSON, CSV, or Excel—or consume via the Apify API for automation.

Pro Tip: Chain runs via the API and connect outputs to your warehouse or dashboarding tools to automate a Facebook public posts scraper pipeline.

Use cases

Use caseDescription
Marketing team – competitor post trackingMonitor competitor pages, track engagement by reaction type, and identify content formats that drive shares and comments.
Social listening for researchAnalyze public page posts to quantify trends and response patterns without manual browsing.
Content ops – editorial insightsExport Facebook posts to CSV and review top-performing topics by week or month to guide content calendars.
Data analysts – KPI dashboardsFeed structured post metrics into BI tools to benchmark campaigns and compute engagement rates.
Academic studies – public discourseCollect public page timelines over a time window for reproducible, privacy-safe research datasets.
Developer pipelines – ETL to warehouseUse the Apify API to run an automated Facebook posts scraper Python job and land data in your warehouse daily.

Why choose Facebook Posts Scraper?

  • 🎯 Precision-first extraction: Structured JSON with clean permalinks, IDs, timestamps, and reaction breakdowns.
  • 🌍 Public data only: Works as a Facebook public posts scraper—no login or cookies required.
  • 📈 Built for scale: Scrape up to thousands of posts per target with robust pagination and backoff.
  • 💻 Developer access: Integrate via API and use in Facebook posts scraper Python pipelines or workflows.
  • 🔒 Safer operations: Prefers Residential proxy, falls back to Datacenter, and supports your own proxies.
  • 💸 Export-ready: Download as JSON/CSV/Excel or stream via API into your analytics stack.
  • 🧩 Better than extensions: No flaky browser hacks—server-side stability with production-grade reliability.

In short, this Facebook posts scraper tool delivers consistent, analyzable outputs without the fragility of browser plugins.

Yes—when used responsibly. This actor accesses publicly available content and does not access private or authenticated data. You should:

  • Scrape only public pages and content you’re permitted to process.
  • Comply with data protection laws (e.g., GDPR, CCPA) and your organization’s policies.
  • Respect platform terms and use results for lawful purposes only.
  • Consult your legal team for edge cases or jurisdiction-specific guidance.

Input parameters & output format

Example input

{
"startUrls": [
"https://www.facebook.com/nytimes/",
"Cristiano"
],
"maxPosts": 25,
"includeVideoTranscript": false,
"oldestPostDateUnified": "7 days",
"newestPostDate": "",
"proxyConfiguration": {
"useApifyProxy": false
}
}

Input fields

FieldTypeRequiredDefaultDescription
startUrlsarrayYesRequired. One or more Facebook page targets. Accepts full URLs (e.g., https://www.facebook.com/nytimes/) or usernames (e.g., nytimes). Mixed formats allowed; 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 content text. When ON, the output keeps the post text; when OFF, posts still appear with metadata but the text field is blank for faster scraping.
oldestPostDateUnifiedstringNoPosts Newer Than (Start Date). Accepts absolute date (YYYY-MM-DD) or relative values like “7 days”, “2 months”, “1 year”.
newestPostDatestringNoPosts Older Than (End Date). Accepts absolute date (e.g., 2024-12-31) or relative values (e.g., 0 for today). Combine with start date for a window.
proxyConfigurationobjectNo{"useApifyProxy": false}Proxy settings. Prefers Apify Residential proxy for success rates, falls back to Apify Datacenter, and supports custom proxy URLs. No configuration required for basic runs.

Example output

{
"facebookUrl": "https://www.facebook.com/nytimes/",
"postId": "1397878851694949",
"pageName": "nytimes",
"url": "https://www.facebook.com/100044185428261/posts/1397878851694949",
"time": "2025-11-15T10:41:16.000Z",
"timestamp": 1763203276,
"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": "It is humbling and deeply touching to have a landmark carry our name...",
"likes": 40224,
"comments": 2279,
"shares": 1484,
"topReactionsCount": 40224,
"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": 1080,
"width": 1080
},
"url": "https://www.facebook.com/...",
"id": "9876543210",
"feedback": {
"can_viewer_comment": false,
"id": "ZmVlZGJhY2s6MTM5Nzg3ODg1MTY5NDk0OQ=="
},
"ocrText": "A descriptive caption here..."
}
],
"feedbackId": "ZmVlZGJhY2s6MTM5Nzg3ODg1MTY5NDk0OQ==",
"reactionLikeCount": 35000,
"reactionLoveCount": 4200,
"reactionHahaCount": 450,
"reactionCareCount": 200,
"reactionSadCount": 150,
"reactionWowCount": 200,
"reactionAngryCount": 24,
"topLevelUrl": "https://www.facebook.com/100044185428261/posts/1397878851694949",
"facebookId": "100044185428261",
"pageAdLibrary": {
"id": "100044185428261"
},
"inputUrl": "https://www.facebook.com/nytimes/"
}

Notes:

  • comments is a count only; this is not a Facebook comments scraper. Use this as a Facebook feed scraper for post-level metrics and content.

FAQ

Do I need to log in or use the official API?

No. This is a Facebook posts scraper without API and without login. It targets public content and fetches the feed directly from the web.

Can it scrape Facebook page posts and public profiles?

Yes. It normalizes usernames and URLs for pages and compatible public profiles, then fetches timeline posts with cursor-based pagination.

Does it extract comments or just counts?

It extracts the total comments count for each post. It does not fetch full comment threads; use the counts to analyze engagement levels.

How many posts can I scrape per page?

You can set maxPosts from 1 up to 10,000 per target. The actor stops collecting once the per-target limit is reached.

Can I export the data to CSV?

Yes. Results are stored in an Apify dataset. You can export to JSON, CSV, or Excel, or access records via the Apify API.

Does it support date range filtering?

Yes. Use oldestPostDateUnified and newestPostDate with absolute dates (YYYY-MM-DD) or relative values like “7 days” or “2 months” to constrain results.

How does it handle blocks or rate limits?

It includes retry logic with exponential backoff and prefers Apify Residential proxy, falling back to Datacenter. You can also provide custom proxy URLs.

Can I use it from Python or integrate via API?

Yes. Trigger runs and fetch datasets using the Apify API, making it easy to plug into Facebook posts scraper Python workflows and automated pipelines.

Closing CTA / Final thoughts

Facebook Posts Scraper is built to extract structured Facebook post data at scale. It captures clean permalinks, timestamps, engagement metrics, media, and user/page metadata—ready for analysis and automation. Whether you’re a marketer, researcher, or developer, you can scrape Facebook posts, download Facebook posts data, and wire the outputs to dashboards or warehouses. Use the Apify API for end-to-end automation, or export Facebook posts to CSV in a click. Start extracting smarter social insights today.