Facebook Post and Reel Scraper
Pricing
from $3.50 / 1,000 results
Facebook Post and Reel Scraper
Scrape Facebook posts, reels and videos from links, pages, profiles and groups. Get views, reactions, comments, shares, caption, date, video links, transcript and author as clean JSON. Date filters, live results, no account or cookies needed.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Insights Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
🎬 What is Facebook Post and Reel Scraper?
Facebook Post and Reel Scraper helps social media managers, marketers and agencies with Facebook competitor analysis: see how the reels and posts of any public page perform, without copying numbers by hand. Paste reel, video or post links, or the links of pages, profiles and public groups, and this Facebook reels scraper saves one row per post with views, reactions, comments, shares, caption, date, video links and author details, plus the transcript when Facebook has one.
You don't need a Facebook account or cookies, and you can try it on the Apify Free plan with the $5 monthly credit.
- 🏁 Competitor tracking: compare the latest reels and posts of competitor pages by views, reactions, comments, shares and engagement rate.
- 📣 Facebook brand monitoring: collect new posts from your own pages and the pages you choose to watch, on a schedule.
- 🤝 Influencer vetting: check a creator's reel views, engagement, followers and verification before a Facebook influencer marketing campaign.
- 💭 Comment analysis: export comments and replies, then run Facebook comment sentiment analysis in your own tool.
- 🧪 Content ideas: use captions, hashtags and transcripts for Facebook content research.
- 📺 Facebook reels analytics: see views, plays and duration of reels and videos side by side.
What can Facebook Post and Reel Scraper do?
- 🔗 Read post, reel, video, share and fb.watch links, one row per post
- 📰 Read the latest posts of public pages, profiles and public groups, with an optional date filter
- 📈 Return views, plays, reactions (total and by type), comments, shares, engagement and engagement rates
- 🗣️ Return video duration and HD and SD video links, plus the transcript when Facebook has one
- 💬 Collect comments and replies in the order you pick
- 👤 Add author handle, name, followers, category and verification
- ⚡ Save each post the moment it is read, so the table fills while the run is going
- 🔌 Run it on a schedule, through the API, or with integrations such as Google Drive, Make and Zapier
📊 Facebook reels scraper data fields
Here is the Facebook reels data you get for each post. Field names are the same as in the export.
| Field | Field | Field |
|---|---|---|
🔗 Post link url, input link originalUrl, shortcode, postId | 👤 Author author, authorName, authorId, authorUrl | 👁️ Views views, plays plays |
❤️ Reactions likes, reactionsBreakdown, topReactionsCount | 💬 Comment count comments, collected comments topComments | 🔁 Shares shares |
📝 Caption caption, mentions, links | 📅 Date posted datePosted, timestamp | 🏷️ Hashtags hashtags |
⏱️ Duration durationSec | 🎞️ Video links videoUrlHd, videoUrlSd, cover thumbnailUrl | 🗣️ Transcript transcript |
📈 Engagement engagement, engagementRate, engagementRateByViews | ⭐ Author followers authorFollowers, authorCategory, authorVerified | 🖼️ Photos and videos media, albumTruncated |
🧾 Post type type (reel, video, photo, album, link, text) | 🤑 Paid partnership flag paidPartnership | 🔄 Shared post sharedPost, collaborators |
What some fields mean:
viewsis the view count Facebook shows for a video or reel.playsis Facebook's play count, when it shows one. They are two different counters, so they don't have to match.likesholds all reaction types together.reactionsBreakdowngives the count per reaction type, andtopReactionsCountis the sum of the main reaction types.engagement= reactions + comments + shares.engagementRateis the Facebook engagement rate by followers: engagement divided by the author's followers, in percent. It is only filled when the follower count is known.engagementRateByViews= engagement divided by views, in percent.topCommentsholds the comments collected for the post. With Comments per post at 0, it can still hold the few comments Facebook shows with the post.datePostedis the publish time in ISO format.scrapedAtis the time the post was read.
Note: A value Facebook does not show stays
null.sharesis empty on posts with no visible share count.transcriptis empty when Facebook has no transcript for the video. For posts read from a group link, the follower, category and verification fields and the engagement rate are based on the group's own details, not on the person who posted.
Separate tables
Each run fills the main table and six extra tables. You find all of them in the run's Output tab.
| Table | What is in it |
|---|---|
| 📰 All posts | Every post with its main fields |
| 📈 Engagement | Views, plays, reactions, comments, shares and engagement rates per post |
| 🎞️ Video details | Duration, cover, HD and SD links and transcript per video or reel |
| 👤 Authors | Name, handle, page link, followers, category and verification per post |
| 💬 Comments | One row per comment and reply, with text, time, author, reactions and reply count |
| 🖼️ Media | One row per photo or video of a post, including album photos |
| ⚠️ Errors | Links that could not be read, with a short reason |
Use the Authors table for Facebook creator analytics: it shows who posted, their follower count, category and verification in one list.
What data can't Facebook Post and Reel Scraper extract?
- Private groups, private profiles and posts that need a login
- Facebook search results (search links are not supported)
- The video files themselves. You get HD and SD video links, not downloaded files
- Marketplace listings, ads, page reviews and group member lists
🚀 How to scrape Facebook reels and posts
You don't need any experience with data collection to start.
- Create a free Apify account with your email.
- Open Facebook Post and Reel Scraper.
- In Facebook links, replace the two example links with your own reel, video or post links, or page, profile and public group links.
- Click Start. Posts appear in the Output tab as they are saved.
- Download the results from the Output tab (see the Output section below).
💡 The example links: the form comes filled with a MrBeast reel and the MrBeast page. If you click Start without changing them, you get that reel plus up to 10 of the page's latest posts, and each saved post is charged.
How to scrape Facebook posts from pages, profiles and groups
Paste the page, profile or public group link and set Max posts per run. The run reads the newest posts of each link until that number or your date filter is reached. Read "Max posts per run with several pages" in the Input section before you add many pages to one run.
Common jobs and what to do
| Job | What to paste and read |
|---|---|
| 👁️ Facebook reel view counter for a list of reels | Paste the reel links, read views and plays. The numbers are from the moment of the run |
| 📅 Facebook reel upload date checker | Paste the reel links, read datePosted |
| 🏷️ Collect Facebook reels hashtags of a creator | Paste the page link, read hashtags in the All posts table |
| 💬 Export Facebook comments to Excel | Set Comments per post, then export the Comments table as Excel |
| 📗 Export Facebook comments to Google Sheets | Export the Comments table as CSV, then in Google Sheets use File → Import |
💲 Facebook reels scraper pricing and cost
Facebook Post and Reel Scraper uses pay-per-event pricing. Your bill has three parts:
- Results: a fee for each post or reel saved in the main table. The price depends on your Apify plan (table below).
- Start fee: a tiny fee each time a run starts, $0.00005 at the default memory (1 GB).
- Platform usage: the resources the run uses on your Apify account, such as compute, data transfer and storage, and Apify Proxy traffic if the run switches to it. It is billed at your plan's rates and shown on the run page.
| Apify plan | Price per result | Price per 1,000 results |
|---|---|---|
| 🆓 Free | $0.005 | $5.00 |
| 🌱 Starter | $0.0045 | $4.50 |
| 📦 Scale | $0.004 | $4.00 |
| 🏢 Business and higher | $0.0035 | $3.50 |
The plan discount applies to the result price only. The start fee is the same on every plan, and platform usage is billed at your Apify plan's own rates.
Result charges are easy to work out. For example, 100 posts on the Starter plan = 100 x $0.0045 = $0.45, plus the start fee and platform usage.
- Comments, replies and the rows of the extra tables are not charged as results. Collecting many comments, or keeping Video details and transcript on, means more pages are loaded, so platform usage goes up.
- Rows for links that could not be read are saved, but not charged.
- Platform usage depends on your links and settings, so there is no fixed figure. Do a small test run with a few links, then open the run page and read the full cost there.
- To cap your spend, set a maximum charge limit in the run options when you start a run. When the limit is reached, the run stops and keeps everything saved so far.
See the pricing tab for the current prices.
Is scraping Facebook reels free?
You can start for free. The Apify Free plan gives you $5 in monthly credit, which pays the result charges and the platform usage of your runs. Free-plan runs work the same as paid runs, with the same settings and the same data.
⬇️ Input
The only required input is Facebook links. Everything else is optional and has a default. You can fill the form in Apify Console or send the input as JSON through the API.
Settings most people change
| Setting | What it does | Default |
|---|---|---|
🔗 Facebook links (urls) | Post, reel, video, share and fb.watch links return that post. Page, profile and public group links return their latest posts. | two example links |
🔢 Max posts per run (max_items) | Maximum posts taken from all page, profile and group links together. 0 = no limit from this setting. Direct post and reel links don't count toward it. | 10 |
📅 Only posts newer than (newer_than) | A date in YYYY-MM-DD format, for example 2025-01-01. Only filters posts read from pages, profiles and groups. A direct post link comes back whatever its date. Empty = no limit. | empty |
💬 Comments per post (comments_per_post) | Top-level comments collected per post. 0 = none, -1 = every comment Facebook serves. | 0 |
🗨️ Replies per comment (replies_per_comment) | Replies per comment. 0 = none, -1 = every reply. Needs Comments per post above 0. | 0 |
🔃 Comment order (comments_sort) | all (Facebook's "All comments" order), most_relevant or newest. If a post doesn't offer the chosen order, Facebook's default order is used. | all |
🗣️ Video details and transcript (include_video_details) | Opens each video or reel page for refreshed view and play counts and the transcript. See "Views, plays and the Video details setting" below. | on |
⭐ Author followers and category (include_author_info) | Adds follower count, category and verification for the author of each direct link. Posts from a page link already carry that page's details. | on |
🌐 Proxy (proxyConfiguration) | Optional. No proxy is used by default. If Facebook rejects requests, the run switches to Apify Proxy on its own. | off |
Here is a small example: one reel plus the latest 10 posts of a page.
{"urls": ["https://www.facebook.com/reel/2303532030446040/","https://www.facebook.com/mrbeast/"],"max_items": 10,"proxyConfiguration": { "useApifyProxy": false }}
See the input tab for every field.
Facebook links
- ✅ Good:
https://www.facebook.com/reel/2303532030446040/, an fb.watch link,https://www.facebook.com/mrbeast/, a public group link - ❌ Bad: a Facebook search link, a private group, a link from another website
Max posts per run with several pages
Max posts per run is one shared total for all page, profile and group links in the run. It is also the most any single link can give. The links are read at the same time, and once the total is reached the run stops taking new posts. So the split between pages is not even: a page that posts a lot can use most of the total, and another page may get few or none.
To get the same number from every page, save one task per page, each with Max posts per run set to the number you want (for example 10).
⚠️
0on a large page means many posts and a higher cost. For a first test, keep the default 10.
Views, plays and the Video details setting
- On (default): the Actor opens each video's or reel's own page and takes the latest view and play counts and the transcript from there. If that page can't be read, the counts for that post can be empty.
- Off: views and plays come from what the post itself shows, and there is no transcript. Duration and HD/SD video links come back either way.
Comments and replies
Set Comments per post above 0 to collect comments. Comments are only fetched for posts that have comments. Replies need comments: if Comments per post is 0, replies are skipped.
⬆️ Output
Each post is saved as soon as it is read. Open the run in Apify Console and go to the Output tab. There you see the All posts table, the six extra tables (Engagement, Video details, Authors, Comments, Media, Errors) and a Run summary with the counts for the run.
To download a table: in the run's Output tab, open the table you need (for example Comments) and export it as JSON, CSV, Excel, XML or HTML. Each table is exported on its own.
JSON example
Results for the input example above (one item, shortened):
{"url": "https://www.facebook.com/reel/2303532030446040/","originalUrl": "https://www.facebook.com/reel/2303532030446040/","shortcode": "2303532030446040","status": "ok","platform": "facebook","author": "mrbeast","authorName": "MrBeast","authorId": "100044548384499","views": 9972745,"likes": 61504,"comments": 3402,"shares": null,"caption": "Climb With $384,000, Win It","datePosted": "2026-10-09T16:00:53.000Z","type": "reel","durationSec": 469.67,"engagement": 64906,"authorFollowers": 50000000}
Row status and what is billed
statusisokfor every saved post. Each of these rows is one billed result.- A link that could not be read (for example a private group, a page that was not found, or a link that is not a Facebook link) gets a row with
statusstarting witherror:. The same link is listed in the Errors table with a short reason. These rows are not charged. - If the same post shows up from two links in one run, it is saved once.
💡 Tips, limits and scheduled runs
How many results can you scrape?
There is no per-run cap from the Actor on any plan. The real number depends on how many public posts a page, profile or group has, your Max posts per run and date settings, and your maximum charge limit. The Actor has safety stops for very long feeds, so a feed may stop before its oldest post. With a date filter, a feed stops once it reaches posts older than your date. A quick test run shows what to expect for your pages.
How to keep costs down
- 🔢 Keep Max posts per run small and use Only posts newer than to skip old posts.
- 💬 Leave comments at 0 unless you need them.
- 🗣️ Turn off Video details and transcript when the post's own counts are enough and you don't need transcripts.
Run it on a schedule
The Actor doesn't compare runs for you. Each run is a fresh snapshot. Here is a simple weekly setup that keeps every snapshot in one place:
- Fill the input with one page link (for example a competitor page) and set Max posts per run to 10.
- Click Save as a new task at the top right of the Actor page. Repeat with the other pages, one task per page.
- Open Schedules in Apify Console, create a weekly schedule and add your tasks.
- On each task, open Integrations → Upload results to GDrive, click Connect with Google, pick a file name and the CSV format, then save and enable it. After every successful run, the main table (All posts) is uploaded to Google Drive as a file. The extra tables are not part of this upload; export them separately from the run's Output tab.
- To see growth, open the CSV files in Google Sheets, paste them below each other, and use a filter or pivot table on
postId. Each row'sscrapedAttells you which run it came from, so you can see howviews,likes,commentsandshareschange week by week.
Known issues
- ⚠️ The number of comments collected can be lower than the count Facebook shows, because Facebook serves fewer comments to logged-out visitors.
- ⚠️ With Video details and transcript on, view and play counts can be empty for a post whose video page could not be read.
- ⚠️
albumTruncatedistruewhen not every photo of an album could be read. - ⚠️ If a run ends with no posts at all, check that the links are public and open without a login, then try again later.
🔌 Facebook reels scraper API and integrations
Can I use it as a Facebook reels API?
Yes. With the Apify API you can start runs, schedule them and read the results from your own code. Each table has its own API link in the Output tab, so you can also use it as a Facebook post data API for your app or dashboard. Use the apify-client package for Node.js or the package for Python. The API tab has code you can copy.
Facebook scraper Python example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("insights_data/facebook-post-and-reel-scraper").call(run_input={"urls": ["https://www.facebook.com/reel/2303532030446040/","https://www.facebook.com/mrbeast/"],"max_items": 10})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["url"], item["views"], item["likes"])
Can I integrate it with other apps?
Yes, through Apify integrations and webhooks. Two workflows that fit this Actor:
- 📁 Weekly CSV files in Google Drive (no code): open your saved task → Integrations → Upload results to GDrive → Connect with Google → choose a file name and CSV → Save and enable. Every successful run then uploads the main table (All posts) to your Drive. Export extra tables such as Comments separately from the Output tab. This is the tracking setup from "Run it on a schedule" above.
- 🔔 Social media monitoring alerts in Slack: this needs a Make or Zapier account. Add a webhook for "run succeeded" on your task that starts a Make or Zapier scenario. The scenario reads the run's results with the Apify app and posts the reels with the most views to a Slack channel.
Can I use it with AI agents (MCP)?
Yes. Connect the Actor to Claude and other AI assistants through the Apify MCP server. Open the MCP tab for setup steps.
🧩 Other Facebook, Meta and social scrapers
These tools from the same developer cover the rest of your social media data:
- 📘 Facebook Post Scraper: public Facebook posts from pages, profiles, groups and post links, with text, date, author, reactions by type, comments with replies, shares, photos, videos, views and transcripts.
- 📸 Instagram Profile Scraper: public Instagram profiles with bio, followers, engagement rate and latest posts.
- 🧵 Search Threads By Keywords: Threads posts by keyword, hashtag, phrase or username, with likes, replies and author details.
- 🎵 TikTok Profile Scraper: TikTok profile videos with views, likes, comments, shares, hashtags and optional transcripts.
- 🗯️ TikTok Comments & Replies Scraper: TikTok comments and replies with likes, dates and commenter details.
❓ FAQ
Which Facebook scraper should I pick: this one or Facebook Post Scraper?
Both read public posts from pages, profiles, groups and post links, without an account. Pick Facebook Post and Reel Scraper when your list is mostly reels and videos (including share and fb.watch links), when you need HD and SD video links, or when you want separate tables for engagement, video details, authors, comments and media. Pick Facebook Post Scraper when you mainly work with post text, reactions by type and comment threads. Prices can differ, so check the pricing tab of each Actor before you decide.
Is it legal to scrape Facebook?
Facebook data extraction of public content is generally legal, but you are responsible for how you use the data. Respect personal data rules such as the GDPR, collect personal data only when you have a legitimate reason, and keep Facebook's Terms of Service in mind. This is not legal advice. Ask a lawyer about your specific case.
How does Facebook Post and Reel Scraper work?
It works like a visitor opening the public Facebook pages you list, only faster. It checks whether each link is a single post or a page, profile or group. It reads single posts directly and reads the latest posts of feeds until your limit or date filter stops it. Then it adds video details, comments and author details as you set them, and saves each post right away.
Can I scrape single reel links?
Yes. You can use it as a Facebook reel scraper for one reel or a long list of reels. Each reel becomes one row, and direct links don't count toward Max posts per run.
Do fb.watch and share links work?
Yes. Normal videos, fb.watch and share links work the same way as reel links, so it is a Facebook video scraper too. Each one returns the post with its views, duration and video links.
Is this a Facebook reels video scraper or a downloader?
It is a Facebook reels video scraper, not a downloader. It returns data plus the HD and SD video links (videoUrlHd, videoUrlSd). It doesn't save video files.
How do I extract Facebook video link addresses in HD and SD?
Paste the reel or video links and start the run. Every video and reel row has videoUrlHd and videoUrlSd, with or without the Video details and transcript setting. The Video details table shows them next to duration and transcript.
Can I get video data without transcripts?
Yes. Turn off Video details and transcript and use it as a plain Facebook video data extractor. You still get duration, video links, the cover image, and the views and plays that the post itself shows.
Can I extract Facebook video transcript text?
Yes, when Facebook has a transcript for the video. Keep Video details and transcript on and the text lands in transcript. If you were looking for a Facebook reels transcript extractor that turns speech into text, note that this Actor doesn't transcribe audio itself. Videos without a Facebook transcript get an empty field.
Can I turn a Facebook reel to transcript text for many reels at once?
Yes. Paste many reel links in one run. Each reel row gets its transcript when Facebook has one. Reels without one stay empty, because the Actor reads Facebook's own transcript and is not a speech-to-text Facebook video transcript extractor.
How to check Facebook reels analytics for any public reel?
Paste the reel links and read views, plays, likes, comments, shares and engagementRate. These are the public numbers at the time of the run. To follow them over time, use the weekly setup in "Run it on a schedule".
Can I get Facebook page analytics for a competitor's page?
You get the public numbers of each post: views, plays, reactions, comments, shares and engagement rates, plus the page's follower count. You don't get private page insights such as reach or audience data.
How do I get the same number of posts from several pages?
If you use it as a Facebook page posts scraper for many pages, keep in mind that Max posts per run is shared by all pages in a run, so the split can be uneven. For the same number of posts per page, use one task per page, as explained in "Max posts per run with several pages".
Are photo and text posts saved too?
Yes. Photo, album, link and text posts are saved with caption, reactions, comments, shares, hashtags, mentions and media, so it also works as a Facebook post data extractor for posts without video. type tells you the kind of post.
Can I use it as a Facebook comments scraper?
Yes, for the posts you give it. Set Comments per post (and Replies per comment if you want replies). Each comment and reply becomes a row in the Comments table. For TikTok comments, use TikTok Comments & Replies Scraper.
Does it work as a Facebook group post scraper?
Yes, for public groups. Paste the group link and it reads the latest posts of that group. Private groups can't be read and show up in the Errors table. For group posts, the follower-based fields describe the group.
Can I use it for Facebook social listening?
Only for the pages, profiles, groups and posts you give it. Facebook search links are not supported, so it can't find posts by keyword across Facebook. To find posts by keyword on Threads, use Search Threads By Keywords.
Do I need my own Facebook scraper API key?
No. You don't need a Facebook API key, account or cookies. To call the Actor from your own code, you only need your Apify API token.
Why am I getting fewer results than expected?
- Max posts per run is shared by all page, profile and group links (default 10).
- Only posts newer than skips older posts from feeds.
- Check that the links are public and open without a login.
- Look at the Errors table for links that could not be read.
- Comments: Facebook serves fewer comments to logged-out visitors than its count shows.
📧 Support and feedback
Found a bug or have a feature request? Please create an issue on the Issues tab.
Need a custom solution, more fields or a different Facebook data set? Contact us at hello.insights.data@gmail.com.
Built and maintained by insights_data.