Google Maps Recent Low-Reviews Filter avatar

Google Maps Recent Low-Reviews Filter

Pricing

Pay per usage

Go to Apify Store
Google Maps Recent Low-Reviews Filter

Google Maps Recent Low-Reviews Filter

Upload a JSON dataset of Google Maps businesses. This actor scrapes their latest reviews, identifies businesses with 1-3 star reviews in the last 28 days (configurable), and outputs only the affected businesses with their reviews.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

InTourist Pakistan

InTourist Pakistan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Google Maps Recent Low-Reviews Filter (Apify Actor)

An Apify Actor designed to process large Google Maps business datasets, inspect their latest reviews on Google Maps, and filter out only the businesses that received 1 to 3 star reviews within the last 28 days (both timeframe and star ratings are fully customizable).

Businesses with matching negative reviews are saved to the dataset along with the extracted reviews. Businesses with no recent negative reviews are automatically skipped.


🚀 Features

  • Direct File Upload: Upload your JSON dataset file directly via the Apify UI (editor: "fileupload"), or provide a file URL / local path.
  • Smart Early-Stop: Sorts Google Maps reviews by "Newest" automatically. The moment reviews older than your cutoff (e.g., 28 days) appear, scraping for that business immediately stops, saving hours of unnecessary scraping.
  • Flexible Filter Controls:
    • maxDays: Set review age threshold (default: 28 days).
    • minStars: Lowest star rating to target (default: 1).
    • maxStars: Highest star rating to target (default: 3).
    • maxBusinesses: Limit processing (e.g. 10 or 50 for quick testing, 0 for all).
    • maxReviewsPerBusiness: Safety cap per business (default: 30).
  • Rich Output: Retains all original business attributes (name, phone, website, address, category, etc.) and attaches an array of matchedReviews with exact text, rating, days ago, reviewer name, and owner response.

📥 Input Example

When running on the Apify platform, you can configure the actor via UI or pass JSON input:

{
"jsonFile": "https://api.apify.com/v2/key-value-stores/.../records/dataset.json",
"maxDays": 28,
"minStars": 1,
"maxStars": 3,
"maxBusinesses": 0,
"maxReviewsPerBusiness": 30
}

📤 Output Dataset Example

[
{
"name": "Dr méd. Paolo Fornaciari",
"rating": 4.9,
"phone": "+41 22 718 03 80",
"address": "Av. de Champel 24, 1206 Genève, Switzerland",
"link": "https://maps.app.goo.gl/HBfTGxCzzsXyqTwW8",
"matchedReviewsCount": 1,
"matchedReviews": [
{
"reviewerName": "S",
"rating": 1,
"dateText": "Edited 3 weeks ago",
"daysAgo": 21,
"reviewDateEstimated": "2026-08-14T13:40:00.000Z",
"text": "I really don't recommend it 🤨 …",
"ownerResponse": null
}
],
"filteredAt": "2026-09-04T13:42:00.000Z"
}
]

🛠️ Deploying to Apify

  1. Log in to Apify CLI:
    $apify login
  2. Push Actor: From this directory, run:
    $apify push
  3. Once pushed, you can run the Actor in your Apify Console, upload your JSON file in the input tab, and click Start!

💻 Local Execution & Testing

  1. Install dependencies:
    npm install
    npx playwright install chromium
  2. Run local test:
    $npm run test:local
  3. Run full actor locally:
    $npm start