Facebook Posts Reactions Scraper avatar

Facebook Posts Reactions Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Facebook Posts Reactions Scraper

Facebook Posts Reactions Scraper

Facebook Posts Reactions Scraper measure engagement on public Facebook pages. Get Like, Love, Haha, Wow, Care, Sad and Angry counts per post, plus comments, shares, post text and photos. Export to JSON, CSV or Excel, or schedule runs.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Alpha Scraper

Alpha Scraper

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

4

Monthly active users

24 days ago

Last modified

Share

📊 Facebook Posts Reactions Scraper – Overview

The Facebook Posts Reactions Scraper collects reaction and engagement data from posts on public Facebook pages and profiles. Give it usernames or profile URLs, and it returns a structured dataset with each post's text, link, photo URLs and a full reaction breakdown: Like, Love, Haha, Wow, Care, Sad and Angry.

It is built for social media managers, marketers, analysts, agencies and researchers who need Facebook engagement metrics without opening every post by hand. The Facebook Posts Reactions Scraper turns a timeline into clean JSON rows you can sort, chart and compare.

Every row also includes the comment count, share count, total reaction count and page details such as the page name, page ID and profile picture. Run the Facebook Posts Reactions Scraper from Apify Console, call it through the Apify API, or schedule it to track pages over time.

💡 Tip: The quickest start: enter one username (for example Cristiano), set Max Items Per URL to 10 and click Start.

✨ Facebook Posts Reactions Scraper – Key Features

FeatureWhat it means for you
👍 Reaction breakdownSeparate counts for Like, Love, Haha, Wow, Care, Sad and Angry on every post
📈 Engagement metricsTotal reactions, comments and shares, plus the formatted numbers Facebook displays (e.g. "1.8M")
📝 Post contentPost text and a direct link to each post
🖼 Photo URLsLinks to the images attached to each post
👥 Multiple targetsMix usernames and full URLs from many pages or profiles in one run
🔢 Per-profile limitmaxItemsPerUrl caps how many posts are collected from each target
🔓 No login fieldsThe input asks for no account details; only publicly visible posts are collected

The Facebook Posts Reactions Scraper keeps loading older posts until it reaches your limit or runs out of available posts, so you decide how much history each run covers.

🔍 What Data Can the Facebook Posts Reactions Scraper Extract?

Each dataset item represents one Facebook post. The Facebook Posts Reactions Scraper groups its data into four areas:

  • Page details – page or profile name, page ID, page URL and profile picture URL
  • Post details – post text, post URL and the photo URLs attached to the post
  • Reaction counts – a count for each of the seven reaction types, plus a reactions list with name, count and formatted count
  • Engagement totals – comment count, share count, total reaction count and the top reaction

📌 Note: The Facebook Posts Reactions Scraper returns reaction counts, not the names or profiles of people who reacted. It does not return comment text, publish dates or video files.

🚀 How to Use the Facebook Posts Reactions Scraper

Running the Facebook Posts Reactions Scraper takes only a few minutes:

  • Step 1: Open the Facebook Posts Reactions Scraper in Apify Console and go to the Input tab.
  • Step 2: Add Facebook usernames to Usernames (or full URLs), for example Cristiano.
  • Step 3: Optionally add full links to Profile / Page URLs, for example https://www.facebook.com/Selena/.
  • Step 4: Set Max Items Per URL to the number of posts you want from each target.
  • Step 5: Click Start, then open the dataset and export it as JSON, CSV, Excel, XML or HTML.

⚡ Good to know: Results are written to the dataset once the Facebook Posts Reactions Scraper has finished collecting posts from all profiles in the run, so an empty dataset mid-run is normal.

Developers can start the Facebook Posts Reactions Scraper through the Apify API with the same JSON input shown below and read the dataset items when the run succeeds.

💡 Why Use the Facebook Posts Reactions Scraper?

Teams choose the Facebook Posts Reactions Scraper when they need repeatable engagement data:

BenefitDetails
⏱ Saves manual workNo need to open posts one by one and copy reaction numbers
😊 Audience sentimentLove, Haha, Sad and Angry counts show how people feel, not just how many reacted
🏁 Competitor benchmarkingCompare engagement across several brand or creator pages in one run
🔁 AutomationApify scheduling, webhooks and integrations keep the data fresh

🧭 How to Scrape Reactions from Multiple Facebook Pages at Once

The Facebook Posts Reactions Scraper merges both input lists into one: entries from usernames come first, followed by entries from urls. Blank entries are ignored.

  • An entry starting with http is treated as a full profile or page URL.
  • Any other entry is treated as a username.
  • Exact duplicate entries are removed automatically.
  • The post limit applies to each target, so 3 pages with a limit of 20 can return up to 60 rows.
  • Rows are saved target by target, in the order of your input.

⚠️ Watch out: Duplicate removal compares text exactly. Cristiano and https://www.facebook.com/Cristiano are different entries, so the Facebook Posts Reactions Scraper would process that page twice. Use one format per page.

❓ Can You Track Like, Love, Haha, Wow, Care, Sad and Angry Counts Separately?

Yes, that is the core job of the Facebook Posts Reactions Scraper. Every row has seven dedicated fields (like_count, love_count, haha_count, wow_count, care_count, sad_count and angry_count), so you can calculate sentiment ratios directly in a spreadsheet.

If a reaction type has not been used on a post, its field is null. The reactions array lists only the reaction types Facebook reports for that post.

🎯 Facebook Posts Reactions Scraper Use Cases

Use caseHow the Facebook Posts Reactions Scraper helps
📈 Social media analyticsTrack reaction and comment trends on your own page
🏢 Competitor analysisBenchmark engagement on competitor pages and spot their strongest content
😊 Sentiment researchCompare Love, Angry and Sad reactions to gauge emotional response
🌟 Influencer researchSee how audiences respond to public creators and public figures
🎓 Academic researchBuild datasets of public engagement for social media studies

📥 Input – Facebook Posts Reactions Scraper Settings

The Facebook Posts Reactions Scraper has three input fields. None is marked as required, but you need at least one username or URL: with no targets, the run ends without saving data.

FieldTypeDescriptionExample
usernamesArray of stringsFacebook usernames or full profile/page URLs; a mix of both is accepted["Cristiano"]
urlsArray of stringsFull Facebook profile or page URLs, kept separate from usernames["https://www.facebook.com/Selena/"]
maxItemsPerUrlIntegerMaximum posts to collect per page or profile; 10 when left empty20

🧾 Sample Input JSON

{
"usernames": ["Cristiano"],
"urls": ["https://www.facebook.com/Selena/"],
"maxItemsPerUrl": 20
}

This input tells the Facebook Posts Reactions Scraper to collect up to 20 posts from each of the two profiles, up to 40 rows in total.

📤 Output – Facebook Posts Reactions Scraper Dataset

The Facebook Posts Reactions Scraper saves each post as one dataset item. The sample below is shortened: image URLs are trimmed and only some reactions and top_reactions entries are shown.

🧾 Sample Output JSON

[
{
"url": "https://www.facebook.com/Cristiano",
"name": "Cristiano Ronaldo",
"post_url": "https://www.facebook.com/Cristiano/posts/pfbid0ExamplePostId",
"pageUrl": "https://www.facebook.com/Cristiano",
"profilePicture": "https://scontent.xx.fbcdn.net/v/.../profile.jpg",
"postText": "Uma vitória de milhões!",
"pageId": "100064512345678",
"media": {
"photo_urls": ["https://scontent.xx.fbcdn.net/v/.../photo_1.jpg"]
},
"like_count": 978930,
"love_count": 545793,
"haha_count": 257629,
"wow_count": 1477,
"care_count": 85722,
"sad_count": 1472,
"angry_count": 415,
"comment_count": 146546,
"share_count": 25994,
"i18n_share_count": "25K",
"reactions": [
{ "name": "Like", "count": 978930, "i18n": "978K" },
{ "name": "Love", "count": 545793, "i18n": "545K" }
],
"engagement": {
"reaction_count": 1871438,
"aggregated_reaction_count": null,
"i18n_reaction_count": "1.8M",
"ig_reaction_count": null,
"top_reactions": [
{ "node": { "id": "1635855486666999", "localized_name": "Like" }, "reaction_count": 978930, "i18n_reaction_count": "978K" }
],
"top_reaction": { "node": { "id": "1635855486666999", "localized_name": "Like" }, "reaction_count": 978930, "i18n_reaction_count": "978K" }
}
}
]

📋 Facebook Posts Reactions Scraper Output Fields

FieldTypeDescription
urlStringPage or profile URL as reported by Facebook
nameStringName of the page or profile
post_urlStringDirect link to the post
pageUrlStringPage or profile URL (same value as url)
profilePictureStringProfile picture URL
postTextString / nullPost text; null when a post has no text
pageIdStringFacebook ID of the page or profile
media.photo_urlsArrayImage URLs attached to the post (empty if none)
like_count, love_count, haha_count, wow_count, care_count, sad_count, angry_countInteger / nullCount per reaction type; null when that type is absent
comment_countInteger / nullNumber of comments
share_countInteger / nullNumber of shares
i18n_share_countString / nullShare count as displayed, e.g. "25K"
reactionsArrayObjects with name, count and i18n (formatted count)
engagement.reaction_countInteger / nullTotal reactions on the post
engagement.aggregated_reaction_countInteger / nullAggregated total when Facebook provides one; often null
engagement.i18n_reaction_countString / nullTotal reactions as displayed, e.g. "1.8M"
engagement.ig_reaction_countInteger / nullInstagram reaction count when reported; often null
engagement.top_reactionsArrayReaction entries as provided by Facebook, with node.localized_name, reaction_count and i18n_reaction_count
engagement.top_reactionObject / nullFirst entry of top_reactions, usually the most used reaction

📌 Note: The dataset contains post rows only. The Facebook Posts Reactions Scraper saves no separate error or status rows: a private, unavailable or empty profile simply adds no rows, and details appear in the run log.

💰 Pricing – How Much Does the Facebook Posts Reactions Scraper Cost?

The Facebook Posts Reactions Scraper uses pay-per-result pricing: you pay for the post rows saved to the dataset. The current price is shown on the Actor's Pricing tab in Apify Store.

Cost factorHow to control it
Posts per profileLower maxItemsPerUrl to collect only the posts you need
Duplicate targetsUse one format per page so it is not processed twice
Empty or failed targetsProfiles that return no posts add no rows

💰 Cost tip: Start with a small test (one profile, 5–10 posts), check the output, then scale up your Facebook Posts Reactions Scraper runs.

🧰 Tips for Better Facebook Posts Reactions Scraper Results

TipWhy it helps
Include https:// in full URLsEntries not starting with http are treated as usernames, so facebook.com/Cristiano would not resolve
Keep limits realisticVery active pages have thousands of posts; match the limit to your analysis window
Use the flat *_count fieldsThey are simpler to chart than the nested engagement object
Schedule regular runsTrack how reaction totals change over days or weeks

💡 Tip: Comparing pages? Use the same maxItemsPerUrl for every target so each page contributes the same number of recent posts to your Facebook Posts Reactions Scraper dataset.

🙋 Frequently Asked Questions

🔐 Do I need a Facebook account to use the Facebook Posts Reactions Scraper?

No. The Facebook Posts Reactions Scraper has no login fields and works with publicly visible posts only. Content limited to friends or logged-in users will not appear.

👥 Can the Facebook Posts Reactions Scraper show who reacted to a post?

No. It returns reaction counts per type, not lists of the users who reacted.

🔢 How many posts can I scrape from one Facebook page?

Enter any number in maxItemsPerUrl. The Facebook Posts Reactions Scraper keeps loading posts until it reaches that number or no more posts are available. Left empty, it collects up to 10 posts per target.

📅 Does the output include post dates or comment text?

It includes the comment count, but not comment text or publish dates. Open the post_url link when you need a post's date.

⏰ Can I schedule the Facebook Posts Reactions Scraper to run automatically?

Yes. Use Apify Schedules to run it daily or weekly, and connect webhooks or integrations to push fresh reaction data into your tools.

📜 Is it legal to scrape Facebook post reactions?

The Facebook Posts Reactions Scraper collects publicly visible engagement data. You are responsible for using it in line with Facebook's terms, data protection laws such as GDPR and your own compliance policies.

💬 Support

  • 🐞 Found a bug or a missing value? Open an issue in the Issues tab of the Facebook Posts Reactions Scraper.
  • 💡 Feature ideas for the Facebook Posts Reactions Scraper are welcome too.
  • 📧 Contact me by email: alphascraper69@gmail.com