Google Maps Scraper - Businesses, Phones, Ratings avatar

Google Maps Scraper - Businesses, Phones, Ratings

Pricing

from $0.0011 / result

Go to Apify Store
Google Maps Scraper - Businesses, Phones, Ratings

Google Maps Scraper - Businesses, Phones, Ratings

Scrape Google Maps businesses: name, address, phone, website, rating, categories, GPS coordinates, opening hours. Search any query. Pure HTTP, no browser. Fast and cheap at 256MB.

Pricing

from $0.0011 / result

Rating

5.0

(1)

Developer

Thirdwatch

Thirdwatch

Maintained by Community

Actor stats

1

Bookmarked

32

Total users

2

Monthly active users

8 days ago

Last modified

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

FieldDescription
nameBusiness name
addressFull formatted address
phonePhone number
websiteBusiness website URL
ratingGoogle rating (1.0-5.0)
reviews_countReview count (best-effort; usually null in search results)
categoryPrimary business category (e.g., "Plumber")
categoriesAll business categories
latitudeGPS latitude
longitudeGPS longitude
place_idGoogle Place ID
google_maps_cidGoogle Maps customer ID
plus_codeOpen Location Code (best-effort)
google_maps_urlDirect link to the Google Maps listing
areaNeighborhood / area name
descriptionBusiness description (when available)
opening_statusCurrent status (e.g., "Open - Closes 8 PM")
opening_hoursStructured 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

ParameterRequiredDescription
searchQueryYesGoogle Maps search query (e.g., "plumbers in Houston", "dentists in Chicago", "hotels in Paris"). Include a location for best results.
maxResultsNoMaximum results (1-2000). Default 120. Above ~120, geo-grid tiling auto-activates for wider coverage.
geoGridNoauto (default), on (always tile), or off (single-query pagination only).
languageNoLanguage code (en, es, fr, de, ja, etc.). Default en.
regionNoCountry code to bias results (us, uk, in, de, etc.). Default us.
debugModeNoEnables 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:

-end

Limitations

  • Review count, price level, and plus code are best-effort — they are usually not present in Google Maps' lightweight search response (only rating and categories are reliable). They return null when 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.