Google Maps Business Scraper
Pricing
from $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
from $120.00 / 1,000 pay per business extracteds
Rating
0.0
(0)
Developer
CodePoetry
Actor stats
0
Bookmarked
15
Total users
1
Monthly active users
14 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.