Google Maps Bad Review Lead Scraper & Cold Outreach Bot avatar

Google Maps Bad Review Lead Scraper & Cold Outreach Bot

Pricing

Pay per usage

Go to Apify Store
Google Maps Bad Review Lead Scraper & Cold Outreach Bot

Google Maps Bad Review Lead Scraper & Cold Outreach Bot

Scrapes Google Maps businesses with recent 1-3 star reviews (1-28 days), extracts contact emails & socials from websites, and dispatches automated reputation management pitch emails.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Reputation Management

Reputation Management

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

🌟 Google Maps Bad Review Lead Scraper & Automated Outreach Bot

Find high-intent B2B clients on Google Maps who recently received 1–3 star negative reviews, extract their verified decision-maker emails & social media, and automatically pitch reputation management & review removal services.


πŸ’‘ Why This Actor Converts Higher Than Standard Scrapers

Standard Google Maps scrapers give you thousands of random, cold businesses that have no immediate reason to buy your services.

This Actor is engineered specifically for Reputation Management Agencies, SEO Consultants, and B2B Cold Outreach Specialists:

  1. Trigger Event Detection: It scans reviews and isolates businesses that received a 1, 2, or 3-star review within the last 1 to 28 days.
  2. High Urgency: Business owners are furious and desperate to fix their rating right after getting a negative review. That is the single best time to pitch review removal or reputation repair.
  3. Verified Email Extraction: It crawls the business's official website (homepage, /contact, /kontakt, /impressum, /about) to extract direct emails (info@, contact@, owner@), phone numbers, and social links (Instagram, Facebook, LinkedIn).
  4. Automated Pitch Dispatch: Optionally sends personalized pitch emails referencing the exact reviews with direct review links, using your rotating Gmail / SMTP accounts with built-in 24-hour rate limits.

⚑ Key Features

  • πŸš€ Parallel Multi-Browser Engine: Runs across multiple dedicated browser windows and tabs simultaneously, processing queries 2x–4x faster.
  • 🎯 Precision Filtering: Filter by maximum review age (e.g. past 28 days), target stars (1–3β˜…), and minimum bad review threshold.
  • 🌐 Multilingual Review Parsing: Accurately interprets review post dates across English, German, French, Spanish, Italian, Portuguese, and Dutch (e.g., vor 3 Tagen, il y a 2 jours, hace 4 dΓ­as).
  • πŸ”— Direct Review Deep Links: Extracts direct shareable links to the exact negative reviews and embeds them into your leads dataset and pitch emails.
  • πŸ“¬ Automated SMTP Rotation & Rate-Limiting: Rotate through multiple sender accounts with 24-hour sliding usage counters to safeguard your domain reputation.
  • πŸ›‘οΈ Smart Anti-Deduplication: Remembers processed places in Apify Key-Value store and local leads.csv so you never re-scrape or re-email the same company twice.
  • πŸ§ͺ Dry-Run Mode: Test your queries, review extraction, and email templates safely in simulation mode before launching live campaigns.

πŸ“₯ Input Configuration

ParameterTypeDefaultDescription
searchQueriesarraySwiss QueriesList of Google Maps search queries (e.g. ["Roofers in Chicago", "Dentists in London"]).
maxPlacesPerQueryinteger200Max places to scrape per query (bot auto-scrolls to the end).
maxBrowsersinteger2Number of parallel browser windows to run simultaneously.
maxConcurrencyinteger2Number of concurrent tabs per browser window.
targetStarsarray[1, 2, 3]Star ratings considered hot leads (1β˜…, 2β˜…, 3β˜…).
maxReviewAgeDaysinteger28Maximum review age in days (e.g. 28 = last 4 weeks).
minBadReviewsinteger1Minimum count of bad reviews required to qualify.
enableEmailOutreachbooleantrueWhether to automatically send pitch emails.
dryRunbooleanfalseIf true, simulates sending without sending real emails.
smtpAccountsarrayConfiguredGmail or custom SMTP accounts for rotating outreach.
senderNamestring"Reputation Management"Sender name displayed in outreach emails.
emailSubjectstring"Negative Review Removal..."Outreach email subject template. Supports {{business_name}}.

πŸ“€ Output Dataset Format

Every qualified lead is saved to the default Apify Dataset in clean, structured JSON and can be exported with 1-click to Excel, CSV, JSON, or Google Sheets:

{
"businessName": "Garage Kummer",
"primaryEmail": "info@garage-kummer.ch",
"outreachStatus": "Sent",
"badReviewStars": "1β˜…, 2β˜…",
"badReviewCount": 2,
"latestBadReviewSnippet": "Extremely disappointing service. Car was not ready on time and unexpected charges were added...",
"website": "https://www.garage-kummer.ch",
"phone": "+41 33 222 11 00",
"rating": "3.8",
"totalReviews": "42",
"category": "Auto repair shop",
"address": "Gwattstrasse 12, 3604 Thun, Switzerland",
"searchQuery": "Thun Car repair shops",
"reviewLinks": "https://maps.app.goo.gl/example1 ; https://maps.app.goo.gl/example2",
"badReviewDirectLinks": [
"https://maps.app.goo.gl/example1",
"https://maps.app.goo.gl/example2"
],
"placeUrl": "https://www.google.com/maps/place/Garage+Kummer...",
"allEmails": "info@garage-kummer.ch, service@garage-kummer.ch",
"allPhones": "+41 33 222 11 00",
"facebook": "https://facebook.com/garagekummer",
"instagram": "https://instagram.com/garagekummer",
"linkedin": "",
"twitter": "",
"discoveredAt": "2026-10-02 21:05:00"
}

πŸ“Š Overview Table Columns in Apify Console

When viewing your dataset in the Apify Console, you'll see a formatted table with these columns:

  1. Business – Business name
  2. Email – Verified primary email address
  3. Outreach Status – Delivery status (Sent, Simulated, No Email Found)
  4. Negative Stars – Star ratings summary (e.g. 1β˜…, 2β˜…)
  5. Count – Number of recent negative reviews
  6. Review Text – Preview snippet of the customer's complaint
  7. Website – Direct clickable website URL
  8. Phone – Verified phone number
  9. Rating – Current overall rating
  10. Query – Keyword used to find the lead

πŸš€ How to Run Locally

You can run this Actor completely free on your local machine with zero Apify compute charges:

# 1. Navigate to the Actor directory
cd apify-maps-review-outreach
# 2. Run with visible browsers (2 parallel browsers, 2 tabs each)
python run_local.py --browsers 2 --tabs 2
# 3. Or run in silent background mode
python run_local.py --headless --browsers 2 --tabs 2
# 4. Or simply double click:
run_local.bat

Results are saved to leads.csv (opens in Excel) and storage/datasets/default/.


πŸ›‘οΈ Best Practices & Deliverability

  • Warmup & Limits: Default limit is 200 emails per day for Gmail. Start with 30–50/day if your email account is fresh.
  • Proxy: When running large scale jobs (>500 places), enable Apify Residential Proxies to prevent Google Maps rate-limiting.
  • Test First: Use dryRun: true on your first run to preview the leads and pitch emails.