Review sites are a free focus group: what customers love, what they hate, and which competitor is bleeding customers. Here's how to pull reviews + business data at scale.
🤖 Try it live — free Poe bots that generate the exact pipeline for your use case: Lead List Generator · Job Postings Miner · Amazon Product Miner · SERP Rank Tracker · Social Lead Finder
The stack
- Apify — actors for Google Maps reviews, Yelp, TripAdvisor. Free monthly credits.
- Python — reviews → sentiment, CSV, alerts.
Step 1 — Token
Create an Apify account → Settings → Integrations → API token.
Step 2 — Competitor's reviews, all of them
curl -X POST "https://api.apify.com/v2/acts/compass~google-maps-reviews-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "startUrls": [{"url": "https://www.google.com/maps/place/Competitor+Name"}], "maxReviews": 500, "reviewsSort": "newest" }' Fields: text, stars, publishedAtDate, responseFromOwnerText, reviewerName.
Step 3 — Pain extraction
from apify_client import ApifyClient client = ApifyClient("APIFY_TOKEN") run = client.actor("compass/google-maps-reviews-scraper").call(run_input={ "startUrls": [{"url": "https://www.google.com/maps/place/Competitor"}], "maxReviews": 500, }) complaints = {} for r in client.dataset(run["defaultDatasetId"]).iterate_items(): if (r.get("stars") or 5) <= 2: for w in ["wait", "price", "service", "cold", "rude", "booking"]: if w in (r.get("text") or "").lower(): complaints[w] = complaints.get(w, 0) + 1 print(sorted(complaints.items(), key=lambda x: -x[1])) The plays
- Restaurants/agencies — competitor's 1-2★ patterns = your marketing angles ("no 40-min waits").
- Reputation alert — daily run on YOUR listing → catch bad reviews while they're fresh, respond fast.
- Franchise scouting — ratings + review velocity per location = which market is underserved.
Yelp (apify/yelp-scraper) and TripAdvisor (maxcopell/tripadvisor) actors work the same way — swap the URL.
More: awesome-web-scraping. Skills: npx skills add g4dr/apify-skills (repo).
Whose reviews are you reading first?