Google Maps Full Suite — Places, Reviews & Grid Search
Pricing
from $2.00 / 1,000 places scrapeds
Google Maps Full Suite — Places, Reviews & Grid Search
Scrape Google Maps places, full details, reviews, People Also Search For and directions in one Actor. Grid search bypasses Google's ~120-result cap for complete area coverage.
Pricing
from $2.00 / 1,000 places scrapeds
Rating
0.0
(0)
Developer
0xlearner
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Google Maps Full Suite — Places, Reviews, Distance, Grid Search & Lead Gen

One Actor for Google Maps lead generation and competitive intelligence: keyword search, grid search that goes past Google's ~120-result cap, nearby search, full place details, reviews with owner responses, People Also Search For (competitors Google shows next to a place) and A→B directions. Plain HTTP requests (a browser starts only for People Also Search For), so it's fast and you only pay for results.
What can it do?
| Mode | What you get |
|---|---|
| Search | Every place matching a query in an area: name, category, rating, phone, website, address, coordinates, opening hours, photos |
| Search + grid | Same as search, but the area is split into a grid so you get all matching businesses, not just the first ~120 |
| Nearby | Places matching a query around an anchor (e.g. cafe near Eiffel Tower), optionally expanded 1–2 levels outwards |
| Place details | Full record for a list of places (Maps URLs, place IDs or names): review count, full weekly hours, price level, plus code, reviews, People Also Search For |
| Directions | Distance, duration, turn-by-turn steps and alternative routes for driving, walking or bicycling, plus a quick ETA for every mode |
Use cases
- Lead generation: every dentist, plumber or restaurant in a city, with phone and website
- Competitor research: ratings, review volume and review sentiment for every competitor in an area
- Reputation monitoring: newest or lowest-rated reviews, and whether the owner replied
- Logistics: distance and travel time between addresses
Why use this Actor?
- One Actor instead of five. Search, grid search, nearby, place details, reviews, People Also Search For and directions share one input and one output format. There's no chaining of separate scrapers and no joining of mismatched outputs.
- Complete coverage. Grid search keeps going after Google stops at ~120 results, and deduplicates by place ID so each business appears once.
- Data other scrapers don't return. People Also Search For (the competitors Google itself links to a place) resolved to full place records; reviews with owner responses, Google's translations and structured dining attributes (food, service and atmosphere scores, price per person, wait time).
- Stable IDs for joining. Every place carries Google's place ID and knowledge-graph ID (
place_path,/g/…), and every review has its own ID. Runs can be merged, deduplicated and linked across days, cities and datasets. - Fast and cheap. Plain HTTP requests with browser-grade fingerprints. A browser starts only when you ask for People Also Search For.
- Fair billing. You pay per delivered result, never for results that didn't reach your dataset, and runs stop cleanly at your spending limit.
AI and data use cases
The output is structured JSON with stable IDs, so it can go straight into AI pipelines:
- Knowledge graphs. Every People Also Search For list is a set of edges: place A → people also search for → place B. Collect them for a city or category and you get a graph of how customers see businesses as alternatives: competitor clusters, brand neighbourhoods, category boundaries. Load it into Neo4j, Memgraph or a graph library, and use it for GraphRAG, recommendations or market maps. A starter schema:
- Nodes: places (
place_id,name,category,rating,coordinates) - Edges:
PEOPLE_ALSO_SEARCH(from each place to itspeople_also_searchentries),IN_CATEGORY,NEAR(from coordinates),REVIEWED_BY(reviewer IDs)
- Nodes: places (
- Nexus and entity-resolution data. Place IDs, knowledge-graph IDs, phone numbers, websites and addresses make good join keys. Use them to link Maps entities to your CRM, company registries or web data, and to build a clean nexus table of real-world locations.
- Review intelligence with LLMs. Feed reviews (with Google's translations for multilingual markets) to an LLM for sentiment and aspect analysis, complaint mining, or summaries of what customers praise. Structured dining attributes and owner responses give labelled signals for free.
- RAG and AI agents. Embed place descriptions and reviews into a vector database so an assistant can answer "best-rated late-night dentist near downtown" with real, cited data. Agents can also call the Actor on demand through Apify's MCP server and API.
- Training and evaluation data. Ratings, review text and attributes make datasets for classifiers, local-business models and evaluation sets.
- Geospatial ML. Coordinates, categories, opening hours, review volume and travel times (directions mode) become features for site selection, delivery-zone planning and footfall or demand models.
- AI-powered lead generation. Collect every business in a territory with grid search, then let an LLM score and personalise outreach using the place's reviews, rating trend and competitor set.
Grid search: getting more than 120 results
Google Maps stops returning results after about 120 per search, however large the map is. Zooming out doesn't help; only moving the map does. With Enable grid search the Actor:
- Splits the circle around your location into square cells (
gridCellSizeKm) - Searches each cell separately, spiralling outwards from the centre so dense downtown areas come first
- Overlaps the cells so nothing between them is missed
- Deduplicates by place ID across cells, and stops as soon as
maxResultsunique places are found
Example: dentist in Austin, TX, with 2 km cells over a 10 km radius and 25 cells, returned 211 unique dentists where a single search stops at ~120.
| Area type | Suggested gridCellSizeKm |
|---|---|
| Dense city centre (Manhattan, central London) | 1 |
| Suburban metro area | 2 |
| Rural / sparse | 10 |
⚠️ Grid search multiplies run cost. 100 cells × up to 120 results = up to 12,000 raw results before deduplication, and each cell is billed as a
grid_cell_searchedevent. SetgridMaxCellsandmaxResultsdeliberately.
Reviews
With Include reviews, each place gets up to maxReviewsPerPlace reviews (up to 500), sorted by newest, mostRelevant, highestRating or lowestRating. Each review includes:
- rating, full text and Google's translation (with original language)
- exact publish date plus Google's relative date ("3 weeks ago"), and whether it was edited
- reviewer name, profile URL and ID, photo, review count, photo count, Local Guide status
- owner response and its date
- likes, review photos, review link
- structured dining attributes where the reviewer left them (price per person, food, service and atmosphere scores, wait time, parking, and so on)
People Also Search For
With Include People Also Search For, each place gets the competitors and similar places Google lists under "People also search for": name, category, rating, review count, coordinates and thumbnail, resolved to full place IDs with address, phone and website (Resolve every People Also Search For place, on by default).
Signed-out visitors usually get a limited Google Maps view without this section. When the option is on, the Actor starts a real Chrome once per run and keeps opening fresh Google Maps sessions until Google grants the full view (typically a few tries, 30 s–2 min). That one session is then reused for every place. If no full-view session can be obtained, the run carries on and people_also_search comes back empty, with a warning in the log.
Pricing (pay per event)
You pay only for what the Actor delivers:
| Event | Charged when | Price | Per 1,000 |
|---|---|---|---|
place_scraped | each place in the dataset | $0.002 | $2.00 |
review_scraped | each review attached to a place | $0.0005 | $0.50 |
pas_place_scraped | each People Also Search For place attached to a place | $0.003 | $3.00 |
grid_cell_searched | each grid cell searched | $0.003 | $3.00 |
route_scraped | each directions result | $0.005 | $5.00 |
There's also a small start fee of $0.001 per run for each GB of run memory (Apify's standard Actor start event). A normal 1 GB run pays $0.001; a 2 GB run with People Also Search For pays $0.002.
The Actor stops cleanly when your spending limit is reached. Items are pushed and charged together, so you're never billed for an item that wasn't delivered.
Input examples
All dentists in Austin (grid)
{"mode": "search","searchQuery": "dentist","location": "Austin, TX","enableGridSearch": true,"gridCellSizeKm": 2,"gridSearchRadiusKm": 10,"gridMaxCells": 25,"maxResults": 1000}
Details and newest reviews for specific places
{"mode": "placeDetails","places": ["https://www.google.com/maps/place/...","0x8644b5b434046875:0x644e6eb422388b7a","Swish Dental Downtown Austin"],"includeReviews": true,"maxReviewsPerPlace": 100,"reviewsSort": "newest"}
Walking directions
{ "mode": "directions", "origin": "Times Square, New York", "destination": "Central Park, New York", "travelMode": "walking" }
Output example (search)
{"place_id": "0x8644b5b434046875:0x644e6eb422388b7a","name": "Swish Dental Downtown","category": "Dentist","categories": ["Dentist", "Cosmetic dentist", "Emergency dental service"],"address": "201 W 5th St Ste 175, Austin, TX 78701, United States","coordinates": { "lat": 30.2674035, "lng": -97.7451433 },"rating": 4.5,"review_count": 983,"phone": "+1 512-713-1099","website": "https://www.swishsmiles.com/location/downtown","opening_hours": { "schedule": { "monday": ["9 AM-6 PM"], "saturday": ["Closed"] }, "complete": true },"maps_url": "https://www.google.com/maps/search/?api=1&query=Swish+Dental+Downtown&query_place_id=0x8644b5b434046875:0x644e6eb422388b7a","sourceQuery": "dentist","searchTaskLabel": "dentist | Austin, TX","gridCell": "30.26715,-97.74306"}
gridCell and sourceQuery show which grid cell and query found each place.
Tips and limitations
- Use residential proxies (the default). Google rate-limits by IP, and the Actor switches IP and browser fingerprint automatically when it's blocked.
- Review count and full weekly hours come from Google's full place record. In search mode, turn on Scrape full details for each result to get them for every place (one extra request per place).
- People Also Search For adds a one-time browser warm-up to the run and one extra request per place (plus one per People Also Search For place when resolving). Give the run at least 2 GB of memory when using it.
- Transit directions aren't available yet. Driving, walking and bicycling are.
- The Actor only collects publicly visible data. You're responsible for using it in line with applicable laws and Google's terms.