Facebook Review Scraper avatar

Facebook Review Scraper

Pricing

from $1.60 / 1,000 results

Go to Apify Store
Facebook Review Scraper

Facebook Review Scraper

Scrape reviews from public Facebook pages with no login or cookies. Get reviewer, recommend or not, review text, tags, photos, reactions, comments and owner replies, plus page totals. Bulk input, filters, auto proxy fallback. Export JSON, CSV or Excel.

Pricing

from $1.60 / 1,000 results

Rating

0.0

(0)

Developer

Data Minds

Data Minds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Share

What is Facebook Review Scraper?

Facebook Review Scraper collects the public reviews of Facebook pages: reviewer, recommend or not-recommend, review text, tags, photos, reactions, comments and the page owner's reply. Paste page links, usernames or page ids, and every review is saved to your dataset as it is read. On the Gold plan a result costs $0.0016, or $1.60 per 1,000 reviews. No Facebook account or cookies are needed.

Use it for:

  • ๐Ÿ“ˆ Facebook reputation monitoring: check what customers say about your own pages on a schedule.
  • ๐Ÿ”Ž Competitor review analysis: compare reviews, recommend percentages and follower counts across rival pages.
  • ๐Ÿ’ฌ Customer sentiment analysis: feed review text and tags into your own sentiment or topic models.
  • ๐Ÿ“Š Export Facebook page reviews to a spreadsheet: download JSON, CSV or Excel without copying reviews by hand.
  • ๐Ÿšจ Track negative reviews: keep only the pages' not-recommended reviews and see whether the owner replied.

Because it runs on the Apify platform, you also get the API, scheduling, webhooks, integrations and export formats such as JSON, CSV, Excel, XML and HTML.

What can Facebook Review Scraper do?

  • ๐Ÿ“„ Scrape Facebook reviews in bulk: one page link, username or numeric page id per line.
  • ๐Ÿ•’ Newest first: reviews are read from the newest to the oldest.
  • ๐ŸŽฏ Filter reviews: by date, recommended or not recommended, and only reviews with written text.
  • ๐Ÿ“‚ Separate tables: reviews, reviewers, comments, photos and page totals each get their own table.
  • โšก Live results: each review appears in the Output tab while the run is still going.
  • ๐Ÿ”Œ API and automation: run it from code, on a schedule, or from other apps.

What data can Facebook Review Scraper extract?

FieldDescription
๐Ÿ”— facebookUrl, inputUrlCanonical page link and the page exactly as you entered it
๐Ÿ“„ pageName, facebookIdName and Facebook id of the reviewed page
๐Ÿ†” id, legacyId, urlReview identifiers and the review link
๐Ÿ‘ค userReviewer id, name, profileUrl and profilePic
๐Ÿ“… dateWhen the review was written (UTC, ISO 8601)
๐Ÿ‘ isRecommendedtrue when the reviewer recommends the page, false when not
๐Ÿ“ text, textLengthReview text and its character count
๐Ÿ”– tagsTags the reviewer picked
๐Ÿ’— likesCount, reactionsReaction total and the breakdown by type
๐Ÿ’ฌ commentsCount, commentsComment total and the comments themselves
๐Ÿ“ธ photosPhotos attached to the review (url, width, height)
๐Ÿ’ญ ownerReplied, ownerReplyWhether the page owner replied, plus the reply text and date
๐Ÿ“Š pageRecommendPct, pageReviewCount, pageFollowersPage recommend percentage, total reviews and followers

Note: Fields are null or empty when Facebook shows no value for a review, for example text for a review that is only a recommend tap.

What data can't Facebook Review Scraper extract?

It reads public pages only. Reviews that Facebook does not show publicly are not returned, and the page row in the pages table carries a note when a page shows fewer reviews than its total.


How to scrape Facebook reviews

  1. Create a free Apify account.
  2. Open Facebook Review Scraper.
  3. Add Facebook page links, usernames or page ids to Facebook pages (urls).
  4. Set Maximum reviews (maxReviews) per page, or 0 for all reviews Facebook shows.
  5. Optionally set a date, a recommendation filter or only reviews with text.
  6. Click Start and watch the reviews arrive in the Output tab.
  7. Export the results as JSON, CSV or Excel, or read them with the API.

How much does it cost to scrape Facebook reviews?

This Actor uses pay-per-event pricing: you pay for each saved review, plus a small start fee per run. Platform usage is billed in addition.

PlanPer reviewPer 1,000 reviews
Free$0.002$2.00
Bronze$0.0018$1.80
Silver$0.0017$1.70
Gold$0.0016$1.60

The start event costs $0.00005 per GB of memory, minimum one event. This Actor's default memory is 1,024 MB (1 GB), so a start costs $0.00005.

Example: saving 1,000 reviews on the Gold plan costs $1.60 in result charges plus $0.00005 for the start, with platform usage billed in addition.

Is scraping Facebook free?

The Apify Free plan includes $5 in monthly credit. At the Free price of $0.002 per review, that covers about 2,500 reviews before platform usage. See the pricing tab for current prices.


Input

The Actor needs one thing: at least one entry in urls. See the input schema for the full form. A ready-to-run example:

{
"urls": ["https://www.facebook.com/KFC/reviews"],
"maxReviews": 10
}
FieldTypeRequiredDefaultDescription
urlsarrayyesnone (prefilled with one page)Facebook page links, usernames or numeric page ids
maxReviewsintegerno10Reviews to save for each page, newest first; 0 means all reviews Facebook shows
onlyReviewsNewerThanstringnoemptySkip older reviews: a date such as 2024-01-01 or a value such as 30 days, 6 months, 1 year (UTC)
recommendationstringnoallall, recommended or not_recommended
onlyWithTextbooleannofalseSkip reviews that are only a recommend or not-recommend tap
proxyConfigurationobjectno{"useApifyProxy": false}Optional proxy settings; leave the default for automatic handling

Pages (urls)

  • โœ… Good: https://www.facebook.com/KFC/reviews, KFC or a numeric page id.
  • โŒ Bad: links to groups, events, photos, reels or search pages. They are skipped with a warning.

Maximum reviews (maxReviews)

The limit applies to each page, so two pages with 50 give up to 100 reviews.

  • โœ… Good: 50 for a quick sample of each page.
  • โŒ Bad: 0 on many large pages for a first test, which can take long and cost more.

Warning: Facebook can show fewer reviews publicly than the page total, so a high maxReviews does not guarantee that many results.

Date filter (onlyReviewsNewerThan)

  • โœ… Good: 2024-01-01 or 30 days.
  • โŒ Bad: last month or 01/02/24, which are not understood and stop the run with an error.

Output

Results appear in the Output tab and the run's storage. Download them as JSON, CSV, Excel, XML or HTML, or fetch them with the API. The default dataset has one row per review, and four more tables hold reviewers, comments, photos and pages.

JSON example

{
"facebookUrl": "https://www.facebook.com/KFC",
"inputUrl": "https://www.facebook.com/KFC/reviews",
"pageName": "KFC",
"facebookId": "1000000000000",
"id": "UzpfSTEwMDAw...",
"legacyId": "3433562433615151",
"url": "https://www.facebook.com/jane.doe/posts/pfbid0example",
"user": {
"id": "100008842841030",
"name": "Jane Doe",
"profileUrl": "https://www.facebook.com/jane.doe",
"profilePic": "https://example.com/pic.jpg"
},
"date": "2024-09-11T17:57:58.000Z",
"isRecommended": true,
"text": "Great food and friendly service.",
"tags": ["Fast delivery"],
"likesCount": 3,
"commentsCount": 1,
"photos": [{"url": "https://example.com/photo.jpg", "width": 720, "height": 960}],
"comments": [],
"reactions": {"like": 2, "love": 1},
"ownerReplied": false,
"ownerReply": null,
"textLength": 32,
"pageRecommendPct": 94,
"pageReviewCount": 201,
"pageFollowers": 3313
}

The other tables use these fields:

  • Reviewers: reviewId, reviewUrl, pageName, facebookUrl, userId, userName, userProfileUrl, userProfilePic, date, isRecommended, textLength, likesCount, commentsCount.
  • Comments: reviewId, reviewUrl, pageName, facebookUrl, commentId, text, date, likesCount, authorName, authorId, authorProfilePic, isPageOwner.
  • Photos: reviewId, reviewUrl, pageName, facebookUrl, photoUrl, width, height.
  • Pages: input, facebookUrl, pageName, facebookId, pageUsername, pageRecommendPct, pageReviewCount, pageFollowers, pageFollowing, pageCheckIns, pageTalkingAbout, pageDescription, pageProfilePic, reviewsSaved, reviewsScanned, status, note, error, scrapedAt.

A run summary is also saved with reviewsSaved, reviewsCharged, pagesRead, pagesFailed and shortfallNotes.

Notes and limitations

  • Only public pages with a visible reviews tab can be read.
  • A page's status is ok, partial, error or skipped, and note explains why a page returned fewer reviews than asked.
  • Reviews are saved newest first.

Tips and advanced usage

  • Start with the default of 10 reviews per page to check the output before a large run.
  • Use onlyReviewsNewerThan with a schedule to collect only recent reviews each week.
  • Use recommendation set to not_recommended to focus on negative reviews.
  • Add several pages to one run to collect their reviews in a single dataset, using bulk page links.
  • Download Facebook reviews as a JSON dataset and load the review data into your own tool.
  • Use review monitoring on local business reviews and other social media reviews to spot negative reviews early.
  • Compare competitor reviews and run review analytics on Facebook business page reviews and Facebook page data.
  • Open the Facebook reviews dataset to scrape Facebook page reviews and recommendations in one place.
  • Treat it as a Facebook reviews tool that returns Facebook reviews JSON for any script.
  • It works as a Facebook reviews extractor and a Facebook recommendations scraper in one run.
  • Bulk exports pair well with a Facebook reviews API call and Facebook reviews Python scripts.

Integrations and API

Can I use Facebook Review Scraper as an API?

Yes. Use the Apify API or the apify-client packages for Node.js and Python. The API tab shows ready-to-copy calls.

How to scrape Facebook reviews with Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("data_minds/facebook-review-scraper").call(
run_input={"urls": ["https://www.facebook.com/KFC/reviews"], "maxReviews": 10}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["pageName"], item["isRecommended"], item["text"])

Can I integrate Facebook Review Scraper with other apps?

Yes. Connect it to Make, Zapier, Google Sheets or Slack, trigger webhooks when a run finishes, and schedule runs for recurring review monitoring.

Can I use Facebook Review Scraper with AI agents (MCP)?

Yes. Open the MCP tab to connect the Actor to Claude and other MCP clients.


Other review and Facebook scrapers

ActorWhat it does
๐Ÿ›’ Amazon Best Seller ScraperScrape Amazon Best Sellers, New Releases, Movers & Shakers, Most Wished For and Gift Ideas for any category on any marketplace.
๐Ÿ“‡ Facebook Page Contact Info ScraperScrape emails, phone numbers, websites, address, social links and follower counts from public Facebook pages.
โญ Trustpilot Reviews ScraperExtract customer reviews, ratings, company replies, and company data from any Trustpilot business page in bulk.

FAQ

Scraping publicly available data is generally legal, but you should respect personal data rules such as GDPR and Facebook's terms. Reviews can contain names and profile links, so keep a legitimate purpose. Read Is web scraping legal?. This is not legal advice.

How does Facebook Review Scraper work?

You paste Facebook page links, usernames or page ids and choose a limit and optional filters. The Actor reads each page's public reviews from newest to oldest, saves every review to the dataset as it goes, and fills separate tables for reviewers, comments, photos and page totals.

Why scrape Facebook reviews?

Reviews show how customers feel about a business. Teams scrape them for reputation monitoring, competitor review analysis, customer sentiment analysis and market research. Exporting them in bulk replaces slow copy and paste, and scheduled runs keep your data fresh without manual work every week.

How do I export Facebook page reviews to Excel?

Run the Actor with your page links, open the Output tab when the run finishes, and choose Excel from the export options. You can also download JSON, CSV, XML or HTML, or fetch the dataset through the Apify API for your own spreadsheet or dashboard.

Do I need a Facebook account or cookies?

No. The Actor does not ask for a Facebook login, cookies or an API key. You only need an Apify account and the page links, usernames or ids of the public pages whose reviews you want to collect and export to your own tools.

Why am I getting fewer reviews than expected?

Facebook may show only part of a page's reviews publicly, and your maxReviews, date, recommendation and text filters also reduce the count. Check the pages table: its note and reviewsScanned fields explain how many reviews were read and why a page stopped early.

Can I get only negative Facebook reviews?

Yes. Set recommendation to not_recommended to save only reviews where the reviewer does not recommend the page. Combine it with onlyReviewsNewerThan to track new negative reviews every week, and check ownerReplied to see which of those reviews the page owner has already answered.

Is Facebook Review Scraper not working?

First check that each page is public and has a reviews tab, and that links point to a page rather than a group or event. If a run still fails, open the Issues tab with your run link and we will look into it.


Support and feedback

Found a bug or want a feature? Open the Issues tab. For custom solutions or questions, contact hello.dataminds@gmail.com.

Built and maintained by the data_minds team on Apify.

This Actor is an independent tool and is not affiliated with or endorsed by Facebook or Meta. You are responsible for using the data in line with applicable laws and the platform's terms.