Facebook Post Details Scraper - Reactions, Views & Shares avatar

Facebook Post Details Scraper - Reactions, Views & Shares

Pricing

from $2.10 / 1,000 posts

Go to Apify Store
Facebook Post Details Scraper - Reactions, Views & Shares

Facebook Post Details Scraper - Reactions, Views & Shares

Scrape public Facebook post details by URL: text, author, date, reactions by type, comment and share counts, exact video views and plays, photos, video files, captions and links. Posts, photos, videos, reels, group posts and share links. Track engagement changes between runs. No login or cookies.

Pricing

from $2.10 / 1,000 posts

Rating

0.0

(0)

Developer

Top Api

Top Api

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

What does Facebook Post Details Scraper do?

Facebook Post Details Scraper turns a list of public Facebook post URLs into one structured row per post: the full text, the Page or person who posted it, the date, reactions by type, comment and share counts, exact video views and plays, photos, video files, captions, links, hashtags and tags. It reads Page posts, group posts, photos, albums, videos, reels and share links. Built for social media managers, agencies, brand and research teams who track Facebook post engagement without a login, cookies or an API key.

Facebook Post Scraper - Facebook Post Details - Facebook Reel Views Scraper - FB Post Engagement Export

Public Facebook post with its reactions, comments and shares that Facebook Post Details Scraper turns into one row

  • Every post type, one row each: /posts/, /groups/.../posts/, /photo/?fbid=, /videos/, watch?v=, /reel/, /share/p/, /share/r/, permalink.php and m.facebook.com links.
  • Engagement in full: reactions total and by type (like, love, care, haha, wow, sad, angry), comments, shares, and for videos and reels the exact video_view_count and play_count Facebook keeps behind the rounded "1.2M views".
  • Media: photo URLs with size and alt text, every photo of an album, playable HD and SD video files, thumbnails, duration, the reel's soundtrack and its caption files.
  • Track engagement between runs: with tracking on, every row carries the previous counts, the deltas and changed_fields; "Only posts that changed" returns just the movers.
  • Optional add-ons: the top 10 comments of each post, the author's follower count and category, and the video transcript from Facebook's own captions.
  • No login, cookies or Facebook API key: the actor reads what Facebook shows a signed-out visitor.
  • Export anywhere: JSON, CSV, Excel, XML, RSS; schedules, webhooks, Make, Zapier, n8n, Google Sheets, Slack, the Apify API and MCP.

What data can you get from a Facebook post?

๐Ÿ†” Post id and URL (`post_id`, `url`)๐Ÿท๏ธ Post type (`type`: status, photo, album, video, reel, link, share)๐Ÿ“ Full text (`message`)
๐Ÿ“… Date (`published_at`, `timestamp`)๐Ÿ‘ค Author name, id, URL, avatar (`author`)โœ”๏ธ Verified badge, Page or person (`author.is_verified`, `author.type`)
โค๏ธ Reactions total and by type (`reactions_count`, `reactions`)๐Ÿ’ฌ Comments (`comments_count`)๐Ÿ” Shares (`reshare_count`)
โ–ถ๏ธ Exact video views and plays (`video_view_count`, `play_count`)๐ŸŽฌ HD / SD video files, thumbnail, duration (`video_files`)๐ŸŽต Reel soundtrack (`music`)
๐Ÿ–ผ๏ธ Photos with size and alt text (`image`, `images`)๐Ÿ”— Shared link and its card (`external_url`, `external_link`)โ†ช๏ธ Shared post (`attached_post`)
#๏ธโƒฃ Hashtags, @mentions, tagged Pages (`hashtags`, `text_references`)๐Ÿ‘ฅ Group and place (`group`, `location`)๐Ÿ“ˆ Changes since the last run (`deltas`, `changed_fields`)

On a 24-post test run (Page posts, group posts, photos, albums, reels and videos) the author, date, reactions, comments and shares were filled on 100% of rows, the text on 96% (a NASA video has none), and views, plays and video files on 8 of 8 videos and reels.

How to scrape Facebook posts with Facebook Post Details Scraper

  1. Create a free Apify account. It comes with $5 of monthly credit and needs no card.
  2. Open Facebook Post Details Scraper and click Try for free.
  3. Paste your post, reel, video or photo URLs into Post URLs (or link a text file of URLs).
  4. Turn on any add-ons you want: Add top comments, Add author details, Add video transcript.
  5. Click Start. One row per post lands in the dataset.
  6. Open the Storage tab and Export as JSON, CSV or Excel, or schedule the run to track the same posts every day.

โฌ‡๏ธ Input

ParameterTypeDescription
๐Ÿ” What to scrape
startUrlsListRequired. Public Facebook post URLs of any kind: Page and group posts, /photo/?fbid=, /videos/, watch?v=, /reel/, /share/p/ and /share/r/ links, permalink.php, a bare post id or pfbid. A remote text file of URLs works too.
โœ‚๏ธ Refine results
onlyPostsNewerThanDateKeep posts published on or after a date: 2026-09-01 or relative, 7 days.
onlyPostsOlderThanDateKeep posts published on or before a date. Combine both for a window.
postTypeSelectall, status, photo (photos and albums), video (videos and reels), reel, link, share. Default: all
minReactionsIntegerKeep posts with at least this many reactions. Default: 0
minViewsIntegerKeep videos and reels with at least this many views. Default: 0
โž• Extra data
includeTopCommentsBooleanAdd up to 10 comments per post in top_comments. Charged as the top-comments add-on per post that gets at least one. Default: false
maxTopCommentsIntegerComments per post, 1-10. Default: 10
topCommentsSortSelectmost_relevant (Facebook's default) or newest. Default: most_relevant
includeAuthorDetailsBooleanAdd the author's followers, following, talking about, verified badge, category and intro in author_details. Charged as the author-details add-on per post that gets it. Default: false
includeTranscriptBooleanAdd the caption text of videos and reels that have captions in video_transcript. Free. Default: false
๐Ÿ” Monitoring
monitorModeBooleanRemember each post's counts and add previous, deltas and changed_fields to every row. Default: false
onlyChangedBooleanWith tracking on, return only posts seen for the first time or whose counts moved. Default: false
monitorStoreNameTextThe named store that keeps the counts, one per tracked list. Default: facebook-post-details-monitor
๐Ÿ“ฆ Output
maxItemsIntegerStop after this many posts. 0 = every URL. Default: 0
compactBoolean19 core fields per row, for AI agents, MCP and spreadsheets. Default: false
โš™๏ธ Advanced
proxyConfigurationProxyDefault: Apify's own IP first, Apify Proxy when Facebook refuses or stalls, RESIDENTIAL for photo URLs. Pick a group to always use it.
maxConcurrencyIntegerPosts read at the same time, 1-10. Default: 3

Input JSON

{
"startUrls": [
{ "url": "https://www.facebook.com/unitednations/posts/pfbid0opbJZxKWXmqNbYFg3ZA2YDxEzn2YM5J83hMQNN8VbwkPA6oP6EAv6N4mhd5mCqb9l" },
{ "url": "https://www.facebook.com/reel/1510975140138256" }
],
"includeTopComments": true,
"maxTopComments": 5,
"monitorMode": true
}

Input names of other Facebook post scrapers are accepted through the API too (direct_urls, postUrls, post_urls, urls, posts, postIds as plain strings, captionText, includeComments), so a saved call can switch without edits.

Paste the post URL, not the Page URL

Each URL must point to one post. Do: https://www.facebook.com/nasa/posts/pfbid0..., https://www.facebook.com/reel/1510975140138256. Don't: https://www.facebook.com/nasa (a Page lists posts; the run skips it, says so in the log and charges nothing). For a Page's latest posts use Facebook Page Posts Scraper or Facebook Search Posts Scraper, then pass the post URLs here.

Use tracking for engagement over time

Turn on monitorMode and schedule the same list hourly or daily. Every row then shows what moved since the previous run, for example "deltas": { "reactions_count": 7, "video_view_count": 1000 }. Add onlyChanged when you only want the movers: on a test poll five minutes after a full run, 5 of 24 posts had changed (all reels and videos still gaining views) and only those 5 were returned.

โฌ†๏ธ Output

Every Facebook post becomes one dataset item. Here is the table view of a 24-post run (posts by organisations and brand Pages shown):

Facebook Post Details Scraper output table with reactions, comments, shares, views and plays

And a reel as JSON (shortened):

{
"post_id": "1283259303833669",
"type": "reel",
"url": "https://www.facebook.com/reel/1510975140138256/",
"message": "Jayson Shaw delivers the winning nine for Team Europe ๐Ÿ™Œ Captain Fantastic ๐Ÿ’™ #MosconiCup ๐Ÿ‡ช๐Ÿ‡บ",
"published_at": "2025-12-06T21:59:35.000Z",
"author": { "id": "100064488352129", "name": "Matchroom Pool", "url": "https://www.facebook.com/worldnineballtour", "is_verified": true },
"reactions_count": 1861,
"reactions": { "like": 1721, "love": 126, "care": 5, "haha": 5, "wow": 0, "sad": 2, "angry": 2 },
"comments_count": 114,
"reshare_count": 34,
"video_view_count": 70463,
"play_count": 162335,
"video_duration_ms": 150421,
"video_files": { "video_hd_file": "https://video-...fbcdn.net/...", "video_sd_file": "https://video-...fbcdn.net/..." },
"hashtags": ["mosconicup"]
}

Facebook post fields

FieldTypeWhat it isFilled (24-post run)
post_id, url, type, input_url, comments_idstringPost ids, permalink, kind, the URL you passed100%
messagestringFull text of the post96%
published_at, timestampstring, integerPublish time, ISO 8601 and Unix seconds100%
authorobjectid, name, url, avatar, Page / person, verified badge100% (badge 75%)
reactions_count, reactions, top_reactionsinteger, object, listReactions total, by type, types in order100%
comments_count, reshare_count, engagement_countintegerComments, shares, their sum with reactions100%
video_view_count, play_countintegerExact views and plays8 of 8 videos and reels
video, video_files, video_thumbnail, video_duration_ms, video_width, video_height, is_livemixedVideo permalink, MP4 files, thumbnail, size, live flag8 of 8 videos and reels
music, video_captions, video_transcriptobject, list, stringReel soundtrack, caption tracks, caption textsoundtrack 6 of 8, captions 3 of 8
image, images, album_count, image_altobject, listPhotos with size and Facebook's alt text10 of 10 photo and album posts
external_url, external_link, links, attached_postmixedShared link, its card, every link in the text, a shared postposts that have one
group, location, privacy, author_titlemixedGroup, tagged place, audience label7 of 7 group posts; privacy 100%
hashtags, mentions, text_referenceslistHashtags, @handles, tagged Pages and peopleposts that have them
top_commentslistAdd-on: id, text, date, author, reactions, replies21 of 24 (3 posts had none)
author_detailsobjectAdd-on: followers, following, talking about, badge, category, intro17 of 21 authors (the rest are personal profiles)
monitor_status, previous, deltas, changed_fields, first_seen_atmixedTracking: counts of the last run and what changedwith tracking on

Not delivered: collaborators of a co-authored post and a Page's "likes" count. Neither appeared on any post or author Page measured for this actor, so the fields were left out rather than shipped empty.

How can I use Facebook post data?

  • ๐Ÿ“Š Social media managers and agencies: report reactions, comments, shares and video views per post for your Pages and your clients', on a schedule.
  • ๐ŸฅŠ Competitive intelligence: track competitors' launch posts and reels day by day with deltas and see which content keeps growing.
  • ๐Ÿค Influencer and creator vetting: check a creator's real views, plays and engagement per reel, plus followers with Add author details.
  • ๐Ÿ“ฐ Brand, PR and research teams: archive viral posts with text, media and engagement for reports and studies.
  • ๐ŸŽฌ Video teams: collect the HD file, duration, soundtrack and captions of reels and videos you are allowed to reuse.
  • ๐Ÿค– AI and data teams: feed post text, transcripts and top comments to LLMs and dashboards; compact keeps rows small.

How much does it cost to scrape Facebook posts?

Facebook Post Details Scraper is pay-per-result: $2.10 per 1,000 Facebook posts, no start fee. You only pay for posts written to your dataset. Add-ons, when you turn them on: top comments $0.50 per 1,000 posts that receive comments, author details $0.50 per 1,000 posts that receive them; transcripts are free.

PostsCost
10$0.021
100$0.21
1,000$2.10
10,000$21.00

Apify platform usage (compute, proxy) is included in this price. Measured on the platform with 256 MB: 24 mixed posts in 11 seconds, 2 posts in 4 seconds; with top comments, author details and tracking on, 24 posts in 81 seconds. Memory peak under 85 MB.

Facebook posts in your tools: integrations, API, scheduling & MCP

  • Schedules: run your list hourly or daily from the Schedules tab with monitorMode: true (and onlyChanged: true for movers only).
  • Webhooks: fire a URL when a run finishes and push the new numbers to a dashboard, CRM, Slack or a sheet.
  • No-code: Make, Zapier, n8n, Google Sheets, Airtable, Slack via Apify integrations.
  • API: call it from Node.js or Python with apify-client. Code is on the API tab and in the Apify API reference.
  • MCP / AI agents: connect Claude, Cursor or any MCP client through the MCP tab and ask for a post's engagement in plain language. Set compact: true to keep rows small.

More social media scrapers by TopApi

๐Ÿ’ฌ Facebook Comments Scraper - every comment and reply of a post๐Ÿ”Ž Facebook Search Posts Scraper - find public posts by keyword๐Ÿ›’ Facebook Marketplace Scraper - listings and prices by keyword and city
๐Ÿ‘ค Instagram Profile Scraper - followers, bio and latest posts๐Ÿ“ธ Instagram Scraper - posts, reels, hashtags and profiles๐ŸŽต TikTok Scraper - videos by profile, hashtag or keyword
๐ŸŽฌ TikTok Video Scraper - stats, transcript and download by URL๐Ÿฆ Twitter Profile Scraper - X followers, bio and verified badgeโ–ถ๏ธ YouTube Shorts Scraper - views, channels and transcripts
๐Ÿ“ Google Maps Reviews Scraper - reviews, ratings and owner replies๐Ÿงญ All TopApi actors

Limits & empty runs

  • One URL, one post: Page, profile and group home URLs are skipped (they list posts). Private groups, friends-only and age-restricted posts redirect a visitor to the login page and are reported as signed-in only.
  • Photo URLs (/photo/?fbid=) are sent to the login page for every datacenter IP, so the actor reads them on a RESIDENTIAL IP; they take a few seconds longer.
  • Reel shares are Facebook's rounded figure (5.3K becomes 5300, the original is in reshare_count_text); on Page posts and photos the share count is exact.
  • Views and plays exist for videos and reels only. A reel's views come from its video page, so a reel takes two page loads.
  • Author details need a Page or a creator profile; personal profiles show visitors no counters and get none (not charged).
  • Video files and image URLs are signed links that expire after a few hours. Download them promptly.
  • Empty dataset: the URLs are not posts, the posts were removed or are private, your filters removed every post, or onlyChanged found nothing new. The status message and the RUN_SUMMARY record name the cause per URL; nothing is charged.

FAQ

How many Facebook posts can Facebook Post Details Scraper read in one run?

As many URLs as you pass. Posts are read 3 at a time by default (up to 10); 24 mixed posts took 11 seconds on a test run, and the actor saves its progress so a long run that restarts does not deliver or charge a post twice.

Can Facebook Post Details Scraper track post engagement over time?

Yes. Turn on monitorMode and run the same list on a schedule. Each row carries the previous counts, the deltas and changed_fields; onlyChanged returns only posts that moved.

Does Facebook Post Details Scraper get video and reel views?

Yes. video_view_count and play_count are Facebook's exact numbers (plays include replays), read from the video page; the page itself shows only a rounded "1.2M".

Can I get the comments of a Facebook post with Facebook Post Details Scraper?

Yes, the top 10 per post with Add top comments, ordered by relevance or newest. For every comment and reply of a post, use Facebook Comments Scraper.

Can I scrape Facebook group posts with Facebook Post Details Scraper?

Yes, posts in public groups, with the group's id, name and URL on the row. Posts in private groups are reported as signed-in only.

Can I integrate Facebook Post Details Scraper with other apps?

Yes. Make, Zapier, n8n, Google Sheets, Slack and more via Apify integrations, or use webhooks to act when a run finishes.

Can I use Facebook Post Details Scraper with the Apify API?

Yes. Use apify-client for Node.js or Python; the API tab has ready-to-paste code.

Can I use Facebook Post Details Scraper through an MCP server?

Yes. Open the MCP tab, connect your MCP client (Claude Desktop, Cursor, LibreChat) and ask for the engagement of a post. compact: true keeps the rows small.

Do I need a Facebook account, cookies or an API key for Facebook Post Details Scraper?

No. Facebook Post Details Scraper reads only what Facebook shows a signed-out visitor. You pass post URLs and nothing else.

Why did my Facebook Post Details Scraper run return no posts?

The most common causes, in order: the URL is a Page or profile rather than a post; the post is private or was removed; your date, type or reaction filters removed it; onlyChanged found no change since the last run. The status message names the cause for each URL.

Facebook Post Details Scraper extracts only publicly available posts; it does not log in or collect private data. Posts may still contain personal data, which is regulated (for example by GDPR). Make sure you have a legitimate purpose before you store or reuse it.

Your feedback

We keep improving Facebook Post Details Scraper. Found a bug or missing a field? Open an issue on the Issues tab.