Google Maps Similar Places Scraper
Pricing
from $1.99 / 1,000 search results
Google Maps Similar Places Scraper
Find a public source place, derive its category, and collect same-category places near its requested location from Google Maps.
Pricing
from $1.99 / 1,000 search results
Rating
0.0
(0)
Developer
Search API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Find a public source place by name and location, then collect the public Google Maps “People also search for” places shown on its detail page. Each row keeps the source place, rendered relation section, related place identity, contact details, ratings, review counts, image URLs, and scrape provenance.
Google Maps does not render that section for every place or locale. When it is absent, the Actor uses an explicit <category> near <location> fallback and labels those rows same-category-near-source-location; it never relabels arbitrary fallback results as Google recommendations.
Input
| Field | Default | Description |
|---|---|---|
query | Joe Coffee Company Brooklyn Heights | Source business or place entered in the Google Maps search box. |
location | Brooklyn, NY | City, neighborhood, address, or region used for source and nearby searches. |
category | — | Optional category override when Maps does not expose one or a specific comparison category is wanted. |
countryCode | US | Google country code. |
language | en | Maps interface language. |
timezone | America/New_York | Browser time zone aligned to the search location. |
maxItems | 10 | Hard similar-place record cap. |
scrollRounds | 5 | Maximum result-feed scrolls. |
maxConcurrency | 2 | Simultaneous candidate detail pages. |
navigationTimeoutSecs | 60 | Per-page timeout. |
requestDelayMs | 700 | Polite interaction delay. |
useApifyProxy | false | Use authorized Apify Proxy resources. |
proxyGroups, proxyCountryCode, proxyUrls | — | Optional proxy controls; credentials are never logged or stored. |
The Actor opens Google Maps, fills the visible search box with the source query and location, selects the first public source place, scrolls its detail panel so the related section can load, and enriches the bounded related places from their public detail panels. If the related section is unavailable, it derives the source category, searches <category> near <location>, removes the source place and duplicates, and records the fallback mode explicitly.
{"query": "Joe Coffee Company Brooklyn Heights","location": "Brooklyn, NY","countryCode": "US","language": "en","timezone": "America/New_York","maxItems": 5}
Output
Records contain 20 or more populated fields in the live sample: related place identity and rank, category, address, coordinates, rating, review count, price, status, description, phone, website, plus code, image URLs, exact source-place metadata, relation mode, source page, locale, extraction method, and scrape timestamp. Optional values are omitted rather than fabricated. Raw page text, response bodies, cookies, proxy details, and internal transport objects are never stored.
{"id": "ChIJexample","placeId": "ChIJexample","name": "Example Coffee","url": "https://www.google.com/maps/place/Example+Coffee/...","category": "Coffee shop","address": "Brooklyn, NY","latitude": 40.7,"longitude": -73.9,"rating": 4.7,"reviewCount": 320,"rank": 1,"sourcePlaceName": "Joe Coffee Company: Brooklyn Heights","sourcePlaceUrl": "https://www.google.com/maps/place/Joe+Coffee+Company/...","sourceCategory": "Coffee shop","searchQuery": "Coffee shop near Brooklyn, NY","searchUrl": "https://www.google.com/maps/search/...","requestedLocation": "Brooklyn, NY","countryCode": "US","language": "en","searchMode": "people-also-search-for","relatedSection": "People also search for","relation": "people-also-search-for","source": "Google Maps","extractionMethod": "google-maps-rendered-dom","scrapedAt": "2026-08-30T00:00:00.000Z"}
Explicit no-results searches complete with an empty dataset and a no-results summary. Selector drift, blocked access, or an unavailable source category fails closed without fabricated records. Run apify run, then npm test and npm run validate for local verification.