Google Maps Reviews Scraper — Google Reviews, No API Key avatar

Google Maps Reviews Scraper — Google Reviews, No API Key

Pricing

from $5.00 / 1,000 review extracteds

Go to Apify Store
Google Maps Reviews Scraper — Google Reviews, No API Key

Google Maps Reviews Scraper — Google Reviews, No API Key

Google Maps reviews scraper and Google reviews scraper: reviewer, star rating, text, date, owner replies, likes. No API key. Full review feed up to your limit when Google serves it; otherwise the preview reviews, flagged per row. Paste a place URL, name or search.

Pricing

from $5.00 / 1,000 review extracteds

Rating

0.0

(0)

Developer

NexGenData

NexGenData

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

16 days ago

Last modified

Share

⭐ Google Maps Reviews Scraper — Google Reviews, No API Key

A Google Maps reviews scraper (also searched as a Google reviews scraper) — reviewer, rating, text, date and owner replies, with no Google API key.

✅ No Google API key required. Extract Google Maps reviews for any place — the full review feed up to your maxReviews limit when Google serves it, otherwise the preview reviews (see "Coverage" below) — 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.

📊 Sample Output

1 real rows delivered by Google Maps Reviews Scraper — Local Review Monitoring API — run V1lZUkNXh7f8pzXX8 on build 0.0.15

_typemessagetargetsas_of_timestamp
no_resultsNo reviews were extracted for the supplied targets. Google may have s…['Franklin Barbecue Austin TX']2026-09-25T00:08:45Z

Real rows from run V1lZUkNXh7f8pzXX8 on build 0.0.15 (2026-09-25), unedited apart from masked emails/phones and shortened long text; fields the source does not publish are empty.

🔧 Input reference

FieldTypeDefaultWhat it does
placeUrlsarray[]Google Maps place URLs (https://www.google.com/maps/place/...). One record is returned per review for each place. You can also paste a Maps search URL. NO Google API key required.…
searchQueriesarray["Franklin Barbecue Austin TX"]Business names or search queries — e.g. 'Franklin Barbecue Austin TX', 'Eiffel Tower Paris'. The scraper opens the top matching place and extracts its reviews. Use this when you d…
maxReviewsinteger100Maximum number of reviews to extract per place. Reviews are sorted by newest first and the feed is scrolled to lazy-load up to this many. 30 for a quick scan, up to a few thousand…
max_reviewsinteger100Alias of maxReviews.
placeNamesarray[]Alias of Search Queries. List of business/place names to look up and scrape reviews for.
queriesarray[]Alias of Search Queries for users coming from other Apify scrapers.
urlsarray[]Alias of Place URLs. Accepts Google Maps place URLs.
startUrlsarray[]Alias of Place URLs. Accepts plain strings or {url: ...} dict items.
proxyConfigurationobject{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}Proxy used to scrape Google Maps. Apify RESIDENTIAL proxy is strongly recommended (and used by default) — Google Maps is anti-bot defended.

🧾 JSON sample record

One real record from run V1lZUkNXh7f8pzXX8 (emails/phones masked, long text shortened):

{
"_type": "no_results",
"message": "No reviews were extracted for the supplied targets. Google may have served an anti-bot interstitial, or the place has no reviews.",
"targets": [
"Franklin Barbecue Austin TX"
],
"as_of_timestamp": "2026-09-25T00:08:45Z"
}

💰 Pricing

EventPrice (USD)When it is charged
Actor Start (apify-actor-start)$0.02Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).
Review extracted (result)$0.005Charged per Google Maps review extracted.

Pay-per-event: you pay only for what the run delivers. A run that delivers nothing bills no result events (only the actor-start event, when the actor defines one). Example: a run that delivers 100 results costs 100 × $0.005 = $0.50 plus the start fee.

More from the NexGenData Leads, contacts & enrichment family:

30 more in this family on the NexGenData Store page.

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 pages through the full review feed up to your maxReviews limit (5,000 per place) when Google serves the full reviews pane to the session, including the business owner's responses where present — ideal for sentiment analysis, competitor monitoring, and reputation management.

Coverage — read this before you rely on review counts

Since late 2025 Google Maps serves a signed-out "limited view" to many automated sessions: the place panel has no Reviews tab and only the 3–6 preview reviews from the Overview pane are rendered. This actor retries each place with fresh browser and proxy sessions to get the full reviews pane; when it gets it, you receive the full feed up to maxReviews. When every attempt gets the limited view, you receive only the preview reviews and:

  • every row carries coverage: "preview" (full-feed rows carry coverage: "full"),
  • the run status message says "Preview only (first few reviews) for N place(s)".

You are charged only for the review rows delivered. Re-running the same place later often gets a different session and the full feed. Signed-in scraping is not offered.

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 URLs — placeUrls: ["https://www.google.com/maps/place/Franklin+Barbecue/..."]
  2. Place names — searchQueries: ["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).