Google Maps Scraper avatar

Google Maps Scraper

Pricing

from $1.99 / 1,000 search results

Go to Apify Store
Google Maps Scraper

Google Maps Scraper

Extracts public place and business results from Google Maps: names, categories, addresses, coordinates, ratings, reviews, hours, phones, websites, and photos.

Pricing

from $1.99 / 1,000 search results

Rating

0.0

(0)

Developer

Search API

Search API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

Google Maps Places Search Scraper

Collect public Google Maps place results from one user-friendly query or a batch of search terms. Version 2 extracts list results and, by default, enriches each selected place concurrently from its public detail page.

Modes and input

  • Single: query, maxItems, gl, and hl.
  • Batch: searchTerms (or legacy searchStringsArray), optional locationQuery, and maxPlaces (or maxCrawledPlacesPerSearch).
  • Filters: minimumRating/placeMinimumStars and closedPlacesFilter.
  • Detail controls: includeDetails, requireDetails, and maxDetailConcurrency.
  • Runtime controls: maxRequestRetries, navigationTimeoutSecs, fingerprint profile, and proxyConfiguration.

The Actor retains backward-compatible batch aliases. It rejects GOOGLE_SERP because that product supports HTTP Google Search results, not the interactive Google Maps page. Direct mode is the verified default; an authorized Residential or custom proxy can be used when required.

Output

Each record has a stable Google place identity and requested search context. Source-backed fields can include name, category/categories, full address and address parts, phone, website, coordinates, rating, review count, hours/current status, open state, price level, place ID, CID, plus code, image URLs, place/search URLs, source, extraction method, and ISO scrape time. detailFetched and detailStatus state whether that row was enriched.

Unavailable optional values are omitted rather than emitted as null/empty placeholders. Writes are atomic across a batch, duplicate identities are removed, listeners/pages are closed, and valid no-results searches finish with an empty dataset. Explicit block/challenge pages fail closed and are never stored; the Actor does not solve CAPTCHAs or bypass access controls.

Validation

npm ci
npm test
npm audit --omit=dev
apify validate-schema
apify run --purge --input-file INPUT.json