Google Maps Business Lead Scraper
Pricing
Pay per usage
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
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
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.
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
Option 1: Interactive Web UI (Recommended)
When you run this actor on Apify platform, an interactive web interface automatically opens. This is the easiest way to use the actor:
-
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
-
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
-
Start Scraping
- Click the "π Start Scraping" button
- Watch the progress in real-time
-
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.)
- View results in the web UI in two formats:
-
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:
-
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!
-
Set Up the Actor
- Visit the actor page on Apify Store
- Click "Try for free"
- Paste your API key in the input form
-
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
-
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
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
api_key | string | β Yes | - | Google Places API key (kept secret) |
search_terms | array | β Yes | - | Business types or keywords to search |
cities | array | β Yes | - | Cities to search in |
max_results | integer | β No | 50 | Max results per query (1-500) |
max_retries | integer | β No | 3 | Retries for failed requests (0-10) |
delay_between_requests | integer | β No | 200 | Delay 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
| Field | Type | Description |
|---|---|---|
place_id | string | Unique Google Places ID |
name | string | Business name |
address | string | Full formatted address |
phone | string | Phone number |
rating | number | Google rating (0-5 stars) |
reviews | integer | Number of reviews |
lat | number | Latitude coordinate |
lng | number | Longitude coordinate |
maps_url | string | Link to Google Maps |
raw | object | Complete 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
- Paste API Key Securely - Marked as password field, never exposed in logs
- Add Multiple Search Terms - One per line, e.g.:
pizza restaurantscoffee shopsfitness centers
- Search Multiple Cities - One per line, e.g.:
New YorkLondonTokyo
- Fine-Tune Settings:
- Max results (1-500)
- Retry attempts for failed requests
- Delay between requests to avoid rate limits
- Preview Before Download - See all data in the web UI before exporting
- 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_requeststo avoid rate limits and reduce costs - Use specific search terms (more targeted = fewer results to fetch)
- Limit
max_resultsto 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 responsewebsite = 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
```bashapify 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.
```bashapify push```
Documentation reference
To learn more about Apify and Actors, take a look at the following resources: