Google Maps Business Lead Scraper avatar

Google Maps Business Lead Scraper

Pricing

Pay per usage

Go to Apify Store
Google Maps Business Lead Scraper

Google Maps Business Lead Scraper

Extract targeted business leads from Google Maps using keyword and location. Get names, phone numbers, addresses, ratings, and full place data using Google Places API. Ideal for lead generation, outreach, and market research.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Muhammad Asad

Muhammad Asad

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Share

Google Maps Scraper

Extract detailed business information from Google Maps using the Google Places API. Get names, ratings, contact details, addresses, coordinates, and more for any business type in any location.

What does Google Maps Scraper do?

This actor searches for businesses on Google Maps and extracts comprehensive information including:

  • Business Details: Name, address, phone number, website
  • Ratings & Reviews: Star rating and number of reviews
  • Location Data: Latitude, longitude, and Google Maps URL
  • Full API Response: Complete raw data from Google Places API for custom processing

Perfect for market research, competitor analysis, lead generation, or building business directories. The actor handles rate limiting, retries, and errors automatically.

Try it now on Apify Store

Why use Google Maps Scraper?

  • Automated Data Collection - Extract hundreds of businesses without manual work
  • Structured Output - Get clean, validated JSON data ready for analysis
  • Reliable - Automatic retries and error handling ensure consistent results
  • Cost-Effective - Run on Apify's cloud or your own infrastructure
  • Flexible Exports - Download as JSON, CSV, Excel, or access via API
  • Scheduling - Set up recurring scrapes on a schedule
  • Integrations - Connect to Zapier, Make, Google Sheets, and more

How to use Google Maps Scraper

When you run this actor on Apify platform, an interactive web interface automatically opens. This is the easiest way to use the actor:

  1. Visit the Actor's Live View

    • On the Apify Console, find the "Container URL" in the run details
    • Or click the "Live View" button if available
  2. Fill in the Web Form

    • Paste your Google Places API key
    • Enter search terms (one per line, e.g., "pizza restaurants")
    • Enter cities (one per line, e.g., "New York")
    • Adjust optional settings if needed
  3. Start Scraping

    • Click the "πŸš€ Start Scraping" button
    • Watch the progress in real-time
  4. Preview Results

    • View results in the web UI in two formats:
      • Overview Tab: Business name, address, phone, ratings
      • Details Tab: Full information including coordinates
    • See statistics (average rating, review count, etc.)
  5. Download Data

    • Download as JSON, CSV, or Excel
    • Or access via Apify API

Option 2: Standard Input Form

Alternatively, you can provide input through the standard Apify input form:

  1. Get a Google Places API Key

    • Go to Google Cloud Console
    • Create a new project
    • Enable the Places API
    • Create an API key credential
    • Keep this key safe!
  2. Set Up the Actor

    • Visit the actor page on Apify Store
    • Click "Try for free"
    • Paste your API key in the input form
  3. Configure Your Search

    • Enter search terms (e.g., "pizza restaurants", "fitness centers")
    • Enter cities to search in (e.g., "New York", "London", "Tokyo")
    • Set maximum results per query (1-500)
    • Click Start
  4. Download Results

    • Wait for the actor to complete
    • Download data as JSON, CSV, Excel, or HTML
    • View results in the Output tab or access via API

Input

The actor accepts the following input configuration:

{
"api_key": "YOUR_GOOGLE_PLACES_API_KEY",
"search_terms": ["pizza restaurants", "coffee shops"],
"cities": ["New York", "London"],
"max_results": 100,
"max_retries": 3,
"delay_between_requests": 200
}

Input Fields

FieldTypeRequiredDefaultDescription
api_keystringβœ… Yes-Google Places API key (kept secret)
search_termsarrayβœ… Yes-Business types or keywords to search
citiesarrayβœ… Yes-Cities to search in
max_resultsinteger❌ No50Max results per query (1-500)
max_retriesinteger❌ No3Retries for failed requests (0-10)
delay_between_requestsinteger❌ No200Delay in ms between requests

Output

The actor pushes structured data to the Output dataset. Each item represents one business:

{
"place_id": "ChIJrRq5sKVQwokRx75nURMBFQE",
"name": "Pizza Palace",
"address": "123 Main St, New York, NY 10001, USA",
"phone": "+1 (212) 555-0123",
"rating": 4.5,
"reviews": 287,
"lat": 40.7128,
"lng": -74.0060,
"maps_url": "https://maps.google.com/?cid=...",
"raw": {
"displayName": {...},
"formattedAddress": "...",
"location": {...},
...
}
}

Data Table

FieldTypeDescription
place_idstringUnique Google Places ID
namestringBusiness name
addressstringFull formatted address
phonestringPhone number
ratingnumberGoogle rating (0-5 stars)
reviewsintegerNumber of reviews
latnumberLatitude coordinate
lngnumberLongitude coordinate
maps_urlstringLink to Google Maps
rawobjectComplete API response

Download formats: JSON, CSV, Excel, HTML, or access via Apify API

Web UI Features

The interactive web interface provides a user-friendly experience for running searches:

🎨 Interface Highlights

  • Beautiful Gradient UI - Modern, responsive design that works on desktop and mobile
  • Real-Time Search - Watch results populate as the actor scrapes
  • Live Statistics - View average ratings, review counts, and data quality
  • Two Data Views:
    • Overview Tab: Clean summary of key business information
    • Details Tab: Complete data including coordinates for mapping
  • Multiple Export Formats:
    • πŸ“₯ JSON - Raw data for APIs and databases
    • πŸ“Š CSV - Open in Excel or Google Sheets
    • πŸ“ˆ Excel - Professional spreadsheet format
  • Form Validation - Helpful error messages guide you through setup
  • Input History - Form remembers your recent values
  • Responsive Design - Works perfectly on phones, tablets, and desktops

✨ What You Can Do

  1. Paste API Key Securely - Marked as password field, never exposed in logs
  2. Add Multiple Search Terms - One per line, e.g.:
    pizza restaurants
    coffee shops
    fitness centers
  3. Search Multiple Cities - One per line, e.g.:
    New York
    London
    Tokyo
  4. Fine-Tune Settings:
    • Max results (1-500)
    • Retry attempts for failed requests
    • Delay between requests to avoid rate limits
  5. Preview Before Download - See all data in the web UI before exporting
  6. Download in Multiple Formats - JSON, CSV, or Excel with one click

Pricing / Cost Estimation

The actor uses the Google Places API, which has its own pricing. Apify compute costs depend on runtime:

  • Free Tier (Apify): Limited runs at no cost
  • Paid Plan (Apify): $0.25 per compute unit (~1 hour of runtime)

Each search query takes ~2-5 seconds, so a 100-result search costs roughly $0.01-0.05 in Apify fees (plus Google API costs).

Cost Optimization:

  • Increase delay_between_requests to avoid rate limits and reduce costs
  • Use specific search terms (more targeted = fewer results to fetch)
  • Limit max_results to what you actually need
  • Schedule scrapes during off-peak hours

Tips & Advanced Options

Optimize Search Performance

  • Use specific terms: "Italian pizza restaurants" finds fewer results than "pizza"
  • Search by location: Searching in specific cities is cheaper than broad searches
  • Adjust delays: If you get rate-limit errors, increase delay_between_requests
  • Batch searches: Run multiple small searches instead of one large search

Handling Errors

  • API Key Invalid: Check your Google Cloud Console credentials
  • Rate Limited: Increase delays or split searches into smaller batches
  • Missing Data: Some fields may be null if not available on Google Maps

Full Response Access

The raw field contains the complete Google Places API response. Extract additional data:

# Access extended info from raw response
website = item['raw'].get('websiteUri')
opening_hours = item['raw'].get('currentOpeningHours')
photos = item['raw'].get('photos')

FAQ & Support

Q: Can I use this to scrape without Google Places API? A: No, this actor requires a valid Google Places API key. Google Maps data is copyrighted and requires proper API access.

Q: Is scraping Google Maps legal? A: Using the official Google Places API is fully legal and compliant with Google's Terms of Service. This actor does not violate any terms.

Q: Why aren't I getting results? A: Check that:

  • Your API key is valid and the Places API is enabled
  • Your search terms match businesses on Google Maps
  • The cities are spelled correctly
  • Your API key has quota remaining

Q: Can I schedule recurring scrapes? A: Yes! On Apify platform, use the Scheduler tab to run this actor on a schedule (hourly, daily, weekly, etc.).

Q: How can I export the data? A: Download as JSON, CSV, or Excel from the Output tab, or access via Apify API.

Have issues or need custom modifications? Open an issue on the GitHub repository or contact Apify support.

Disclaimer

  • This actor is for legitimate business purposes (market research, lead generation, etc.)
  • Respect Google's Terms of Service
  • Do not use for spam, fraud, or automated commercial purposes that violate Google's terms
  • API key is kept secret and never logged or transmitted outside your run

More Actors: Check out other data scrapers and automation tools on Apify Store

```bash
apify login
```

2. Deploy your Actor. This command will deploy and build the Actor on the Apify Platform. You can find your newly created Actor under Actors -> My Actors.

```bash
apify push
```

Documentation reference

To learn more about Apify and Actors, take a look at the following resources: