Google Maps Business Scraper
Pricing
$120.00 / 1,000 pay per business extracteds
Google Maps Business Scraper
Extract business data from Google Maps: phone numbers, emails, addresses, ratings, reviews & GPS coordinates. Perfect for lead generation, market research & local SEO. Fast & reliable with 98%+ success rate.
Pricing
$120.00 / 1,000 pay per business extracteds
Rating
0.0
(0)
Developer

CodePoetry
Actor stats
0
Bookmarked
6
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
🗺️ Google Maps Business Scraper
Extract business data from Google Maps including names, addresses, phone numbers, websites, ratings, reviews, and more. Perfect for lead generation, market research, and local SEO.
📋 Before You Start
You'll need:
- ✅ An Apify account (sign up free at apify.com)
- ✅ $5 free credit included for new users = ~33 businesses free to test!
- ✅ No coding skills required - just fill in a form and click run
🚀 Quick Start (3 Steps)
Step 1: Enter Your Search
In the Input tab, you'll see a form. Fill it like this:
{"searchQueries": ["dentists in Los Angeles"], ← Type your search here"maxResults": 50 ← How many results you want}
Good search examples:
"dentists in Los Angeles"✅"coffee shops in Brooklyn"✅"Italian restaurants in Chicago"✅"plumbers near Miami"✅
💡 Tip: Always include a location (city/neighborhood) for best results!
Step 2: Set How Many Results
Choose how many businesses you want per search (we recommend starting with 20-50 for testing).
Step 3: Click "Start"
That's it! The scraper will run and save all data automatically. When done, click "Export" to download your data.
✅ How to Know It's Working
While the actor runs, you'll see:
- ✅ Green "Running" status at the top
- 🔍 Log messages like:
"✅ Initialized scraper""🔍 Processing search: dentists in Los Angeles""📊 Found 47 businesses""⚡ Extracted: Dr. Smith's Dental Office"
- 📈 Progress updates showing how many businesses found
- 💾 Dataset growing - Click "Dataset" tab to see results in real-time
If you see these, everything is working perfectly!
⏱️ Time estimates:
- 50 businesses = ~2 minutes
- 100 businesses = ~4 minutes
- 500 businesses = ~20 minutes
- 1,000 businesses = ~35 minutes
📊 What Data Will You Get?
Every business includes these details:
| Data Field | Example | Notes |
|---|---|---|
| Name | "Blue Bottle Coffee" | Business name |
| Category | "Coffee shop" | Type of business |
| Address | "66 Mint St, San Francisco, CA" | Full street address |
| Phone | "+1 415-495-3394" | Contact number (if available) |
| Website | "https://bluebottlecoffee.com" | Website URL (if available) |
| Rating | 4.5 | Average customer rating (1-5 stars) |
| Reviews Count | 1,847 | Total number of reviews |
| Latitude | 37.7825 | GPS coordinate |
| Longitude | -122.4077 | GPS coordinate |
| Hours | "Open ⋅ Closes 6 PM" | Business hours |
| Images | [URLs] | Up to 5 photos (optional) |
| Reviews | ["Great coffee!"] | Customer reviews (optional) |
⚠️ Note: Not all businesses have phone numbers or websites on Google Maps - this is normal!
⚙️ Configuration (Simple Setup)
Most users only need to change the first two settings!
| Setting | What It Does | Recommended Value | Notes |
|---|---|---|---|
| searchQueries | What to search for | ["dentists in Miami"] | Always include city/location |
| maxResults | How many per search | 20-50 for testing, 100+ for real use | Max: 500 |
| includeReviews | Get customer reviews | false | Set true only if needed (50% slower) |
| includeImages | Get business photos | true | Recommended |
| language | Search language | "en" | Options: en, es, fr, de, it, pt, ja, zh |
Example Configuration
Simple (most common):
{"searchQueries": ["coffee shops in San Francisco"],"maxResults": 50}
Multiple cities:
{"searchQueries": ["dentists in New York","dentists in Los Angeles","dentists in Chicago"],"maxResults": 100}
With reviews:
{"searchQueries": ["Italian restaurants in Manhattan"],"maxResults": 30,"includeReviews": true}
Full Configuration Example
{"searchQueries": ["coffee shops in San Francisco","dentists in Los Angeles","Italian restaurants in Manhattan"],"maxResults": 50,"includeReviews": false,"includeImages": true,"language": "en"}
💡 Copy this example, paste it in the Input tab, and change the search queries to what you need!
📥 How to Get Your Data
After the scraper finishes:
- Click the "Dataset" tab - See all extracted businesses in a table
- Click "Export" - Choose your format:
- CSV - Opens in Excel or Google Sheets ✅ Recommended for most users
- JSON - For developers or API integration
- Excel - Pre-formatted spreadsheet
- Download - Your data is ready to use!
What Each Format is Best For:
| Format | Best For | Use When |
|---|---|---|
| CSV | Spreadsheets, CRM imports | You want to open in Excel/Sheets |
| JSON | Programming, automation | You're a developer or using APIs |
| Excel | Professional reports | You need formatted spreadsheets |
📋 Example Output
Here's what one business looks like in your data:
{"name": "Blue Bottle Coffee","category": "Coffee shop","address": "66 Mint St, San Francisco, CA 94103","phone": "+1 415-495-3394","website": "https://bluebottlecoffee.com","rating": 4.5,"reviewsCount": 1847,"latitude": 37.7825,"longitude": -122.4077,"hours": "Open ⋅ Closes 6 PM"}
✅ Tips for Best Results
Good Search Examples:
- ✅
"Italian restaurants in Manhattan"- Specific type + location - ✅
"dentists near 90210"- Type + zip code - ✅
"coffee shops in Brooklyn"- Type + neighborhood - ✅
"plumbers in Austin Texas"- Type + city + state
Avoid These:
- ❌
"restaurants"- Too generic, no location - ❌
"Joe's Pizza"- Too specific, only finds 1 business - ❌
"food"- Too broad, mixed results
Pro Tips:
- Start small: Test with 10-20 results first to verify the data looks good
- Be specific: Include business type + city/neighborhood
- Use quotes: Put searches in quotes for exact matching
- Multiple cities: Make separate searches for each city for better results
🆘 Common Questions
Q: Why don't some businesses have phone numbers?
A: Not all businesses add their phone to Google Maps. This is normal and not a scraper issue.
Q: How long does it take?
A: About 2 seconds per business. Examples:
- 50 businesses = ~2 minutes
- 100 businesses = ~4 minutes
- 1,000 businesses = ~35 minutes
Q: Can I scrape multiple cities?
A: Yes! Just add multiple searches:
{"searchQueries": ["dentists in New York","dentists in Los Angeles","dentists in Chicago"]}
Q: What if no results are found?
A: Check:
- Is your search query spelled correctly?
- Does this type of business exist in that location?
- Try a broader search (e.g., "restaurants" instead of "Italian restaurants")
- Remove quotes if you used them in the query
- Test the same search on Google Maps directly
🔧 Troubleshooting Guide
Problem: Actor Failed or Stopped
Quick fixes:
- ✅ Check your search works on Google Maps first
- ✅ Try reducing
maxResultsto 10 for testing - ✅ Make sure you included a location: "dentists in Miami" not just "dentists"
- ✅ Avoid special characters in search queries
- ✅ Check the Log tab for specific error messages
Problem: No Phone Numbers or Websites
This is normal! Not all businesses list this info on Google Maps.
What to expect:
- 60-80% will have phone numbers
- 40-70% will have websites
- 98%+ will have: name, address, category, rating, GPS
Tip: Restaurants and retail stores usually have more complete info than offices or services.
Problem: Taking Too Long
Solutions:
- Reduce
maxResults- Start with 50 instead of 500 - Turn off reviews - Set
"includeReviews": false - Reduce
maxConcurrencyto 3 (if you added this setting) - Split large jobs - Run multiple smaller searches instead of one huge one
Problem: Data Looks Incomplete
Check these:
- Look at the Dataset tab - Is data actually there?
- Click Export → CSV and open in Excel - Sometimes the preview looks different
- Check if businesses have this data on Google Maps directly
- Very new businesses often have less information
Still Having Issues?
Before contacting support:
- Copy the error message from the Log tab
- Note your exact search query
- Mention how many results you tried to get
- Share a screenshot if possible
Q: Can I get customer reviews?
A: Yes! Set "includeReviews": true in the configuration. Note: This makes scraping slower.
Q: How much does it cost?
A: Simple and transparent pricing: $0.15 per business extracted (minimum $2.00 per run)
| Businesses | Total Cost |
|---|---|
| 50 | $7.50 |
| 100 | $15.00 |
| 500 | $75.00 |
| 1,000 | $150.00 |
| 5,000 | $750.00 |
| 10,000 | $1,500.00 |
💡 New users get $5 free credit = ~33 businesses FREE to test!
No hidden fees. No monthly subscriptions. Pay only for what you extract.
💼 Common Use Cases
1. Lead Generation
- Extract phone numbers and websites for sales outreach
- Build targeted contact lists by industry and location
- Example: Find all dentists in California with their contact info
2. Market Research
- See how many competitors exist in each area
- Analyze average ratings and review counts
- Identify underserved markets
3. Local SEO
- Build citation lists with business names, addresses, and phone numbers
- Get GPS coordinates for mapping
- Track local search rankings
4. Sales Prospecting
- Create targeted lists of potential customers
- Find businesses in specific industries and locations
- Export to your CRM for outreach
5. Real Estate Analysis
- Evaluate commercial areas by business types and density
- Check foot traffic indicators (review counts)
- Compare different neighborhoods
🔧 Advanced Features (For Developers)
Apify API Integration
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('YOUR_ACTOR_ID').call({searchQueries: ['restaurants in Miami'],maxResults: 100});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Schedule Automatic Scraping
- Go to your actor page on Apify
- Click "Schedule"
- Set frequency (daily, weekly, monthly)
- Get fresh data automatically!
⚠️ Limitations & Important Notes
What to expect:
- ✅ 98%+ of businesses will have: name, address, category, rating, GPS coordinates
- ⚠️ 60-80% will have: phone numbers
- ⚠️ 40-70% will have: websites
- ⚠️ Not every business shares all info on Google Maps
Performance notes:
- Adding reviews increases scraping time by ~50%
- Very generic searches may return mixed categories
- Some locations may have fewer businesses than expected
This is normal! Google Maps data varies by business and location.
📞 Need Help?
Step 1: Try These First (90% of issues solved)
- Read the FAQ above - Common questions answered
- Check the Troubleshooting Guide - Quick fixes for common problems
- Look at the Log tab - See exactly what happened
- Test with simple query - Try
"coffee shops in New York"withmaxResults: 10
Step 2: Get Support
Fastest response:
- 💬 Apify Support Chat - Bottom right of Apify Console (instant help)
- 📧 Email: berkachfatah@gmail.com (reply within 24 hours)
When contacting support, include:
- Your search query (what you searched for)
- Error message from Log tab (if any)
- Screenshot of the issue
- How many results you tried to get
Example good support request:
"Hi, I searched for 'dentists in Miami' with maxResults: 100, but got error 'No results found'. The same search works on Google Maps. See attached screenshot. Can you help?"
Step 3: Check Known Issues
Current known limitations:
- Some businesses don't list phones/websites (not a bug)
- Very generic searches may timeout - be more specific
- Reviews make scraping 50% slower - turn off if not needed
📄 License
This project is licensed under Apache-2.0. Free to use for personal and commercial projects.