Google Maps Places Scraper avatar

Google Maps Places Scraper

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Google Maps Places Scraper

Google Maps Places Scraper

Scrape Google Maps places data including business name, address, phone, website, ratings, reviews, and more. Extract leads and business information from Google Maps search results.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

0

Bookmarked

336

Total users

4

Monthly active users

3 days ago

Last modified

Share

Extract source-backed business places from public Google Maps search pages. The Actor captures structured Maps response data and visible business-specific Maps links, then applies optional rating, category, contact, and closure filters.

Input

FieldTypeDefaultDescription
searchTermsstring[]required1–50 unique Google Maps searches
searchStringsArraystring[]—Legacy alias for searchTerms
locationQuerystringblankOptional location appended to every term
maxPlacesinteger20Exact per-search cap, 1–500
maxCrawledPlacesPerSearchinteger—Legacy alias for maxPlaces
minimumRatingnumberblankSource-backed rating threshold from 1 to 5
placeMinimumStarsstringblankLegacy alias for minimumRating
closedPlacesFilterstringallall, skipClosed, or onlyClosed
onlyWithWebsitebooleanfalseOnly scrape places that have a listed official website
onlyWithPhonebooleanfalseOnly scrape places that have a contact telephone number
onlyOpenNowbooleanfalseOnly scrape places that are currently reported as open
categoryFilterstring[]blankFilter places by category keywords (e.g. ["pizza", "italian"])
maximumPhotosinteger10Maximum photo URLs to extract per place (0–50)
language / countrystringen / USMaps locale and country
fingerprintProfilestringchrome-windowsRetained browser compatibility input; not written to dataset rows
proxySessionId / proxyConfigurationstring / objectblank / ResidentialOptional proxy settings for live public-page access
fixtureFilestringblankLocal-only relative .html/.htm fixture for deterministic QA

Output

Normal rows contain rich business details and source provenance:

  • Identity: recordId, businessName, name (compatibility alias), placeId, cid, entityId
  • Classification: category, categories
  • Location: address, street, city, state, postalCode, countryCode, countryName, latitude, longitude, timezone, plusCode
  • Contact & Web: phone, website, domain, email
  • Rating & Reviews: rating, reviewCount, priceLevel
  • Status & Schedule: openNow, openingStatus, openingHours (7-day schedule), permanentlyClosed, temporarilyClosed
  • Media: thumbnailUrl, photoUrls, photoCount
  • Actions & Details: description, menuUrl, orderOnlineUrl, reservationUrl
  • Provenance: mapsUrl, sourceUrl, searchTerm, searchTermIndex, resultRank, position, scrapedAt

When Google shows a CAPTCHA, consent page, traffic block, or the run cannot produce usable places, the Actor writes a diagnostic row with exactly url, error, errorCode, and scrapedAt. Operational status, counters, source mode, proxy mode, and profile name are stored in OUTPUT and RUN_HEALTH in the default key-value store.

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Access and responsible use

Use public Google Maps pages in accordance with Google terms, robots guidance, applicable law, and reasonable rate limits. The Actor does not log in, solve CAPTCHAs, bypass WAFs, or evade access controls. A source boundary is recorded and the run fails closed.

Local development

npm install
npm test
npm run validate

Deterministic fixture run:

node src/main.js

The fixture is synthetic and local-only. Apify authentication is required only for cloud Console/API operations.