Skip to main content

Best Google Maps Scrapers on Apify

Quick answer

For most jobs, run compass/crawler-google-places (also surfaced as apify/google-maps-scraper, same engine). Use compass/google-maps-extractor when you want a cheaper, leaner keyword pull without the detail-page add-ons, compass/google-maps-reviews-scraper for review bodies at $0.30/1k reviews, and lukaskrivka/google-maps-with-contact-details when emails are a hard requirement.

Browse Google Maps Actors · Create an Apify account

Google Maps is the default source for local B2B leads, review intelligence, and geo directories. The practical choices are four Compass-maintained Actors and one community combo Actor by Lukas Krivka. All use pay-per-event pricing with no platform compute on top, so unit economics are predictable once you know the event mix.

One trap: the apify/google-maps-scraper URL and compass/crawler-google-places point at the same Actor (shared stats: ~426k total users, 4.75 rating, identical pricing). Don't pick "both" in a comparison.

Comparison: top Google Maps Actors

ActorBest forFloor priceTypical dataNotes
crawler-google-places (aliased as apify/google-maps-scraper)Production Places crawling at any volume$2.10/1k places on Business; $5/1k on FreeName, address, phone, website, category, rating, totalScore, lat/lng, opening hours, price bracket, place_id, images, hotel prices, popular timesDetail-page add-on scrapePlaceDetailPage costs $0.002/place extra and is required for review counts and richer fields
Google Maps ExtractorFast keyword/URL lookups without reviews or images$2.10/1k places (Business); $5/1k (Free)Same core fields as the crawler, minus the reviews/images pipelinesCompass explicitly recommends the full crawler for most jobs; extractor is for narrow detail-free pulls
Google Maps Reviews ScraperReview text, per-service stars, reviewer metadata$0.30/1k reviewsOne row per review with text, rating, author, date, owner responses, detailed per-service ratings$29 Starter gets you ~58k reviews/month; supports relative date filters (1 month, 2 weeks)
Google Maps with contact detailsOutreach lists that require emails$2.10/1k places (Business)Maps fields plus emails, Facebook/LinkedIn/Instagram URLs, and contact names scraped from each business site4.64 rating (lower than Compass's 4.75) reflects the brittleness of website-level email discovery
Custom Playwright ActorCustom per-customer logic, internal APIs, non-standard exportsYour computeWhatever you implementYou own selector maintenance every time Google ships a Maps UI change

Plan-tier pricing for the crawler and extractor (from each Actor's Pricing tab):

PlanPlace scraped (per 1,000)Filter applied (per 1,000)
Free$5.00$1.00
Starter ($29/mo)$4.00$1.00
Scale$3.00$0.75
Business$2.10$0.55

A Free account's $5 monthly credit will scrape roughly 1,000 places before hitting add-on costs. Before committing a quarter's budget, run a 5-result test and download the sample dataset so you can diff fields against your warehouse schema.

What data each Actor extracts

NeedUse
Core listing grid (name, address, phone, site, rating, lat/lng, hours)crawler-google-places or apify/google-maps-scraper (same Actor)
Reviews count, images, popular times, hotel pricescrawler-google-places with scrapePlaceDetailPage: true (+$0.002/place)
Lean keyword pulls without add-onsGoogle Maps Extractor
Every review body (NLP, reputation, support QA)Google Maps Reviews Scraper
Emails and social URLs not on the Maps cardGoogle Maps with contact details
Bespoke workflowCustom Actor built on the Apify SDK

When to use which

crawler-google-places (a.k.a. apify/google-maps-scraper)

The default. Compass ships changes here frequently and stats are stable: 4.75 rating across ~426k users, with consistently high run success. The engine handles keyword × location matrices, direct place URLs, and category enumeration. One gotcha: reviewsCount and richer fields require scrapePlaceDetailPage: true, which bills $0.002 per place on top of the $2.10–$5/1k base. For a 50k-row directory refresh, that add-on is roughly $100 extra, which is not trivial.

Google caps search results per query around 120–300 places regardless of maxCrawledPlaces; split by sub-geography (ZIP, district, grid tile) to exceed that ceiling.

Google Maps Extractor

Same Compass team, same $2.10/1k floor, but stripped of the reviews/images pipeline. Compass's own README tells you to prefer the full crawler for most jobs. The extractor is worth picking only for high-cadence keyword pulls where you'll never enable add-ons.

Google Maps Reviews Scraper

Separate Actor because review extraction has different unit economics: $0.30/1k reviews, not places. That is ~58k reviews on a $29 Starter plan. Input accepts place_id, Maps URLs, or keyword+location pairs; the date filter supports both absolute ISO dates and relative phrasing (2 weeks, 6 months). Outputs include owner responses and per-service star breakdowns where Google exposes them, which the place-detail add-on does not give you cleanly.

Google Maps with contact details

Lukas Krivka's combo runs a Maps crawl and then a second-pass website crawl per listing to pull emails, social URLs, and contact names. The 4.64 rating (vs 4.75 for the Compass crawler) is honest signal that website-level email discovery is noisy: expect a 40–70% email hit rate depending on vertical, and dedupe aggressively. If you're already paying for Hunter, Apollo, or Clearbit at scale, chaining those APIs onto a plain Compass run usually produces cleaner data.

Custom Playwright Actor

Worth it only when you need internal APIs, proprietary scoring, or fields no Store Actor exposes. Budget ongoing maintenance: Google ships Maps UI changes roughly quarterly and they break selectors.

Example lead-gen chain

  1. Run crawler-google-places for "Dentists in Manchester" with maxCrawledPlacesPerSearch: 500 and the area split into 4–6 ZIP tiles to dodge Google's per-query cap.
  2. Feed website URLs from the output into Google Maps with contact details (or pipe into Hunter/Apollo) to enrich with emails and LinkedIn URLs.
  3. Shortlist the top 200 by rating × reviewsCount, then pass their place_id values to Google Maps Reviews Scraper with a 6 months date filter for fresh reputation signal.
tip

Sort the Apify Store Google Maps category by users or last modified before committing to a vendor. Anything with a rating below 4.3 or no updates in 6 months is a red flag.

Apify Affiliate Banner 728x90Apify Affiliate Banner 728x90Apify Affiliate Banner 300x50Apify Affiliate Banner 300x50
Frequently Asked Questions

Start with compass/crawler-google-places (the apify/google-maps-scraper URL is an alias of the same Actor). It covers the vast majority of lead-gen and directory jobs at $2.10–$5 per 1,000 places. Add the Reviews Scraper ($0.30/1k reviews) or lukaskrivka/google-maps-with-contact-details only if your spec requires review bodies or emails.

They are the same Actor under two URLs: identical user counts (~426k), identical 4.75 rating, identical pricing tiers, identical input schema. The apify-namespaced URL exists for discoverability; Compass maintains the code.

The Compass crawler and extractor are pay-per-event at $5/1k places on Free, $4 on Starter, $3 on Scale, and $2.10 on Business. Enabling scrapePlaceDetailPage adds $0.002/place. The Reviews Scraper is $0.30/1k reviews, about 58,000 reviews on the $29 Starter plan. There is no separate Apify platform compute charge for these Actors.

Legality depends on jurisdiction, data type, and Google’s terms. Use public business data responsibly and read our scraping legality guide; this is not legal advice.

Yes. Use Apify Schedules on the Actor and optionally webhooks or integrations to push results to Sheets, S3, or a warehouse after each successful run.

When no Store Actor matches your required fields or workflow, or when you must embed proprietary logic. Budget ongoing maintenance because Maps UI changes break selectors.

Common mistakes and fixes

Results cap out far below expectations.

Maps often returns bounded lists per query. Split geography, add queries, and read the Actor docs for max-results behavior.

Two Actors export different columns.

Compare each Actor’s README and sample dataset; pick one primary extractor for production schema, then enrich in a second step.

Emails missing from the export.

Base Maps rows usually need a follow-up email or contact Actor using website URLs; see the email extraction blog guide.

Apify Affiliate Banner 728x90Apify Affiliate Banner 728x90Apify Affiliate Banner 300x50Apify Affiliate Banner 300x50