Google Maps Scraper | Apify Actor for Extracting Business Data
Pricing
Pay per event
Google Maps Scraper | Apify Actor for Extracting Business Data
Effortlessly Scrape Google Maps for business listings, including name, phone, address, website, ratings, reviews, hours, and photos. Ideal for lead generation, local SEO, and market research. No coding required. Supports geolocation, pagination, and multilingual searches.
5.0 (1)
Pricing
Pay per event
0
6
4
Last modified
a day ago
Google Maps Scraper – Apify Actor for Extracting Business Listings, Phone Numbers, Addresses, and Reviews
Effortlessly scrape Google Maps to extract comprehensive business data, including names, phone numbers, websites, full addresses, ratings, review counts, working hours, photos, and more. This powerful Google Maps data extractor serves as an ideal Google Places scraper alternative, enabling seamless data collection for lead generation from Google Maps, local SEO tools, market research, and competitor analysis. No need for complex setups – just input your search query and get structured results in JSON format.
Whether you're building business directories, analyzing local markets, or generating leads, this Google Maps scraper simplifies the process of extracting phone numbers from Google Maps, scraping Google Maps reviews overview, and gathering location-specific insights. Optimized for accuracy and efficiency, it's designed to handle various search parameters like geolocation, pagination, and multilingual queries.
Table of Contents
- Overview
- Key Features
- Use Cases
- Input Parameters
- Output Schema
- Examples
- Pricing & Monetization
- Changelog
Overview
In today's data-driven world, accessing accurate and up-to-date business information from Google Maps is essential for businesses, marketers, and researchers. This Google Maps scraper Apify Actor empowers you to scrape Google Maps efficiently by querying for specific terms like "restaurants in London" or "dentists near me," and retrieving detailed listings without the hassle of manual searches or official API restrictions.
As a robust business listings scraper, it focuses on extracting key details such as contact information, location data, customer feedback metrics, and operational hours. This makes it an invaluable local SEO tool for optimizing online presence or conducting in-depth market analysis. The actor processes searches across countries and languages, supporting geocentric queries with latitude, longitude, and zoom levels for precise results.
By leveraging advanced search capabilities, you can paginate through results using offset and limit parameters, ensuring you capture as much data as needed – up to 500 entries per run. Whether you're a small business owner seeking leads or a data analyst building datasets, this Google Places scraper delivers clean, structured output ready for integration into your workflows, spreadsheets, or databases.
For those wondering how to scrape Google Maps for business data, this actor provides a straightforward solution that bypasses common challenges like rate limits or authentication issues, delivering reliable results every time.
Key Features
This Google Maps data extractor is packed with features to make scraping Google Maps as effective and user-friendly as possible. Here's what sets it apart:
-
Flexible Search Queries: Enter any keyword or phrase, such as "coffee shops" or "auto repair services," to scrape Google Maps for relevant businesses. Combine with country codes (e.g., "us," "uk," "fr") and language preferences (e.g., "en," "de," "es") for global coverage.
-
Geolocation Precision: Specify latitude (lat), longitude (lng), and zoom levels to center your search on specific areas, ideal for hyper-local data extraction like "gyms in downtown Manhattan."
-
Pagination and Limits: Control the volume of data with 'limit' (up to 500 results) and 'offset' parameters, allowing you to extract addresses and hours from Google Maps in batches for large-scale scraping.
-
Comprehensive Data Fields: Pull a wide array of details, including business names, websites, phone numbers, full addresses (with parsed arrays), ratings, review counts, timezones, place IDs, links, types (e.g., "restaurant," "store"), working hours schedules, cities, states, claimed/verified status, and photo URLs.
-
Multilingual and International Support: Seamlessly scrape Google Maps in any language or country, making it perfect for international market research or cross-border lead generation.
These features make this actor a top choice for anyone needing a reliable Google Maps scraper to fuel data-intensive projects.
Use Cases
Unlock the full potential of scraping Google Maps with these practical applications. This business listings scraper is versatile, catering to various industries and needs:
| Use Case | Description | Benefits |
|---|---|---|
| Lead Generation from Google Maps | Extract phone numbers from Google Maps and websites for targeted outreach to local businesses like plumbers, salons, or retailers. | Build high-quality lead lists quickly, saving hours of manual research and improving sales conversion rates. |
| Local SEO Optimization | Use as a local SEO tool to scrape Google Maps reviews, ratings, and competitor details to identify ranking opportunities. | Gain insights into what boosts visibility on Google Maps, such as verified listings or high review counts, to refine your SEO strategies. |
| Market Research and Analysis | Gather data on business types, locations, and hours to study market trends, like the density of cafes in urban areas. | Make data-backed decisions for expansion, investment, or competitive benchmarking with comprehensive datasets. |
| Business Directory Creation | Scrape Google Maps to populate custom directories or apps with verified addresses, photos, and contact info. | Create valuable resources for users, such as niche directories for vegan restaurants or electric vehicle charging stations. |
| Competitor Monitoring | Track changes in working hours, ratings, or claimed status for businesses in your niche. | Stay ahead by monitoring shifts in the competitive landscape, enabling proactive adjustments to your business model. |
| Real Estate and Location Intelligence | Extract full addresses, cities, and states tied to specific queries like "apartments for sale." | Support property analysis or site selection with location-based data, enhancing decision-making in real estate. |
These use cases demonstrate how this Google Places scraper can transform raw Google Maps data into actionable insights.
Input Parameters
Configure your Google Maps scraper run easily through the Apify console or API. The input is a simple JSON object, with 'query' as the only required field. Defaults ensure quick starts, but customization unlocks advanced scraping.
| Field | Type | Default | Description | Example |
|---|---|---|---|---|
| query | string | "pizza" | The primary search term or phrase to scrape Google Maps. Supports complex queries like "best Italian restaurants in Rome." | "electricians in Sydney" |
| limit | integer | 10 | Maximum number of results to fetch (1-500). Ideal for controlling dataset size in large-scale extractions. | 100 |
| country | string | "us" | Country code to localize the search (e.g., "ca" for Canada, "in" for India). | "gb" |
| lang | string | "en" | Language code for results (e.g., "fr" for French, "ja" for Japanese). | "es" |
| lat | number | (empty) | Latitude coordinate to center the search geographically. | 48.8584 |
| lng | number | (empty) | Longitude coordinate for precise location-based scraping. | 2.2945 |
| offset | integer | 0 | Number of results to skip for pagination, enabling sequential runs. | 50 |
| zoom | integer | 13 | Map zoom level to adjust search radius (higher values for tighter areas). | 16 |
Input JSON Example for Basic Search:
{"query": "coffee shops","limit": 20,"country": "us"}
Advanced Input JSON Example with Geolocation:
{"query": "hotels near Eiffel Tower","lat": 48.8584,"lng": 2.2945,"zoom": 15,"limit": 50,"offset": 0,"lang": "fr","country": "fr"}
These parameters make it easy to tailor your Google Maps data extractor to specific needs.
Output Schema
The actor outputs data to an Apify dataset, ensuring structured and exportable results. Each business listing is a JSON object with normalized fields, using defaults like "N/A" or 0 for missing values to maintain consistency.
Full Output Schema:
{"name": { "type": "string", "description": "Business name (e.g., 'Starbucks')" },"website": { "type": "string", "description": "Official website URL" },"phone_number": { "type": "string", "description": "Contact phone number" },"business_id": { "type": "string", "description": "Unique business identifier" },"full_address": { "type": "string", "description": "Complete address string" },"full_address_array": { "type": "array", "items": { "type": "string" }, "description": "Parsed address components" },"review_count": { "type": "integer", "description": "Number of reviews" },"rating": { "type": "number", "description": "Average rating (e.g., 4.3)" },"timezone": { "type": "string", "description": "Business timezone" },"place_id": { "type": "string", "description": "Google Place ID" },"place_link": { "type": "string", "description": "Direct link to Google Maps place" },"types": { "type": "array", "items": { "type": "string" }, "description": "Business categories (e.g., ['cafe', 'restaurant'])" },"working_hours": { "type": "object", "description": "Weekly schedule (e.g., { 'Monday': '9AM-5PM' })" },"city": { "type": "string", "description": "City name" },"is_claimed": { "type": "boolean", "description": "Whether the business is claimed" },"verified": { "type": "boolean", "description": "Verification status" },"photos": { "type": "array", "items": { "type": "object", "properties": { "src": { "type": "string" } } }, "description": "Array of photo URLs" },"state": { "type": "string", "description": "State or province" }}
Required fields for every record: name, phone_number, full_address, rating, review_count.
This schema ensures your scraped data is ready for analysis, making this a premier Google Maps scraper for professional use.
Examples
See the Google Maps data extractor in action with these real-world examples.
Example 1: Basic Local Search
Input:
{"query": "pizza restaurants","country": "us","limit": 10}
Output Sample (One Item):
{"name": "Joe's Pizza","website": "https://joespizza.com","phone_number": "+1 123-456-7890","full_address": "123 Main St, New York, NY 10001","full_address_array": ["123 Main St", "New York", "NY 10001"],"review_count": 450,"rating": 4.7,"working_hours": {"Monday": "11AM-10PM","Tuesday": "11AM-10PM"},"photos": [{ "src": "https://example.com/photo1.jpg" }]}
Example 2: Geolocation-Based Search
Input:
{"query": "dentists","lat": 37.7749,"lng": -122.4194,"zoom": 14,"limit": 20,"offset": 10}
Output Sample (One Item):
{"name": "Smile Dental Clinic","phone_number": "+1 415-123-4567","full_address": "456 Oak St, San Francisco, CA 94102","rating": 4.8,"review_count": 200,"types": ["dentist", "health"],"is_claimed": true,"place_link": "https://maps.google.com/?cid=123456789"}
Example 3: International Multilingual Search
Input:
{"query": "cafés","country": "fr","lang": "fr","limit": 15}
Output Sample (One Item):
{"name": "Café de Paris","website": "https://cafedeparis.fr","phone_number": "+33 1 23 45 67 89","full_address": "1 Rue de la Paix, 75002 Paris, France","rating": 4.2,"review_count": 300,"working_hours": {"Lundi": "8h-18h"}}
These examples illustrate how to scrape Google Maps for business data effectively.
Pricing
| Event Name | Title | Description | Price per Unit | Who It Applies To |
|---|---|---|---|---|
| apify-actor-start | Actor Start | Charged when the actor starts running (covers initial setup). | $0.00005 | All users (free/paid) |
| paid-users | Paid User | Charged per result for premium users accessing full data extraction. | $0.004 | Paid users only |
| free-users | Free User | Charged per result for basic access, with higher rate to encourage upgrades. | $0.008 | Free users only |
Changelog
- Version 1.0.0 (October 2025): Initial release with core scraping features, input validation, and output normalization.
- Version 1.1.0 (Future): Planned additions for enhanced filtering and batch processing.
Stay updated for improvements to this Google Maps scraper!

