Facebook Reviews Scraper avatar

Facebook Reviews Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Facebook Reviews Scraper

Facebook Reviews Scraper

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

2 days ago

Last modified

Share

A powerful and efficient Apify Actor that scrapes Facebook page reviews at scale. Extract comprehensive review data including user information, ratings, comments, likes, and engagement metrics from any public Facebook page.

Why Choose Us?

  • πŸš€ High Performance: Asynchronous scraping with concurrent processing for maximum speed
  • πŸ›‘οΈ Smart Proxy Management: Automatic fallback system (no proxy β†’ datacenter β†’ residential) with intelligent retry logic
  • πŸ“Š Comprehensive Data: Extract complete review details including user profiles, engagement metrics, and timestamps
  • πŸ”„ Reliable Pagination: Automatic cursor-based pagination to collect all available reviews
  • ⚑ Production Ready: Built with error handling, retry logic, and detailed logging for enterprise use
  • πŸ“¦ Bulk Processing: Process multiple Facebook pages simultaneously with configurable concurrency

Key Features

✨ Core Capabilities

  • Bulk Input Support: Process multiple Facebook pages, usernames, or keywords in a single run
  • Automatic URL Normalization: Automatically converts usernames and keywords to proper Facebook review URLs
  • Smart Pagination: Uses Facebook's GraphQL cursor system to fetch all available reviews
  • Data Deduplication: Automatically filters duplicate reviews based on unique IDs
  • Flexible Sorting: Sort reviews by newest, oldest, or most relevant (by engagement)
  • Configurable Limits: Set maximum number of reviews to scrape per page (default: 500)

πŸ”’ Proxy & Anti-Blocking

  • Intelligent Fallback System:
    • Stage 1: Starts with no proxy (direct connection)
    • Stage 2: Falls back to datacenter proxy if blocked
    • Stage 3: Falls back to residential proxy with 3 retries
    • Sticky Residential: Once residential proxy is used, it sticks for all remaining requests
  • Detailed Proxy Logging: Clear visibility into proxy transitions and events
  • Automatic Retry Logic: Handles empty batches and network errors with configurable retries

πŸ“ˆ Data Extraction

Extracts the following fields for each review:

  • Review Metadata: Unique ID, Facebook URL, post URL, creation date
  • User Information: User ID, name, profile URL, profile picture
  • Review Content: Full review text, recommendation status (recommended/not recommended)
  • Engagement Metrics: Likes count, comments count
  • Page Information: Page name, Facebook page URL
  • Technical IDs: Facebook ID, post Facebook ID

Input

Input Schema

{
"inputs": [
"https://www.facebook.com/mrbeast",
"https://www.facebook.com/tesla",
"nike"
],
"sortOrder": "newest",
"maxItems": 100,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Input Fields

FieldTypeRequiredDescription
inputsarrayβœ… YesList of Facebook page URLs, usernames, or keywords. Supports multiple formats:
β€’ Full URLs: https://www.facebook.com/mrbeast
β€’ Usernames: mrbeast
β€’ Keywords: nike (requires resolvable page context)
sortOrderstring❌ NoSort reviews by:
β€’ newest (default)
β€’ oldest
β€’ most_relevant (likes + comments)
maxItemsinteger❌ NoMaximum number of reviews to scrape per page (default: 100).
proxyConfigurationobject❌ NoProxy settings. Default: {"useApifyProxy": false}
β€’ If false: Starts with no proxy, auto-fallback on blocks
β€’ If true: Uses Apify proxy groups as specified

Input Examples

Single Page:

{
"inputs": ["https://www.facebook.com/mrbeast"]
}

Multiple Pages:

{
"inputs": [
"https://www.facebook.com/mrbeast",
"https://www.facebook.com/tesla",
"nike"
]
}

With Proxy:

{
"inputs": ["https://www.facebook.com/mrbeast"],
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["DATACENTER"]
}
}

Output

Output Format

The actor outputs data in two formats:

  1. Dataset: Individual review records (one per review)
  2. Key-Value Store: Aggregated JSON grouped by page name (key: OUTPUT)

Dataset Output (Individual Reviews)

Each review is stored as a separate record in the dataset:

{
"facebookUrl": "https://www.facebook.com/mrbeast",
"id": "UzpfSTYxNTg0MzE3MjA0OTY4OjEyMjEwOTkzMzE4OTE0MzkwNjoxMjIxMDk5MzMxODkxNDM5MDY=",
"user": {
"id": "pfbid022DhB36PVT9anEH47J7WQu78JYMNhaEGeHHKAhyPXJVNjusrH3TCierbYBcaA7NTBl",
"name": "Helen Head",
"profileUrl": "https://www.facebook.com/people/Helen-Head/pfbid022DhB36PVT9anEH47J7WQu78JYMNhaEGeHHKAhyPXJVNjusrH3TCierbYBcaA7NTBl/",
"profilePic": null
},
"date": "2025-12-23T18:12:27.000Z",
"url": "https://www.facebook.com/permalink.php?story_fbid=pfbid036zKdeTsZRHzcZspm8CNjzv3jSuSQFmbjNc6h4FPwLvsBmjYU3ibcHqX4HSukzQakl&id=61584317204968",
"isRecommended": true,
"text": "I'm at the homeless shelter in Alexandria Virginia Prince William county building and there's a lot of us that are homeless that should have a Christmas maybe someone should help us all out show people love...",
"likesCount": 1,
"commentsCount": 0,
"facebookId": "ZmVlZGJhY2s6MTIyMTA5OTMzMTg5MTQzOTA2",
"postFacebookId": "122109933189143906",
"pageName": "MrBeast"
}

Key-Value Store Output (Aggregated)

Aggregated output grouped by page name:

{
"MrBeast": [
{
"facebookUrl": "https://www.facebook.com/mrbeast",
"id": "UzpfSTYxNTg0MzE3MjA0OTY4OjEyMjEwOTkzMzE4OTE0MzkwNjoxMjIxMDk5MzMxODkxNDM5MDY=",
"user": { ... },
"date": "2025-12-23T18:12:27.000Z",
...
},
...
],
"Tesla": [ ... ]
}

Output Fields

FieldTypeDescription
facebookUrlstringThe Facebook page URL where the review was posted
idstringUnique review identifier (Base64 encoded)
userobjectReviewer information:
β€’ id: User's Facebook ID
β€’ name: User's display name
β€’ profileUrl: Link to user's profile
β€’ profilePic: Profile picture URL (may be null)
datestringReview creation date in ISO 8601 format (UTC)
urlstringDirect link to the review post
isRecommendedbooleanWhether the reviewer recommended the page (true/false)
textstringFull text content of the review
likesCountintegerNumber of likes on the review
commentsCountintegerNumber of comments on the review
facebookIdstringFacebook feedback ID
postFacebookIdstringFacebook post ID
pageNamestringName of the Facebook page being reviewed

πŸš€ How to Use the Actor (via Apify Console)

  1. Log in to Apify Console

  2. Find the Actor

    • Navigate to the Actors section
    • Search for "Facebook Reviews Scraper" or find it in your actor list
  3. Configure Input

    • Click on the actor to open it
    • In the Input tab, enter your configuration:
      • Add Facebook page URLs or usernames in the inputs field
      • Optionally configure proxy settings
  4. Run the Actor

    • Click the Start button
    • Monitor progress in real-time via the Log tab
  5. Monitor Progress

    • Watch detailed logs showing:
      • Proxy stage transitions
      • Pages being processed
      • Reviews being extracted
      • Batch progress and pagination
  6. Access Results

    • Once complete, go to the Dataset tab to view individual reviews
    • Go to Key-Value Store and find the OUTPUT key for aggregated results
    • Export data as JSON, CSV, or Excel
  7. Export Results

    • Click Export in the Dataset or Key-Value Store
    • Choose your preferred format (JSON, CSV, Excel, etc.)
    • Download or integrate via API

Best Use Cases

πŸ“Š Business Intelligence & Market Research

  • Competitor Analysis: Monitor reviews for competitor pages to understand customer sentiment
  • Brand Monitoring: Track reviews for your own brand pages to measure customer satisfaction
  • Market Research: Analyze reviews across multiple pages in your industry

πŸ’Ό Customer Service & Reputation Management

  • Review Aggregation: Collect all reviews from multiple platforms for centralized analysis
  • Sentiment Analysis: Extract review text for sentiment analysis and customer feedback processing
  • Response Management: Identify reviews that need responses based on engagement metrics

πŸ“ˆ Data Analytics & Reporting

  • Trend Analysis: Track review patterns over time by analyzing dates and engagement
  • Engagement Metrics: Measure likes and comments to identify most impactful reviews
  • User Behavior: Analyze reviewer profiles and patterns

πŸ” Content & Research

  • Academic Research: Collect review data for social media research studies
  • Content Creation: Gather customer testimonials and feedback for marketing materials
  • Product Development: Extract user feedback to inform product improvements

Frequently Asked Questions

❓ How many reviews can I scrape per page?

The default limit is 500 reviews per page, but you can adjust this in the code. The actor will automatically paginate through all available reviews up to your specified limit.

❓ Can I scrape private Facebook pages?

No. This actor only scrapes publicly available reviews from Facebook pages. Private pages or pages with restricted access cannot be scraped.

❓ What happens if Facebook blocks my requests?

The actor has an intelligent 3-stage proxy fallback system:

  1. First attempts with no proxy (direct connection)
  2. If blocked, automatically switches to datacenter proxy
  3. If still blocked, switches to residential proxy with 3 retries
  4. Once residential proxy is used, it sticks for all remaining requests

All proxy transitions are logged clearly for transparency.

❓ How long does it take to scrape reviews?

Scraping time depends on:

  • Number of pages being processed
  • Number of reviews per page
  • Network speed and proxy latency
  • Facebook's response times

Typically, 100-200 reviews per minute can be processed. The actor processes multiple pages concurrently for faster results.

❓ Can I scrape reviews from multiple pages at once?

Yes! The actor supports bulk processing. Simply add multiple URLs, usernames, or keywords to the inputs array. The actor will process them concurrently (up to 3 pages simultaneously by default).

❓ What data format is the output?

Output is available in two formats:

  • Dataset: Individual review records (one JSON object per review)
  • Key-Value Store: Aggregated JSON grouped by page name (key: OUTPUT)

Both formats can be exported as JSON, CSV, or Excel.

❓ Do I need to configure proxies?

No, proxies are optional. By default, the actor starts with no proxy. If Facebook blocks or rejects requests, it automatically falls back to proxies. You can also manually configure proxy settings if needed.

❓ Can I sort the reviews?

Yes! The actor supports sorting by:

  • newest: Most recent reviews first (default)
  • oldest: Oldest reviews first
  • most_relevant: Highest engagement (likes + comments) first

❓ What if a page has no reviews?

If a page has no reviews or the reviews section is not accessible, the actor will:

  • Log a warning message
  • Skip that page
  • Continue processing other pages
  • Return empty results for that page

❓ Is the data real-time?

The actor scrapes reviews as they appear on Facebook at the time of execution. It does not provide real-time updates - you need to run the actor periodically to get the latest reviews.

Support and Feedback

πŸ’¬ For custom solutions or feature requests, contact us at: dev.scraperengine@gmail.com

We're always looking to improve! If you encounter any issues or have suggestions, please reach out.

Cautions

⚠️ Important Legal and Ethical Considerations:

  • Public Data Only: This actor collects data only from publicly available Facebook pages. No private accounts or password-protected content is accessed.

  • Terms of Service: Ensure your use of this actor complies with:

    • Facebook's Terms of Service
    • Apify's Terms of Service
    • Applicable data protection laws (GDPR, CCPA, etc.)
  • Rate Limiting: The actor includes built-in delays and rate limiting to be respectful to Facebook's servers. Do not modify these settings to avoid potential blocks.

  • Data Usage: You are responsible for:

    • Ensuring legal compliance with data collection and usage
    • Respecting user privacy
    • Complying with spam laws and data protection regulations
    • Obtaining necessary permissions for data processing
  • No Guarantees: Facebook may change their structure or implement anti-scraping measures at any time. The actor is provided "as-is" without warranties.

  • Ethical Use: Use this tool responsibly and ethically. Do not use scraped data for:

    • Spam or unsolicited communications
    • Harassment or stalking
    • Violation of user privacy
    • Any illegal activities

Built with ❀️ for the Apify community