Google Maps Reviews Scraper — Ratings, Text & Replies (No Key) avatar

Google Maps Reviews Scraper — Ratings, Text & Replies (No Key)

Pricing

from $5.00 / 1,000 review extracteds

Go to Apify Store
Google Maps Reviews Scraper — Ratings, Text & Replies (No Key)

Google Maps Reviews Scraper — Ratings, Text & Replies (No Key)

Pricing

from $5.00 / 1,000 review extracteds

Rating

0.0

(0)

Developer

NexGenData

NexGenData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

⭐ Google Maps Reviews Scraper — Ratings, Review Text & Owner Replies (No API Key)

No Google API key required. Extract every Google Maps review for any place — reviewer name, star rating, review text, date, owner replies, and likes. Just paste a place URL, a business name, or a search query and run.

Pull individual customer reviews straight from Google Maps for any business, landmark, hotel, restaurant, or service — at scale, with no Places API billing, no quotas, and no SDK fees. A drop-in alternative to Google Places API reviews, Outscraper Reviews, SerpApi Google Maps Reviews, and Bright Data — built for reputation monitoring, review analytics, and local-SEO research.

Why This Beats the Places API & Paid Review APIs

FeatureNexGenData Google Maps ReviewsGoogle Places APIOutscraper ReviewsSerpApi Maps ReviewsBright Data
Reviews per placeUp to thousands (scrolled)Only 5 most-relevantYes (plan-gated)Yes (plan-gated)Yes (enterprise)
Owner repliesYes (text + date)NoPartialPartialPartial
Review text + authorYesYesYesYesYes
Star rating per reviewYesYesYesYesYes
Review dateRelative + absoluteLimitedYesYesYes
CostPay-per-event, no plan$17–$32 / 1,000 callsPer-result, plan-gated$75–$2,500 / moEnterprise contract
AuthApify tokenGoogle Cloud key + billingAPI key + planAPI key + planEnterprise SSO
Time-to-first-row< 90 secondsBilling + project setupSignup + planSignup + planSales cycle

The Places API caps you at 5 reviews per place and never returns owner replies. This actor scrolls the full review feed and pulls every review plus the business owner's responses — ideal for sentiment analysis, competitor monitoring, and reputation management.

What You Get

One record per review, with:

  • place_name, place_id, place_address — which place the review belongs to
  • reviewer_name — the review author
  • reviewer_review_count — how many reviews the author has written (credibility signal)
  • rating — 1–5 stars for this review
  • review_text — the full review (auto-expanded past "More")
  • review_date — relative date as shown ("2 weeks ago"), plus absolute where available
  • owner_response + owner_response_date — the business's public reply, if any
  • likes_count — helpful votes on the review
  • review_url — link back to the place
  • data_source, as_of_timestamp — provenance for every row

Output streams to a clean Apify dataset — export to CSV, JSON, Excel, or hit the API directly.

Use Cases

  • Reputation monitoring — track new reviews and owner replies for your locations over time.
  • Competitor analysis — pull a rival's full review history and mine it for complaints and praise.
  • Sentiment & NLP — feed thousands of real review texts into your sentiment or topic models.
  • Local SEO audits — measure review velocity, rating distribution, and response rate.
  • Customer research — surface recurring themes in what real customers say.

How To Use

Provide any one of:

  1. Google Maps place URLsplaceUrls: ["https://www.google.com/maps/place/Franklin+Barbecue/..."]
  2. Place namessearchQueries: ["Franklin Barbecue Austin TX"] (opens the top match)
  3. A search query — same field; the top matching place is scraped.

Set maxReviews (default 100) to control depth. The scraper sorts reviews newest-first and scrolls the feed to lazy-load up to that many.

3 Sample Inputs

A — By place name (recommended for a quick start):

{ "searchQueries": ["Franklin Barbecue Austin TX"], "maxReviews": 30 }

B — By direct place URL:

{ "placeUrls": ["https://www.google.com/maps/place/Franklin+Barbecue"], "maxReviews": 200 }

C — Multiple places at once:

{ "searchQueries": ["Blue Bottle Coffee SF", "Philz Coffee SF"], "maxReviews": 100 }

📊 Sample Output

{
"place_name": "Franklin Barbecue",
"place_id": "0x8644b59e1c1d0a8f:0x...",
"place_address": "900 E 11th St, Austin, TX 78702",
"reviewer_name": "Jordan M.",
"reviewer_review_count": 87,
"rating": 5,
"review_text": "Worth every minute of the line. The brisket melts in your mouth...",
"review_date": "2 weeks ago",
"owner_response": "Thanks so much for the kind words — see you next time!",
"owner_response_date": "a week ago",
"likes_count": 12,
"review_url": "https://www.google.com/maps/place/Franklin+Barbecue/...",
"data_source": "google_maps_scrape",
"as_of_timestamp": "2026-06-13T00:00:00Z"
}

How It Works

The actor launches a headless Chromium browser (Playwright) through Apify's RESIDENTIAL proxy network, handles Google's consent interstitial, opens the place's Reviews panel, sorts by Newest, and scrolls the review feed to lazy-load reviews up to your maxReviews. Each review card is parsed for the author, rating, text, date, owner reply, and likes. No Google API key is ever required.

🏢 About NexGenData

NexGenData builds reliable, no-API-key public-data scrapers for lead generation, market research, and competitive intelligence. Every actor returns clean, structured data you can drop straight into your CRM, warehouse, or model. Explore the full fleet: apify.com/nexgendata.

This actor collects publicly available review data displayed on Google Maps. Use it in accordance with applicable laws and Google's Terms of Service. Do not use scraped personal data in ways that violate privacy regulations (GDPR/CCPA). You are responsible for your use of the output.

❓ FAQ

Do I need a Google API key? No. The scraper reads Google Maps directly.

How many reviews can I get? Up to thousands per place — set maxReviews. Google lazy-loads reviews as you scroll; the actor scrolls until it reaches your limit or runs out.

Does it get owner replies? Yes — owner_response and owner_response_date when the business has replied.

Can I pass a business name instead of a URL? Yes — use searchQueries. The top matching place is scraped.

What sort order? Newest first, so you always capture the latest reviews.

Which proxy should I use? Apify RESIDENTIAL (default). Google Maps is anti-bot defended; residential IPs are strongly recommended.

What does it cost? Pay-per-event — you're charged per review extracted. No subscription.

🛠️ Troubleshooting

  • No reviews returned — the place may genuinely have none, or Google served an anti-bot page. Re-run (each retry uses a fresh residential IP).
  • Fewer reviews than expected — raise maxReviews; some places simply have fewer reviews than your limit.
  • Place not found by name — pass a more specific query (add the city/state) or use the direct place URL.
  • Slow runs — residential proxy + a real browser is slower than an API; this is the trade-off for needing no API key.
  • Run memory — keep memory at 2048 MB or higher (Playwright needs it).