Google Maps Scraper
Pricing
from $0.01 / 1,000 results
Google Maps Scraper
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer

John Adeolu
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
22 days ago
Last modified
Categories
Share
A professional Apify Actor that extracts comprehensive business data from Google Maps, including names, addresses, phone numbers, websites, ratings, reviews, opening hours, photos, and coordinates.
Features
- π Search by Query & Location: Search for businesses using keywords and location
- π Complete Business Data: Extract name, address, phone, website, ratings, reviews, hours, photos, and coordinates
- β Reviews Extraction: Optional detailed reviews with ratings, text, author, and date
- π Multi-language Support: Configure language for results
- π Pagination Support: Automatically scrolls and loads more results
- π High Performance: Efficient scraping with proper error handling and retries
- π Proxy Support: Built-in Apify Proxy support for reliable scraping
Input
| Field | Type | Required | Description |
|---|---|---|---|
searchQuery | String | Yes | Search query for businesses (e.g., "restaurants in New York", "dentists near me") |
location | String | No | Location for the search (e.g., "New York, NY" or "coordinates: 40.7128,-74.0060") |
maxResults | Number | No | Maximum number of results to extract (default: 20, max: 500) |
includeReviews | Boolean | No | Whether to include reviews for each business (default: false) |
maxReviews | Number | No | Maximum number of reviews per business if includeReviews is true (default: 5, max: 50) |
language | String | No | Language code for results (default: "en") |
startUrls | Array | No | Direct Google Maps URLs to scrape (if provided, searchQuery and location are ignored) |
Example Input
{"searchQuery": "restaurants in Manhattan","location": "New York, NY","maxResults": 50,"includeReviews": true,"maxReviews": 10,"language": "en"}
Output
The actor saves results to the Apify Dataset. Each business entry includes:
{"name": "Example Restaurant","rating": 4.5,"reviewsCount": 1234,"address": "123 Main St, New York, NY 10001","phone": "+1 212-555-1234","website": "https://example.com","category": "Restaurant","openingHours": "Mon-Fri: 10:00 AM - 10:00 PM","latitude": 40.7128,"longitude": -74.0060,"photoUrl": "https://maps.googleapis.com/...","reviews": [{"author": "John Doe","rating": "5","text": "Great food and service!","date": "2 weeks ago"}],"timestamp": "2024-01-10T12:00:00.000Z"}
Usage
Local Development
- Install dependencies:
$npm install
- Run the actor:
$npm start
Apify Platform
- Create a new actor on Apify
- Upload the actor files
- Configure input parameters
- Run the actor
Using Apify CLI
apify create google-maps-scrapercd google-maps-scraper# Copy files to the actor directoryapify pushapify call --memory=4096
Output Dataset
Results are saved to the Apify Dataset with the following schema:
- name: Business name
- rating: Average rating (number)
- reviewsCount: Total number of reviews
- address: Full address
- phone: Phone number
- website: Business website URL
- category: Business category/type
- openingHours: Opening hours information
- latitude: GPS latitude coordinate
- longitude: GPS longitude coordinate
- photoUrl: URL to business photo
- reviews: Array of review objects (if includeReviews is true)
- timestamp: ISO timestamp of extraction
Best Practices
-
Rate Limiting: The actor includes built-in delays to respect Google Maps. For high-volume scraping, consider using Apify Proxy.
-
Max Results: Start with smaller values (20-50) to test before scaling up.
-
Reviews: Enabling reviews increases scraping time significantly. Use only when necessary.
-
Language: Set the language parameter to match your target audience for better results.
-
Error Handling: The actor includes comprehensive error handling. Check the actor logs for any issues.
Limitations
- Google Maps may implement rate limiting or CAPTCHA challenges for high-volume requests
- The actor respects Google Maps' structure and may need updates if Google changes their UI
- Reviews extraction requires additional page interactions and may slow down scraping
- Maximum 500 results per run (configurable via maxResults)
Troubleshooting
No results found
- Verify the searchQuery is correct and returns results on Google Maps
- Check if the location parameter is valid
- Try increasing wait times if pages load slowly
Missing data fields
- Some businesses may not have all fields (e.g., phone, website)
- Google Maps structure may vary by region
- Check actor logs for extraction warnings
Scraping too slow
- Reduce maxResults
- Disable includeReviews if not needed
- Check your internet connection and Apify platform resources
Changelog
Version 1.0.0
- Initial release
- Basic business data extraction
- Reviews extraction support
- Multi-language support
- Pagination handling
License
ISC
Support
For issues, questions, or contributions, please visit the actor's page on Apify Store.