
Google Maps Scraper
Pricing
Pay per usage

Google Maps Scraper
📍 Scrape Google Maps listings by keyword & location. 🗺️ Get name, rating, reviews, address, phone, site, URL & Place ID. ⚙️ Optional details. ⚡ Fast, proxy-ready, Excel export. 🎯 Ideal for lead gen, market research & local SEO.
0.0 (0)
Pricing
Pay per usage
0
Total users
1
Monthly users
1
Last modified
2 days ago
Google Maps Places Scraper
🗺️ Powerful Google Maps scraper that extracts business information from Google Maps search results with intelligent scrolling and optional detailed data collection.
✨ Features
- 🔍 Multi-term search: Search for multiple keywords in a single run
- 📍 Location-based: Target specific cities, regions, or countries
- 🌐 Multi-language support: Scrape in any language (French, English, Spanish, etc.)
- 🎯 Smart scrolling: Automatically loads more results with intelligent stopping mechanism
- ⚡ Speed optimization: Optional detailed data collection (phone & website) for faster runs
- 🆔 Google Place ID extraction: Includes unique Google Place IDs for each business
- 📊 Excel export: Results automatically saved as Excel file
- 🔒 Proxy support: Compatible with Apify proxy for reliable scraping
- 📈 Scalable: Handle hundreds of results efficiently
🚀 Quick Start
Input Parameters
{"searchTerms": ["restaurant", "café", "boulangerie"],"location": "Paris, France","maxCrawledPlacesPerSearch": 50,"language": "fr","includeDetails": true,"proxyConfiguration": {"useApifyProxy": true}}
Basic Usage
- Simple restaurant search:
{"searchTerms": ["restaurant"],"location": "Lyon, France","maxCrawledPlacesPerSearch": 20}
- Multi-category business search with details:
{"searchTerms": ["dentist", "pharmacy", "bakery"],"location": "Marseille, France","maxCrawledPlacesPerSearch": 30,"includeDetails": true,"language": "fr"}
- Fast bulk scraping (no phone/website):
{"searchTerms": ["hotel", "restaurant", "shop"],"location": "Nice, France","maxCrawledPlacesPerSearch": 100,"includeDetails": false}
📋 Input Parameters
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
searchTerms | Array[String] | ✅ | ["restaurant"] | List of search terms (e.g., "restaurant", "hotel", "pharmacy") |
location | String | ✅ | "Paris" | Target location (city, region, country) |
maxCrawledPlacesPerSearch | Number | ❌ | 20 | Maximum results per search term |
language | String | ❌ | "fr" | Language code (fr, en, es, de, it, etc.) |
includeDetails | Boolean | ❌ | false | Collect phone numbers and websites (slower but more complete) |
proxyConfiguration | Object | ❌ | null | Proxy settings for reliable scraping |
🔧 Parameter Details
searchTerms
: Can include business types, services, or specific nameslocation
: Be specific for better results (e.g., "Paris 15ème" vs "Paris")includeDetails
:false
: Fast scraping, basic info onlytrue
: Complete data with phone & website (2-3x slower)
language
: Affects Google Maps interface language and result formatting
📊 Output Data Structure
Each scraped place contains:
{"Place name": "Le Petit Bistrot","Total Score": 4.5,"Reviews Count": 123,"Street": "15 Rue de la Paix","City": "Paris","Country Code": "FR","Website": "https://lepetitbistrot.fr","Phone": "+33 1 42 86 17 20","Category Name": "Restaurant français","URL": "https://www.google.com/maps/place/...","Place ID": "ChIJN1t_tDeuEmsRUsoyG83frY4","Search Term": "restaurant","Address": "15 Rue de la Paix, 75002 Paris"}
📈 Data Quality
- Place ID: 95%+ success rate (unique Google identifier)
- Basic info: 99%+ (name, address, rating, category)
- Phone numbers: 60-80% when
includeDetails: true
- Websites: 40-60% when
includeDetails: true
🛠️ Advanced Usage
API Integration
// Using Apify APIconst { ApifyApi } = require('apify-client');const client = new ApifyApi({token: 'YOUR_API_TOKEN'});const input = {searchTerms: ['restaurant', 'café'],location: 'Toulouse, France',maxCrawledPlacesPerSearch: 50,includeDetails: true,language: 'fr'};const run = await client.actor('your-actor-id').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();
Bulk Processing
For large-scale scraping:
- Set
includeDetails: false
for initial data collection - Use extracted
Place ID
for detailed information via Google Places API - Process multiple locations in parallel runs
🎯 Best Practices
Performance Optimization
- Fast mode: Use
includeDetails: false
for quick data collection - Batch processing: Group similar search terms together
- Location specificity: Use precise locations for better targeting
Rate Limiting
- Built-in delays between requests
- Automatic retry mechanism
- Proxy rotation support
Data Quality
- Duplicate detection by business name
- Address standardization
- Rating and review count validation
🔍 Use Cases
🏢 Business Intelligence
- Market research and competitor analysis
- Local business directory creation
- Lead generation for B2B services
📊 Data Analysis
- Restaurant rating analysis by location
- Business density mapping
- Market penetration studies
🎯 Marketing
- Local SEO competitor research
- Advertising target identification
- Market opportunity assessment
📁 Output Formats
Dataset Items
Each result is pushed to Apify dataset as JSON object
Excel Export
- Automatic Excel file generation (
results.xlsx
) - Organized columns with proper formatting
- Ready for analysis in spreadsheet software
CSV Export
- Available through Apify platform
- Compatible with most data analysis tools
⚡ Performance Metrics
Metric | Value |
---|---|
Speed (basic) | ~50-100 places/minute |
Speed (detailed) | ~20-30 places/minute |
Success Rate | 95%+ |
Memory Usage | ~200MB average |
Timeout | 30 minutes max |
🛡️ Reliability Features
- Smart scrolling: Stops when no new results are found
- Error handling: Continues on individual place failures
- Browser management: Automatic restart on crashes
- Proxy support: Reduces blocking and improves reliability
🌍 Global Coverage
Works worldwide with local Google Maps versions:
- 🇫🇷 France (google.fr)
- 🇺🇸 United States (google.com)
- 🇬🇧 United Kingdom (google.co.uk)
- 🇩🇪 Germany (google.de)
- 🇪🇸 Spain (google.es)
- 🇮🇹 Italy (google.it)
- And 190+ other countries
🔧 Technical Details
Built With
- Playwright: Modern browser automation
- Apify SDK: Scalable web scraping platform
- Pandas: Data processing and Excel export
- Smart algorithms: Intelligent result detection
Browser Configuration
- Stealth mode to avoid detection
- Optimized for Google Maps
- Mobile and desktop compatibility
- Custom headers and user agents
📞 Support & Updates
- 🐛 Bug reports: Use GitHub issues or Apify support
- 🔄 Updates: Regular improvements and new features
- 📚 Documentation: Always up-to-date with latest changes
- 💬 Community: Active support in Apify Discord
- 📬 Contact: franck.friard@backboneagency.fr
📄 License & Fair Use
This scraper is designed for legitimate business intelligence and research purposes. Please:
- Respect robots.txt and terms of service
- Use reasonable request rates
- Consider Google Places API for commercial applications
- Ensure compliance with local data protection laws
Made with ❤️ for the Apify community
Ready to start scraping? Click "Try for FREE" above! 🚀
On this page
Share Actor: