Google Maps Scraper
Pricing
from $0.40 / 1,000 results
Google Maps Scraper
🔥 $0.40/1K results 🔥 Google Maps Scraper & API. Extract businesses by keyword, category, location, coordinates, radius or polygon. Get 📍 addresses, 📞 phones, 🌐 websites, ⭐ ratings, reviews, opening hours, categories, coordinates & more. Export to JSON, CSV or Excel or automate via API.
Pricing
from $0.40 / 1,000 results
Rating
4.3
(13)
Developer
Poidata
Maintained by CommunityActor stats
33
Bookmarked
2.8K
Total users
96
Monthly active users
4 days ago
Last modified
Categories
Share
Google Maps Scraper extracts structured business and location data from Google Maps using keywords, categories, city or area names, exact coordinates, radius searches, and custom GeoJSON polygons. Collect up to 15,000 results per search with automatic deduplication, advanced filtering, and worldwide coverage.
Use it in the Apify Console for no-code data collection or connect it to your workflow as a Google Maps scraper API. Export results in JSON, CSV, Excel, or XML, schedule recurring runs, trigger webhooks, and integrate the data with CRMs, analytics tools, business intelligence systems, or your own applications.
In short: search Google Maps at scale, target exactly the geographic area you need, filter businesses before saving them, and receive structured business data ready for analysis or integration.
🗺️ Google Maps Scraper Features
This Google Maps scraper is built for precise local-business discovery rather than broad, uncontrolled crawling. You can search a city, focus on a radius around a coordinate, or define an irregular service area with a polygon.
| Feature | What it does |
|---|---|
| Keyword and category search | Find businesses using one or multiple Google Maps search terms. |
| Location search | Target a city, area, or named location. |
| Coordinate search | Search from exact latitude and longitude coordinates. |
| Radius filtering | Limit coordinate searches to a 1–100 mile radius. |
| GeoJSON polygon search | Search within custom geographic boundaries. |
| Multiple search terms | Use up to 100 search terms per request. |
| Large result sets | Collect up to 15,000 results per search. |
| Advanced filters | Filter by rating, review count, category, photo count, or business name. |
| Automatic deduplication | Remove duplicate businesses while collecting results. |
| Structured business data | Extract contact, address, location, rating, category, opening-hours, identifier, photo, amenity, and other business fields. |
| Global coverage | Search across 240+ countries with support for 70+ languages. |
| API and automation | Run through the Apify API, schedule jobs, use webhooks, and connect results to other systems. |
| Multiple export formats | Download or process results as JSON, CSV, Excel, or XML. |
🔌 Google Maps Scraper API
Yes. This Actor can be used programmatically as a Google Maps scraper API through the Apify API.
Use the API when you want to:
- run Google Maps searches from your application or backend;
- automate recurring business-data collection;
- send different search terms and locations dynamically;
- collect results into an Apify Dataset;
- trigger downstream workflows with webhooks;
- integrate Google Maps business data with a CRM, database, lead-generation system, analytics platform, or internal tool.
The Actor supports REST-based execution through Apify and can be used from common development environments such as Python, JavaScript, CLI, HTTP, OpenAPI, and MCP through the integrations available on the Actor page.
What can you send to the Google Maps scraper API?
At minimum, provide a search term and a location method. You can search by a named location, by coordinates, or by polygon.
Common inputs include:
| Input | Purpose |
|---|---|
term | Search term or array of search terms. |
location | City, neighborhood, region, or other named area. |
latitude | Latitude for coordinate-based searches. |
longitude | Longitude for coordinate-based searches. |
radius | Search radius in miles, from 1 to 100. |
polygon | Custom GeoJSON polygon boundary. |
totalAroundCoordinate | Target number of unique results for coordinate or area searches. |
min_rating | Minimum Google rating from 0 to 5. |
min_reviews | Minimum number of reviews. |
categories_filter | Restrict results to selected business categories. |
min_photos | Minimum number of photos. |
name_filter | Match one or more keywords in business names. |
📍 Ways to Search Google Maps
Search by location name
Use a city or area name when you want the simplest way to discover businesses in a known place.
{"term": "restaurants","location": "New York"}
This works well for searches such as:
- dentists in Austin;
- coffee shops in London;
- hotels in Dubai;
- hardware stores in Manila;
- restaurants in New York.
Search by exact coordinates and radius
Use latitude and longitude when you need more precise geographic targeting.
{"term": "restaurants","latitude": "40.730610","longitude": "-73.935242","radius": 5,"totalAroundCoordinate": 100}
Coordinate-based search gives you:
- precise targeting around a known point;
- 1–100 mile radius control;
- systematic coverage of the selected area;
- a target result limit with
totalAroundCoordinate; - distance information where available.
This is useful for territory analysis, service-area prospecting, store-location research, real estate analysis, and other location-sensitive workflows.
Search inside a GeoJSON polygon
Use a custom polygon when a circle or city boundary is too broad.
{"term": "coffee shops","polygon": {"type": "Polygon","coordinates": [[[-74.041885, 40.570396],[-73.855682, 40.570396],[-73.855682, 40.739234],[-74.041885, 40.739234],[-74.041885, 40.570396]]]},"totalAroundCoordinate": 200}
Polygon searches are designed for:
- irregular sales territories;
- neighborhoods;
- custom delivery areas;
- franchise territories;
- administrative or planning zones;
- market-research boundaries that do not fit a simple radius.
The Actor validates polygon input and processes searches within the supplied boundary.
Search multiple terms at once
Use an array when several related Google Maps queries should be searched in the same request.
{"term": ["pizza restaurants","Italian restaurants","pizzeria"],"location": "Chicago"}
You can use up to 100 search terms per request. Automatic duplicate removal helps prevent the same place from being returned repeatedly when it matches multiple searches.
🔍 Google Maps Business Filters
Filters help reduce unnecessary results and focus the dataset on businesses that match your requirements.
Minimum rating
Return businesses that meet a minimum star rating.
{"min_rating": 4.2}
Supported range: 0–5 stars.
Minimum review count
Exclude businesses with too few reviews.
{"min_reviews": 100}
This is useful when you want established or more frequently reviewed businesses.
Category filter
Keep only businesses matching selected Google Maps categories.
{"categories_filter": ["Italian restaurant","Indian restaurant"]}
See the complete Google Maps Categories list when building category-based searches.
Minimum photo count
Filter businesses by the number of available photos.
{"min_photos": 10}
Business name filter
Match one keyword or several keywords against business names.
{"name_filter": "coffee"}
or:
{"name_filter": ["coffee","espresso"]}
Combine multiple filters
Filters can be combined in one request.
{"term": "restaurants","location": "New York","min_rating": 4.5,"min_reviews": 100,"categories_filter": ["Italian restaurant","Pizza"],"min_photos": 10,"name_filter": "pizza"}
📊 What Data Can the Google Maps Scraper Extract?
The Actor returns structured Google Maps business data that can be used for lead generation, market research, location intelligence, enrichment, analytics, and application development.
Business identity and status
Depending on availability, results can include:
searchTermsearchLocationdisplayRanknamelocalNamebusinessTypestatusisClaimedopenNowownerNamedescriptionshortDescriptionlongDescriptionreviewSnippetlanguagelanguageCodedisplayLanguageregionCode
Address and location data
Available location fields can include:
addressaddressPartsfullAddressstreetcitycityRegionstatezipCodecountrycountryCodeneighborhoodlatitudelongitudedistance_milestimezonegeoHierarchy
Example:
{"name": "Carmine's - Times Square","address": "200 W 44th St, New York, NY 10036","street": "200 W 44th St","city": "New York","state": "New York","zipCode": "10036","country": "US","neighborhood": "Manhattan"}
Contact details
Available contact data can include:
phonephoneIsdwebsitewebsiteDomain
Example:
{"phone": "(212) 221-3800","phoneIsd": "+1 212-221-3800","website": "carminesnyc.com"}
Google Maps IDs and URLs
The Actor can return identifiers used to reference a business or Google Maps place:
urlurlSlugplaceIdfidcidproviderIdauthorId
Example:
{"url": "https://www.google.com/maps/place/?q=place_id:0x89c25854faa8d447:0x100a2b0d8c445c5f","placeId": "ChIJ3TpFcmSdwokR-wEmZ2tHkQs","fid": "0x89c25854faa8d447:0x100a2b0d8c445c5f","cid": "1155783591561813087","providerId": "/g/1td59jdq"}
Ratings, reviews, and photos
Available popularity and media fields can include:
ratingreviewCountreviewSnippetphotoCountphotosphotoprofilePhoto
Example:
{"rating": 4.5,"reviewCount": 17231,"photoCount": 18178}
Photo objects can include an ID, image URL, thumbnail, caption, and image coordinates where available.
Categories and classification
Businesses can include multiple Google Maps categories.
{"categories": ["Italian restaurant","Caterer","Delivery service","Family restaurant"]}
Opening hours
Hours-related fields can include:
openingHoursweeklyHourscurrentHoursopenNowtimezone
Example:
{"openingHours": [{"day": "Monday","hours": "11:30 AM-11 PM"},{"day": "Tuesday","hours": "11:30 AM-11 PM"},{"day": "Wednesday","hours": "11:30 AM-11 PM"}]}
Services, amenities, and attributes
Additional business details can include:
additionalInfoamenitiesattributesdiningOptionsorderOnlineAvailableorderOnlineUrlhasDelivery
Depending on the business, these fields may describe options such as:
- outdoor seating;
- no-contact delivery;
- delivery;
- onsite services;
- takeout;
- dine-in;
- local specialties;
- breakfast, lunch, and dinner;
- catering;
- counter service;
- table service;
- coffee and desserts;
- accessibility;
- restroom availability;
- seating;
- atmosphere;
- group suitability;
- tourist popularity;
- reservations;
- payment methods;
- mobile NFC payments;
- child-friendly options;
- high chairs;
- parking.
Example:
{"additionalInfo": {"Accessibility": ["Wheelchair accessible"],"Amenities": ["Wi-Fi","Restroom","Bar onsite"],"Service options": ["Takeout","Dine-in","Delivery"],"Atmosphere": ["Historic","Romantic","Cozy"]}}
Online ordering and delivery information
Where available, results can include:
orderOnlineAvailableorderOnlineUrlhasDelivery
Saved-list information
Where present in the source data, results can include savedLists entries such as:
- Favorites;
- Want to go;
- Travel plans;
- Starred places;
- Saved places.
Hotel-specific fields
For hotel results, available fields can include:
hotelCheckInhotelCheckOuthotelStarRatinghotelPricePerNighthotelBookingUrlhotelAmenities
📍 Example Google Maps Scraper Output
The exact fields returned depend on the business and what information is available for that place.
{"count": 20,"query": "pizza in Chicago","results": [{"searchTerm": "pizza","searchLocation": "Chicago","displayRank": 14,"name": "Fontano's Subs & Pizzeria","localName": "Carmine's - Times Square","businessType": "PIZZA_RESTAURANT","placeId": "ChIJtVc3Y-QtDogRUuc-XoS3eUY","fid": "0x880e2de4633757b5:0x4679b7845e3ee752","cid": "5101835467671982803","providerId": "/g/11fks6jzjr","status": "Open","isClaimed": "Yes","openNow": true,"ownerName": "Fontano's Subs & Pizzeria (Owner)","address": "332 S Michigan Ave, Chicago, IL 60604","city": "Chicago","state": "Illinois","zipCode": "60604","countryCode": "US","neighborhood": "Chicago Loop","latitude": 41.8772942,"longitude": -87.624614,"phone": "+13126633061","website": "http://fontanosonmichigan.com/","websiteDomain": "fontanosonmichigan.com","rating": 4.6,"reviewCount": 587,"photoCount": 1,"categories": ["Pizza restaurant","Breakfast restaurant","Fast food restaurant","Delivery Restaurant","Takeout Restaurant","Pizza delivery","Pizza Takeout","Restaurant","Sandwich shop"],"currentHours": "Open · Closes 7 PM","timezone": "America/Chicago","orderOnlineAvailable": true,"hasDelivery": false}]}
🎯 Google Maps Scraper Use Cases
Lead generation and sales prospecting
Build targeted lists of local businesses using search terms, geographic boundaries, ratings, categories, and other filters.
Typical workflows include:
- finding businesses in a sales territory;
- creating prospect lists by industry and city;
- locating high-rated businesses;
- identifying businesses with websites or phone numbers;
- collecting local business data for account-based marketing;
- planning sales territories.
Market research and competitive intelligence
Use Google Maps data to understand local market structure and business density.
You can use the dataset to:
- compare competitor distribution;
- identify areas with high or low business density;
- analyze category coverage;
- research local market penetration;
- discover underserved areas;
- support geographic expansion decisions.
Real estate, site selection, and development
Combine location, category, rating, and density data to research commercial areas.
Common uses include:
- comparing potential store locations;
- analyzing nearby businesses;
- evaluating local competition;
- researching commercial real estate;
- studying neighborhood business composition;
- identifying opportunity areas.
Location-based applications
Use the Google Maps scraper API to populate or enrich applications with structured local-business information.
Examples include:
- local search tools;
- directories;
- maps;
- market-intelligence applications;
- sales platforms;
- territory-management tools;
- business-discovery products.
Database enrichment
Match scraped businesses with existing records to add or refresh:
- addresses;
- coordinates;
- phone numbers;
- websites;
- categories;
- ratings;
- review counts;
- opening hours;
- Google Maps identifiers.
🧪 Google Maps Scraper Examples
Market research across a custom area
{"term": ["coffee shops","cafes","espresso bars"],"polygon": {"type": "Polygon","coordinates": [[[-74.041885, 40.570396],[-73.855682, 40.570396],[-73.855682, 40.739234],[-74.041885, 40.739234],[-74.041885, 40.570396]]]},"min_rating": 4.0,"min_reviews": 50,"totalAroundCoordinate": 500}
Competitive intelligence around a coordinate
{"term": "pizza restaurants","latitude": "40.730610","longitude": "-73.935242","radius": 10,"min_rating": 4.2,"categories_filter": ["Italian restaurant","Pizza"],"totalAroundCoordinate": 200}
Site-selection research in a city
{"term": ["restaurants","retail stores","services"],"location": "Austin, TX","min_rating": 3.5,"min_reviews": 20,"totalAroundCoordinate": 1000}
⚡ Performance, Scale, and Reliability
The Google Maps scraper is designed for large searches while keeping the workflow straightforward.
Scale
- Up to 100 search terms per request.
- Up to 15,000 results per search.
- Efficient handling of large result sets.
- Target-based stopping when the requested result count is reached.
- Automatic duplicate removal.
Reliability
The Actor includes:
- accurate, structured extraction of available business information;
- automatic retries for failed requests;
- graceful recovery from network issues;
- input and output validation;
- progress tracking;
- memory-efficient processing;
- systematic area coverage.
Actual run time depends on the query, target area, filters, requested result volume, and the amount of data available.
🌍 Global Google Maps Data Coverage
Search worldwide using country-, region-, and language-specific targeting.
Current functionality includes:
- 240+ countries;
- 70+ languages;
- country and language-specific results;
- precise coordinate targeting;
- radius calculations;
- custom polygon boundaries;
- systematic coverage of defined geographic areas.
🔄 Automation, Integrations, and Export Formats
API integration
Run the Actor through the Apify API using standard HTTP requests or supported client integrations.
Webhooks
Use webhooks to trigger another service when a run reaches a relevant state.
Scheduling
Schedule repeated Google Maps scraping jobs for recurring data collection or refresh workflows.
Batch processing
Run large searches and process the resulting dataset at scale. Results become available during the run, supporting immediate downstream processing and monitoring.
Export options
Results can be exported in:
- JSON
- CSV
- Excel
- XML
Workflow integrations
Google Maps business data can be used with:
- CRM systems;
- analytics platforms;
- business intelligence tools;
- marketing automation workflows;
- internal databases;
- custom applications.
🚀 How to Use the Google Maps Scraper
1. Choose what you want to find
Enter one or more search terms such as restaurant, dentist, hotel, coffee shop, or another business category.
2. Choose a geographic targeting method
Use one of the supported methods:
- a named
location; latitudeandlongitude;- a GeoJSON
polygon.
For coordinate searches, set a radius from 1 to 100 miles when needed.
3. Add filters
Optionally narrow the results with:
min_rating;min_reviews;categories_filter;min_photos;name_filter.
4. Set your target result count
Use totalAroundCoordinate where applicable to control how many unique results you want to collect.
5. Run and monitor the Actor
Start the Actor from Apify Console or call it through the Google Maps scraper API.
6. Export or integrate the results
Download the dataset or send it into your application, database, CRM, analytics workflow, or other system.
✅ Best Practices for Better Google Maps Scraping
Use specific search terms
A precise query such as Italian restaurant or used car dealer usually produces a more focused dataset than a very broad term.
Use multiple related terms for broader coverage
If businesses may be categorized in different ways, search several related phrases and rely on automatic deduplication.
Use coordinates for precision
Coordinates are useful when the center point of a market or territory matters.
Use polygons for irregular areas
A polygon is better than a radius when you need to stay inside a custom boundary.
Apply filters before collecting large datasets
Filtering by rating, review count, category, photos, or name can reduce irrelevant results.
Set realistic result targets
Choose a target that matches the expected density of businesses in the selected geographic area.
Schedule refreshes when freshness matters
For recurring research, schedule new runs rather than relying indefinitely on an old export.
Data management
For large or recurring datasets:
- validate important fields before using them in production workflows;
- store exports efficiently for the format and query pattern you need;
- keep backups when the dataset is business-critical;
- schedule periodic refreshes when current business information matters.
❓ Google Maps Scraper FAQ
What is a Google Maps scraper?
A Google Maps scraper is a data-extraction tool that converts business information visible on Google Maps into structured records. This Actor can collect business names, addresses, coordinates, phone numbers, websites, ratings, review counts, categories, hours, identifiers, photos, amenities, and other available fields.
Does this Actor provide a Google Maps scraper API?
Yes. You can run the Actor programmatically through the Apify API and use it as a Google Maps scraper API in automated applications and data workflows.
Is this the official Google Maps API?
No. This is an Apify Actor for extracting Google Maps business data; it is not the official Google Maps Platform API.
How many Google Maps results can I scrape?
The Actor supports up to 15,000 results per search.
Can I scrape multiple Google Maps search terms in one run?
Yes. The Actor supports up to 100 search terms per request.
Can I search Google Maps by latitude and longitude?
Yes. Provide latitude and longitude, then optionally set a radius from 1 to 100 miles and a target result count.
Can I scrape businesses inside a custom polygon?
Yes. The Actor accepts a GeoJSON polygon so you can target custom or irregular geographic boundaries.
Can I filter Google Maps results by rating?
Yes. Use min_rating to set a minimum star rating from 0 to 5.
Can I filter by the number of Google reviews?
Yes. Use min_reviews to exclude businesses below your required review count.
Can I filter businesses by Google Maps category?
Yes. Use categories_filter with one or more business categories.
Can I filter businesses by name?
Yes. name_filter supports a single keyword or multiple keywords.
Can I scrape phone numbers and websites from Google Maps?
Yes, when those details are available for the business. Relevant output fields include phone, phoneIsd, website, and websiteDomain.
What geographic areas are supported?
The Actor supports worldwide searches across 240+ countries and 70+ languages.
What output formats are available?
You can work with or export results in JSON, CSV, Excel, and XML.
Does the scraper remove duplicate businesses?
Yes. The Actor includes automatic duplicate removal to reduce repeated results, including when several search terms return the same business.
Can I schedule recurring Google Maps scraping jobs?
Yes. Use Apify scheduling to automate recurring data-collection runs.
Can I connect the scraper to another application?
Yes. Use the Apify API, webhooks, and dataset exports to connect results to CRMs, analytics platforms, databases, business intelligence tools, marketing automation systems, and custom software.
Can I use the data for market research or lead generation?
Yes. Common use cases include lead generation, market analysis, competitor research, territory planning, geographic expansion, site selection, database enrichment, and location-based applications.
🔒 Security and Compliance
The existing Actor functionality includes security and compliance measures described as:
- encrypted data transmission;
- GDPR and CCPA compliance;
- secure API access management;
- activity logging and audit trails;
- data validation and quality assurance;
- performance monitoring.
Users are responsible for ensuring that their own collection, storage, and use of scraped data complies with applicable laws, contractual requirements, and platform terms.
📚 Support and Documentation
Resources for working with the Actor include:
- API documentation;
- implementation examples;
- optimization and best-practice guidance;
- troubleshooting information.
Support options include:
- technical support;
- custom solutions;
- training and onboarding;
- consulting for business use cases.
📧 Need Emails and Social Profiles Too?
For deeper contact enrichment, use the Google Maps Email Extractor.
It is designed to enrich Google Maps businesses with additional contact information from their websites, including:
- email addresses;
- phone numbers;
- website information;
- Facebook profiles;
- Instagram profiles;
- LinkedIn profiles;
- YouTube profiles.
It also supports coordinate-radius searches and GeoJSON polygon targeting, concurrent email extraction at 5 RPS, and deduplication by Google ID.
Typical use cases include lead generation, contact-database building, social outreach, and email marketing research.
🛠️ Create a GeoJSON Polygon
Need a custom boundary for a polygon search? Use the free Keene College Polyline Tool.
It provides:
- an interactive map for drawing polygon vertices;
- GeoJSON coordinate output;
- right-hand-rule coordinate ordering;
- a simple interface with no registration required.
How to create a polygon
- Open the Polyline Tool.
- Right-click on the map to begin drawing.
- Click to add polygon vertices.
- Select Close Shape to complete the boundary.
- Copy the generated GeoJSON coordinates.
- Paste the coordinates into the Actor's
polygoninput.
This is useful for neighborhoods, sales territories, service areas, and other custom geographic boundaries.
📩 Need a Custom Google Maps Dataset?
For bulk datasets by city, country, category, or global coverage, contact Poidata.io.
Use the Google Maps Scraper when you need flexible self-service extraction. For larger one-off datasets or custom requirements, Poidata can provide a tailored data solution.