Google Maps Scraper - Businesses, Phones, Ratings
Pricing
from $0.0011 / result
Google Maps Scraper - Businesses, Phones, Ratings
Extract Google Maps business listings by search query and location. Get names, addresses, phone numbers, websites, ratings, categories, coordinates, and available opening hours for lead generation and market research.
Pricing
from $0.0011 / result
Rating
5.0
(1)
Developer
Thirdwatch
Maintained by CommunityActor stats
1
Bookmarked
35
Total users
2
Monthly active users
20 hours ago
Last modified
Categories
Share
Google Maps Scraper
Thirdwatch portfolio: 8,800+ users across 140+ public Actors, 2M+ records delivered, >95% run success. Explore all Thirdwatch Actors.
Scrape Google Maps search results — business names, addresses, phone numbers, websites, ratings, categories, GPS coordinates, and opening hours.
What you get
Business-listing data from Google Maps for any search query in any location — "plumbers in Houston", "dentists in Chicago", "hotels in Paris". Returns structured results with contact info, ratings, categories, GPS coordinates, area/neighborhood, description, and current opening status. Ideal for lead generation, market research, and location intelligence.
Returns up to 2,000 results per run. Past ~120 results the actor automatically lays a geographic grid over the search area (geo-grid tiling) so you get deep, city-wide coverage instead of just Google's top page.
Output fields
| Field | Description |
|---|---|
name | Business name |
address | Full formatted address |
phone | Phone number |
website | Business website URL |
rating | Google rating (1.0-5.0) |
reviews_count | Review count (best-effort; usually null in search results) |
category | Primary business category (e.g., "Plumber") |
categories | All business categories |
latitude | GPS latitude |
longitude | GPS longitude |
place_id | Google Place ID |
google_maps_cid | Google Maps customer ID |
plus_code | Open Location Code (best-effort) |
google_maps_url | Direct link to the Google Maps listing |
area | Neighborhood / area name |
description | Business description (when available) |
opening_status | Current status (e.g., "Open - Closes 8 PM") |
opening_hours | Structured day-by-day schedule (when available) |
Example output
{"name": "Village Plumbing, Air & Electric","address": "10644 W Little York Rd Suite 200, Houston, TX 77041","phone": "(281) 607-5357","website": "https://www.villageplumbing.com/","rating": 4.8,"categories": ["Plumber", "Air conditioning contractor", "Electrician"],"latitude": 29.8640568,"longitude": -95.5618629,"place_id": "ChIJIc-2aF_AQIYRJabyrgymSoA","google_maps_url": "https://www.google.com/maps/place/?q=place_id:ChIJIc-2aF_AQIYRJabyrgymSoA","area": "Carverdale","opening_status": "Open - Closes 8 PM"}
Input parameters
| Parameter | Required | Description |
|---|---|---|
searchQuery | Yes | Google Maps search query (e.g., "plumbers in Houston", "dentists in Chicago", "hotels in Paris"). Include a location for best results. |
maxResults | No | Maximum results (1-2000). Default 120. Above ~120, geo-grid tiling auto-activates for wider coverage. |
geoGrid | No | auto (default), on (always tile), or off (single-query pagination only). |
language | No | Language code (en, es, fr, de, ja, etc.). Default en. |
region | No | Country code to bias results (us, uk, in, de, etc.). Default us. |
debugMode | No | Enables verbose diagnostic logging for troubleshooting a specific run. Default false. |
Use cases
- Lead generation: Build prospect lists of local businesses with phone and website for cold outreach.
- Market research: Analyze business density, rating bands, and category mix in any city or neighborhood.
- Local SEO: Audit competitor listings and track ratings over time for clients.
- Data enrichment: Append addresses, GPS coordinates, and categories to CRM and customer records.
- Real estate and retail siting: Map businesses around a property or territory to inform site-selection.
- Field operations: Generate contact lists for door-to-door or phone-based outreach campaigns.
Use cases & recipes
Step-by-step guides on thirdwatch.dev/blog:
- Build a Local Business Database with Google Maps (2026)
- Find Restaurants by Cuisine and Rating on Google Maps (2026)
- Scrape Business Phone and Website from Google Maps (2026)
- Scrape Google Maps Businesses for Lead Generation (2026)
Limitations
- Review count, price level, and plus code are best-effort — they are usually not present in Google Maps' lightweight search response (only
ratingand categories are reliable). They returnnullwhen absent. - Up to 2,000 results per run via automatic geo-grid tiling. A single un-tiled query tops out around 120-150 results (Google's own search depth limit); the grid breaks past this by searching each map tile separately.
- Results depend on Google Maps' own ranking for that query, language, and region.
- Sponsored results are handled as Google Maps presents them.
- Opening hours are returned only when Google Maps itself publishes a structured schedule for the business.
Compared to alternatives
- vs. compass/crawler-google-places (350K users, $0.004/result): This actor costs less per result for the same core fields (name, phone, website, rating, coordinates).
- vs. Google Places API: The Places API charges per call, caps responses at 60 results per query, and requires billing setup — this actor returns up to 2,000 results per run with geo-grid coverage and simpler pricing.
Pairs well with Yelp Business Scraper for full local-business intelligence.
FAQ
Can I scrape outside the US?
Yes. Set region to the country code (e.g., uk, in, de, fr) and optionally language to a matching locale.
Why isn't review count in the output?
Review counts are not reliably exposed in Google Maps' search-results response — they mostly appear on individual business pages. This actor is a search-results scraper, so reviews_count is best-effort and usually null; rating and categories are always reliable.
Can I get more than 120 results?
Yes. Set maxResults up to 2,000 and the actor automatically tiles the search area into a geographic grid, searching each tile separately and de-duplicating. This breaks past Google's ~120-150 single-query depth limit and gives city-wide coverage without you having to split queries manually.
Does the output include opening hours?
Yes, when Google Maps publishes a structured schedule for the business. The opening_hours field returns a day-by-day array when available, and opening_status gives the live "Open / Closes at X" label.
How fresh is the data? Pulled live at run time — as fresh as Google Maps itself.
Last verified: 2026-10
More scrapers at thirdwatch.dev.