Google Maps Scraper avatar

Google Maps Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Google Maps Scraper

Google Maps Scraper

Extract business data from Google Maps search results — names, addresses, phones, websites, ratings, reviews, opening hours, and 20+ fields. Covers any location or category. Grid search mode finds thousands of places per city.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

Automly

Automly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

What is Google Maps Scraper?

Google Maps Scraper extracts business data from Google Maps search results at scale. Enter any search query — like "restaurants in New York" or "dentists in London" — and get structured data for every place: names, addresses, phone numbers, websites, ratings, review counts, categories, coordinates, and more.

Unlike the official Google Places API, which caps results at 60 per search, this scraper returns hundreds of results per query. Enable Grid Search mode to break through the ~200-result limit and extract thousands of places across any city or region.

What data can you extract from Google Maps?

FieldExample
📌 Business nameKoshary Abou Tarek
📍 Full address16 Marouf, Qasr El Nil, Cairo, Egypt
📞 Phone number+20 2 25775935
🌐 Website URLhttps://www.aboutarek.com
⭐ Rating4.3
💬 Review count41,797
🏷️ CategoriesRestaurant, Fast food
💰 Price level$$
🗺️ GPS coordinates30.0509, 31.2394
🆔 Google Place IDChIJN6wPHnhBWBQR...
🕐 TimezoneAfrica/Cairo
🔗 Google Maps URLDirect link to the listing

How does this Google Maps Scraper work?

The scraper reverse-engineers the internal Google Maps search API — the same requests your browser makes when you search on Google Maps. No browser automation or Puppeteer needed. This makes it significantly faster and cheaper than browser-based scrapers.

  1. Session setup — Visits Google Maps to obtain valid session cookies
  2. Search priming — Sends an initial request to prepare the search context (ensures full data including review counts)
  3. Paginated extraction — Fetches results in pages of 20, parsing the protobuf-encoded JSON response
  4. Grid search (optional) — Splits your target area into a grid of smaller cells, runs localized searches in each cell, and deduplicates across all results

Simple mode vs Grid Search mode

Simple modeGrid Search mode
Results per queryUp to ~220Up to thousands
SpeedFast (~30 seconds)Slower (depends on grid size)
Best forQuick data pullsExhaustive coverage of a city
How it worksSingle search + paginationSplits area into grid cells, searches each

How to scrape Google Maps data

  1. Click Try for free to open the scraper
  2. Enter your search queries (e.g., restaurants in new york, hotels in dubai)
  3. Set Max Places Per Search to control how many results you want
  4. (Optional) Enable Grid Search for more results — set the cell size in km
  5. Click Start and wait for the results
  6. Download your data as JSON, CSV, Excel, or XML

Input example

{
"searchStringsArray": [
"restaurants in new york",
"coffee shops in brooklyn"
],
"maxCrawledPlacesPerSearch": 200,
"language": "en",
"countryCode": "us",
"enableGridSearch": true,
"gridCellKm": 5
}

How much does it cost to scrape Google Maps?

Apify gives you $5 of free monthly credits on the Free plan. This scraper is lightweight — it uses direct HTTP requests, not a browser — so it consumes very little compute.

PlanMonthly creditsEstimated results
Free$5~5,000+ places
Starter ($49/mo)$49~50,000+ places
Scale ($499/mo)$499500,000+ places

Actual costs vary by query complexity and grid search settings.

Output example

Each place is returned as a JSON object with fields matching the popular Google Maps Scraper by Compass format:

{
"title": "Koshary Abou Tarek",
"categoryName": "Restaurant",
"address": "16 Marouf, Qasr El Nil, Cairo Governorate, Egypt",
"website": "https://www.aboutarek.com/",
"phone": "+20 2 25775935",
"totalScore": 4.3,
"reviewsCount": 41797,
"categories": ["Koshari restaurant", "Fast food restaurant", "Restaurant"],
"placeId": "ChIJN6wPHnhBWBQRH4fLwPXXXXX",
"url": "https://www.google.com/maps/place/?q=place_id:ChIJN6wPHnhBWBQR...",
"location": {
"lat": 30.0509,
"lng": 31.2394
},
"price": "$$",
"timezone": "Africa/Cairo",
"searchString": "restaurants in cairo",
"rank": 1,
"temporarilyClosed": false,
"permanentlyClosed": false,
"isAdvertisement": false
}

What can you do with Google Maps data?

👉 Lead generation — Build prospecting lists with business names, phone numbers, emails, and websites

👉 Competitor analysis — Find and compare businesses by ratings, review counts, and categories in any location

👉 Market research — Analyze business density, pricing, and customer sentiment across regions

👉 Local SEO auditing — Monitor your business listings and compare against competitors

👉 Real estate analysis — Map nearby amenities, restaurants, and services around properties

👉 Sales prospecting — Target specific business types in specific areas for outreach campaigns

👉 Academic research — Collect geo-spatial data for urban planning, economics, and social science studies

Grid Search: how to get thousands of results

Google Maps limits every search to approximately 200 results. The Grid Search feature bypasses this by splitting your target area into smaller geographic cells, searching each one independently, and deduplicating the combined results.

How it works

  1. A bounding box is defined around your target city (auto-detected for 20+ major cities, or set manually)
  2. The box is divided into a grid of cells based on your chosen cell size (default: 5 km)
  3. Each cell runs its own paginated search with a localized viewport
  4. Results are deduplicated by Google Place ID across all cells

Example results by cell size

Cell sizeCells (Cairo)Unique resultsTime
10 km4~90~2 min
5 km16~150~4 min
2 km110~340~8 min
1 km440500+~20 min

Supported cities (auto-detected)

Cairo, New York, London, Dubai, Paris, Tokyo, Istanbul, Riyadh, Mumbai, Berlin, Los Angeles, Chicago, Singapore, Bangkok, Rome, Jeddah, Alexandria, Doha, Amman, Beirut

For any other location, provide custom bounds via the customBounds input parameter.

Advantages over the Google Places API

This scraperGoogle Places API
Max results per search~220 (unlimited with grid)60
Cost per 1,000 results~$0.10$32+
Rate limitsNone100 requests/sec
Fields includedAll visible dataVaries by billing tier
Setup requiredNoneAPI key + billing account
Review countsAlways includedRequires extra API call

Scraping publicly available data from Google Maps is generally considered legal. The data extracted — business names, addresses, phone numbers, ratings — is publicly visible to anyone using Google Maps.

Always be respectful of rate limits and avoid scraping personal data without legitimate purpose. For detailed legal guidance, see Is web scraping legal?

Integrations and API access

This scraper runs on the Apify platform, giving you access to:

  • REST API — Start runs and fetch results programmatically
  • Webhooks — Get notified when a run completes
  • Scheduling — Run the scraper on a daily, weekly, or custom schedule
  • Integrations — Connect to Google Sheets, Zapier, Make, Slack, and more
  • Python & JavaScript clients — Use the Apify Python SDK or JavaScript SDK

Python API example

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("automly/google-maps-scraper").call(run_input={
"searchStringsArray": ["restaurants in new york"],
"maxCrawledPlacesPerSearch": 100,
"enableGridSearch": True,
"gridCellKm": 5,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["phone"], item["totalScore"])

FAQ

How many results can I get per search? In simple mode, up to ~220 results. With Grid Search enabled, you can get thousands depending on cell size and the density of the area.

Does it work for any country? Yes. Set the language and countryCode parameters to match your target market.

Can I search multiple queries at once? Yes. Pass an array of search strings and each will be scraped sequentially.

How fast is it? Simple mode takes 20-40 seconds for 200 results. Grid search with 2km cells across a major city takes 5-10 minutes for 300+ results.

Is a Google API key required? No. This scraper works without any API key or Google account.

Output is compatible with other Google Maps scrapers? Yes. The output format matches the popular Google Maps Scraper by Compass, so you can use it as a drop-in replacement in existing workflows.