Google Maps Business Scraper avatar
Google Maps Business Scraper
Under maintenance

Pricing

$120.00 / 1,000 pay per business extracteds

Go to Apify Store
Google Maps Business Scraper

Google Maps Business Scraper

Under maintenance

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

CodePoetry

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

2

Monthly active users

4 days ago

Last modified

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)

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 FieldExampleNotes
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)
Rating4.5Average customer rating (1-5 stars)
Reviews Count1,847Total number of reviews
Latitude37.7825GPS coordinate
Longitude-122.4077GPS 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!

SettingWhat It DoesRecommended ValueNotes
searchQueriesWhat to search for["dentists in Miami"]Always include city/location
maxResultsHow many per search20-50 for testing, 100+ for real useMax: 500
includeReviewsGet customer reviewsfalseSet true only if needed (50% slower)
includeImagesGet business photostrueRecommended
languageSearch 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:

  1. Click the "Dataset" tab - See all extracted businesses in a table
  2. 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
  3. Download - Your data is ready to use!

What Each Format is Best For:

FormatBest ForUse When
CSVSpreadsheets, CRM importsYou want to open in Excel/Sheets
JSONProgramming, automationYou're a developer or using APIs
ExcelProfessional reportsYou 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:

  1. Start small: Test with 10-20 results first to verify the data looks good
  2. Be specific: Include business type + city/neighborhood
  3. Use quotes: Put searches in quotes for exact matching
  4. 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:

  1. Is your search query spelled correctly?
  2. Does this type of business exist in that location?
  3. Try a broader search (e.g., "restaurants" instead of "Italian restaurants")
  4. Remove quotes if you used them in the query
  5. Test the same search on Google Maps directly

🔧 Troubleshooting Guide

Problem: Actor Failed or Stopped

Quick fixes:

  1. ✅ Check your search works on Google Maps first
  2. ✅ Try reducing maxResults to 10 for testing
  3. ✅ Make sure you included a location: "dentists in Miami" not just "dentists"
  4. ✅ Avoid special characters in search queries
  5. ✅ 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:

  1. Reduce maxResults - Start with 50 instead of 500
  2. Turn off reviews - Set "includeReviews": false
  3. Reduce maxConcurrency to 3 (if you added this setting)
  4. Split large jobs - Run multiple smaller searches instead of one huge one

Problem: Data Looks Incomplete

Check these:

  1. Look at the Dataset tab - Is data actually there?
  2. Click Export → CSV and open in Excel - Sometimes the preview looks different
  3. Check if businesses have this data on Google Maps directly
  4. Very new businesses often have less information

Still Having Issues?

Before contacting support:

  1. Copy the error message from the Log tab
  2. Note your exact search query
  3. Mention how many results you tried to get
  4. 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)

BusinessesTotal 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

  1. Go to your actor page on Apify
  2. Click "Schedule"
  3. Set frequency (daily, weekly, monthly)
  4. 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)

  1. Read the FAQ above - Common questions answered
  2. Check the Troubleshooting Guide - Quick fixes for common problems
  3. Look at the Log tab - See exactly what happened
  4. Test with simple query - Try "coffee shops in New York" with maxResults: 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:

  1. Your search query (what you searched for)
  2. Error message from Log tab (if any)
  3. Screenshot of the issue
  4. 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.